SlideShare uma empresa Scribd logo
1 de 38
Нереляційні бази даних,
або NoSQL
План
● Історія
● А навіщо?
● Трохи теорії
● Типи NoSQL
● Де використати
Історія
2006 – Google BigTable
2007 – Amazon Dynamo
2008 – Facebook Cassandra
І почалось...
NoSQL?
Нереляційні бази даних
А до чого тут SQL?
NoREL – не звучить
З 2009 - розподілені бази даних
(Not only SQL)
А навіщо?
Чим погані реляційні бази даних
Чим поганий ACID
● Atomicity (Атомарність) - операції в окремій транзакції або
виконаються всі, або жодна;
● Consistency (Консистентність) - база даних буде в
узгодженому/цілісному стані до початку транзакції і після її завершення;
● Isolation (Ізоляція) - кожна операція виконується незалежно одна від
одної;
● Durability (Довговічність) - зроблені зміни залишаються в системі,
незалежно від зовнішніх факторів, аж до подальших змін.
ACID не масштабується
Майже не масштабується
Читання – додати кешування
Запис - ?????
● Вертикальне
● Горизонтальне
Вертикальне
Або купити комп “пакручє”
Але
● Або не стає грошей
● Або підсідаєш на конкретне “залізо”
Горизонтальне
Розпаралелити роботу/дані між
кількома машинами
Клієнти 0
Клієнти 1
Прод. 0Клієнти 0 Транзакції 0
Транзакції 1
Two phase commit
1. Приготоватись до транзакції
Two phase commit
2. Завершити транзакцію
Two phase commit
А якщо транзакція неможлива?
Або один з серверів не доступний?
Все відміняється (Consistency)
BASE
В 1997/99 рр. Ерік Брюер (Eric Brewer)
● Basically Available – переважно/завжди
доступна
● Soft-state – гнучка структура
● Eventually consystent – випадкова
консистентність, або консистентність при
певних умовах
BASE vs. ACID
ACID BASE
Сильна консистентність
Ізоляція
Консервативність/песимістичість
Складна еволюція
Доступність?
Слабка консистентність
(дозпускається застаріння
даних)
Доступність перш за все
Дозволяються приблизні відповіді
Агресивність/оптимістичність
Простіші
Швидші
Легша еволюція
Теорема CAP
В розподіленій системі не можливо добитись
одночасного виконання наступних умов:
консистентності (C), доступності (A), стійкості до
збоїв (P)
Теорема CAP
У 2002 році Сет Ґілберт (Seth Gilbert) та
Ненсі Лінч (Nancy Lynch) з MIT
формально/математично довели
правильність припущення Брюера.
Atomic Consistency
DNS!!
Типи NoSQL
● Tabular / Wide Column Store / Column Families
(Напівструктуровані)
● Key Value / Tuple Store (Ключ-Значення /
Ключ-Набір значень)
● Document Store (Документо-орієнтовані)
● Graph Databases (Граф-орієнтовані)
Напівструктуровані
● Google BigTablle
● Hbase
● Cassandra
● Hypertable
BigTable
Column oriented
ID Name Age Interests
1 Homer 40 Beer, food, sleep
2 Bart play
3 Kenny 9
ID Name
1 Homer
2 Bart
3 Kenny
ID Age
1 40
3 9
ID Interests
1 beer
1 food
1 sleep
2 play
BigTable
Невизначена кількість колонок
Homer.simpson@gamil.com Homer Simpson 1234567890
bart@gmail.com Bart
Сім'ї колонок (Column family)
Клітинка (cell)– перетин рядка і стовпця
Декілька версій (timestamp)
Id рядка, назва колонки, timestamp
BigTable
Послідовний запис (LogFile,Memtable)
Об'єднане читання (Merged read)
Фільтр Блума (Bloom filter)
SSTable
Періодичне ущільнення (compaction)
BigTable
MapReduce
Map
circle
circle
circle
square
circle
square
[circle, 3]
[square, 1]
[circle, 1]
[square, 1]
Reduce
[circle, 4]
[square, 2]
!!!!!
Google: “півсекундна затримка зменшує
трафік на 20%”
Apache Hadoop
Ключ-Значення (Key/Value)
● Berkeley DB
● MemcacheDB
● Membase
● Redis
● Amazon SimpleDB
● MicrosoftAzure
● Amazon Dynamo
● Cassandra
● Riak
● Project Voldemort
AmazonDynamo
AmazonDynamo
AmazonDynamo
AmazonDynamo
● Розподілені хеш-таблиці (DHT)
● Consistent hashing
● Versioning
● Vector clocks
● Quorum
● Anti-entropy based recovery (gossip)
● Hinted handoff
Революція
● Cassandra
● Riak
● Project Voldemort
Ті хто слідує дизайну Amazon Dynamo та інші
!!!!!!
Amazon: “затримка на 1/10 секунди коштує 1%
продаж.”
Amazon: “хвилина простою коштує 30,000
долларів” (2008 р.)
Amazon Dynamo розроблялось тільки для
однієї фічі: “додати в корзину”
Google BigTable + Amazon Dynamo = Cassandra
(Avinash Lakshman)
Документо-орієнтовані
Теж що і Key/Value, але...
значення зберігаються в форматі, який
система “розуміє” - JSON, XML
{
"name": "homer",
"email": "homer.simpson@gmail.com",
"projects": [
"BigTable",
"HBase",
"Cassamdra"
]
}
Документо-орієнтовані
● СouchDB
● MongoDB
● RavenDB
● Terrastore
Документо-орієнтовані
● Адресна/телефонна книга
● Форум
● Bug Tracking
● Списки витрат
● Звітування часу
● Списки справ (To-Do lists)
Граф-орієнтовані
Граф-орієнтовані
● Neo4j
● Sones
● InfoGrid
● HyperGraphDB
● vertexdb
Граф-орієнтовані
Соціальні менежі
Маршрут
Недоліки
Нова (нестабільна) технологіяНова (нестабільна) технологія
Більша відповідальність
There is no silver bullet
Можливі варіанти
Таблиця як нескінченне дерево
Динамічне створення таблиць
Надто багато JOIN-ів
Таблиця як кеш/черга/лог
Запитання

