NoSQL бази даних: огляд, приклади і сфери застосування

Типи інформаційних сховищ

У типі баз даних NoSQL Key-Value використовується хеш-таблиця, в якій унікальний ключ вказує на елемент. Вони можуть бути впорядковані в логічні групи, вимагаючи у своїх межах унікальності. Це дозволяє використовувати ідентичні ключі в різних логічних групах. Деякі реалізації БД надають механізми кешування, які значно підвищують їх продуктивність.

Все, що потрібно для роботи з предметами, що зберігаються в базі даних – це ключ. Дані зберігаються у вигляді рядка JSON або BLOB (великий двійковий об’єкт). Одним з найбільших недоліків цієї форми є відсутність узгодження на рівні БД. Це може бути додано під час розробки бази даних NoSQL програмістами зі своїм власним кодом, але це також вимагає більше зусиль, із-за складності реалізації та часу. Найвідоміша БД NoSQL, побудована на сховище значень ключів – це Amazon DynamoDB.

Сховища документів (Document) аналогічні сховищ значень ключів в тому, що вони не містять схеми і засновані на моделі значень. Отже, обидва типи мають однакові переваги і недоліки. І тій, і інший не вистачає узгодженості на рівні бази даних, що не дозволяє додаткам надавати більше надійних функцій. Тим не менше, існують деякі ключова відмінність між ними. У сховищах документів значення (документи) забезпечують кодування для збережених даних. Такими кодуваннями можуть бути XML, JSON або BSON (двійковий код JSON). Найпопулярнішим додатком БД, використовують сховище документів, є MongoDB.

В базі даних Column Family дані зберігаються в стовпцях, а не в рядках, як це робиться в більшості систем управління реляційними БД. Сховище стовпців складається з одного або декількох сімейств стовпців, які логічно групують певні стовпці в БД. Ключ використовується для ідентифікації та зазначення кількості стовпців з атрибутом простору ключів, який визначає область його дії. Кожен стовпець містить кортежі імен і значень, впорядковані і розділені комами.

Сховища стовпців мають швидкий доступ для читання/запису до збережених даних. У ньому стовпці рядка відповідають одному стовпцю і зберігаються, як одна запис на диску. Це забезпечує більш швидкий доступ під час операцій читання/запису. Найбільш популярні бази даних, які використовують сховище стовпців баз даних NoSQL приклади: Google BigTable, HBase і Cassandra.

В БД NoSQL Graph Bd для представлення даних використовується структура орієнтованого графа. Граф складається з ребер і вузлів.