SlideShare ist ein Scribd-Unternehmen logo
1 von 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-ів
Таблиця як кеш/черга/лог
Запитання

Weitere ähnliche Inhalte

Was ist angesagt?

31 address binding, dynamic loading
31 address binding, dynamic loading31 address binding, dynamic loading
31 address binding, dynamic loadingmyrajendra
 
Machine learning ICT
Machine learning ICTMachine learning ICT
Machine learning ICTMaheenDilawar
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processingPage Maker
 
Exception handling and logging best practices
Exception handling and logging best practicesException handling and logging best practices
Exception handling and logging best practicesAngelin R
 
Lecture 4 principles of parallel algorithm design updated
Lecture 4   principles of parallel algorithm design updatedLecture 4   principles of parallel algorithm design updated
Lecture 4 principles of parallel algorithm design updatedVajira Thambawita
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency controlBinte fatima
 
Програмне забезпечення для оптимізації систем і дефрагментації носіїв
Програмне забезпечення для оптимізації систем і дефрагментації носіївПрограмне забезпечення для оптимізації систем і дефрагментації носіїв
Програмне забезпечення для оптимізації систем і дефрагментації носіївjap2006
 
Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud ComputingJithin Parakka
 
Parallel computing
Parallel computingParallel computing
Parallel computingvirend111
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors pptSiddhartha Anand
 

Was ist angesagt? (20)

Cómo construir una red lan
Cómo construir una red lanCómo construir una red lan
Cómo construir una red lan
 
Mesi
MesiMesi
Mesi
 
4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)
 
31 address binding, dynamic loading
31 address binding, dynamic loading31 address binding, dynamic loading
31 address binding, dynamic loading
 
Main Memory
Main MemoryMain Memory
Main Memory
 
Machine learning ICT
Machine learning ICTMachine learning ICT
Machine learning ICT
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
Aca11 bk2 ch9
Aca11 bk2 ch9Aca11 bk2 ch9
Aca11 bk2 ch9
 
Shared Memory
Shared MemoryShared Memory
Shared Memory
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
 
Tcp ip
Tcp ipTcp ip
Tcp ip
 
Exception handling and logging best practices
Exception handling and logging best practicesException handling and logging best practices
Exception handling and logging best practices
 
Lecture 4 principles of parallel algorithm design updated
Lecture 4   principles of parallel algorithm design updatedLecture 4   principles of parallel algorithm design updated
Lecture 4 principles of parallel algorithm design updated
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency control
 
Програмне забезпечення для оптимізації систем і дефрагментації носіїв
Програмне забезпечення для оптимізації систем і дефрагментації носіївПрограмне забезпечення для оптимізації систем і дефрагментації носіїв
Програмне забезпечення для оптимізації систем і дефрагментації носіїв
 
Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud Computing
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors ppt
 
Sequential consistency model
Sequential consistency modelSequential consistency model
Sequential consistency model
 
CPU
CPUCPU
CPU
 

Kürzlich hochgeladen

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

Kürzlich hochgeladen (14)

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

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