Mais conteúdo relacionado

Mais procurados

แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น
แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น
แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น Utai Sukviwatsirikul
 
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular center
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular centerการผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular center
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular centerNunthapol Pongrattanaman
 
Навчально діяльнісний підхід у викладанні інформатики
Навчально діяльнісний підхід у викладанні інформатикиНавчально діяльнісний підхід у викладанні інформатики
Навчально діяльнісний підхід у викладанні інформатикиAntoninasl123
 
Побудова тривимірної моделі деталі і робочого креслення на її основі
Побудова тривимірної моделі деталі і робочого креслення на  її основіПобудова тривимірної моделі деталі і робочого креслення на  її основі
Побудова тривимірної моделі деталі і робочого креслення на її основіdnzcpto1
 
використання ігрових технологій на уроках інформатики
використання ігрових технологій на  уроках інформатикивикористання ігрових технологій на  уроках інформатики
використання ігрових технологій на уроках інформатикиValeriy1979
 
Detect traumatic shock 16 พค.58
Detect traumatic shock  16 พค.58Detect traumatic shock  16 พค.58
Detect traumatic shock 16 พค.58Krongdai Unhasuta
 
залік з теми текстовий редактор Word
залік з теми текстовий редактор Wordзалік з теми текстовий редактор Word
залік з теми текстовий редактор WordElena Kostesnko
 
Razredna pravila.ppt
Razredna pravila.pptRazredna pravila.ppt
Razredna pravila.pptssuserebd6ff1
 
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptx
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptxRola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptx
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptxTetiana Khomko
 
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...Валентина Кодола
 
คู่มือการรักษาทางจิตเวช
คู่มือการรักษาทางจิตเวช คู่มือการรักษาทางจิตเวช
คู่มือการรักษาทางจิตเวช Utai Sukviwatsirikul
 
Презентація Інформаційна безпека Урок 11.pptx
Презентація Інформаційна безпека Урок 11.pptxПрезентація Інформаційна безпека Урок 11.pptx
Презентація Інформаційна безпека Урок 11.pptxssuserc8ab9c
 
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...VsimPPT
 
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymi
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymiPomoc psychologiczna dzieciom z zaburzeniami emocjonalnymi
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymiAlicja Wujec Kaczmarek
 

Mais procurados (20)

แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น
แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น
แนวทางเวชปฏิบัติการดูแลรักษาผู้ป่วยโรคสมาธิสั้น
 
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular center
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular centerการผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular center
การผ่าตัดเส้นฟอกไตชนิดต่างๆ Vascular access type @ saitara vascular center
 
Навчально діяльнісний підхід у викладанні інформатики
Навчально діяльнісний підхід у викладанні інформатикиНавчально діяльнісний підхід у викладанні інформатики
Навчально діяльнісний підхід у викладанні інформатики
 
Ventilējamas fasādes apakškonstrukciju pārskats
Ventilējamas fasādes apakškonstrukciju pārskats Ventilējamas fasādes apakškonstrukciju pārskats
Ventilējamas fasādes apakškonstrukciju pārskats
 
Ppt. heat stroke
Ppt. heat strokePpt. heat stroke
Ppt. heat stroke
 
Побудова тривимірної моделі деталі і робочого креслення на її основі
Побудова тривимірної моделі деталі і робочого креслення на  її основіПобудова тривимірної моделі деталі і робочого креслення на  її основі
Побудова тривимірної моделі деталі і робочого креслення на її основі
 
1.budowa ksiazki
1.budowa ksiazki1.budowa ksiazki
1.budowa ksiazki
 
використання ігрових технологій на уроках інформатики
використання ігрових технологій на  уроках інформатикивикористання ігрових технологій на  уроках інформатики
використання ігрових технологій на уроках інформатики
 
Detect traumatic shock 16 พค.58
Detect traumatic shock  16 พค.58Detect traumatic shock  16 พค.58
Detect traumatic shock 16 พค.58
 
залік з теми текстовий редактор Word
залік з теми текстовий редактор Wordзалік з теми текстовий редактор Word
залік з теми текстовий редактор Word
 
Razredna pravila.ppt
Razredna pravila.pptRazredna pravila.ppt
Razredna pravila.ppt
 
Analiza SWOT - Manage or Die Inspiration
Analiza SWOT - Manage or Die InspirationAnaliza SWOT - Manage or Die Inspiration
Analiza SWOT - Manage or Die Inspiration
 
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptx
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptxRola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptx
Rola otoczenia społecznego w opiece i wychowaniu małego dziecka.pptx
 
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...Урок № 8   Тема. Поняття операційної системи, її призначення. Графічний інтер...
Урок № 8 Тема. Поняття операційної системи, її призначення. Графічний інтер...
 
คู่มือการรักษาทางจิตเวช
คู่มือการรักษาทางจิตเวช คู่มือการรักษาทางจิตเวช
คู่มือการรักษาทางจิตเวช
 
Презентація Інформаційна безпека Урок 11.pptx
Презентація Інформаційна безпека Урок 11.pptxПрезентація Інформаційна безпека Урок 11.pptx
Презентація Інформаційна безпека Урок 11.pptx
 
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...
Урок 14 для 6 класу - Об'єкти презентації та засоби керування її демонстраціє...
 
Ppt. influenza (25.8.57)
Ppt. influenza (25.8.57)Ppt. influenza (25.8.57)
Ppt. influenza (25.8.57)
 
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymi
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymiPomoc psychologiczna dzieciom z zaburzeniami emocjonalnymi
Pomoc psychologiczna dzieciom z zaburzeniami emocjonalnymi
 
3
33
3
 

Último

Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdfhome
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptssuser59e649
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfhome
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняtetiana1958
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 

Último (12)

Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 

Нереляційні бази даних NoSQL