NoSQL

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

NoSQL (англ. not only SQL — не тільки SQL) — ряд підходів, спрямованих на реалізацію сховищ баз даних, що мають суттєві відмінності від моделей, які використовуються в традиційних реляційних СУБД. Реалізовані через обмеження та низький рівень реляційної алгебри.

Системи управління базами даних NoSQL надають механізм збереження та отримання даних, що організовані в інакший спосіб, ніж звичний реляційний підхід, хоча окремі NoSQL системи можуть надавати SQL-подібний синтаксис. Технологія NoSQL розроблена для забезпечення простоти архітектури бази даних та горизонтального масштабування. Ці якості досягаються за рахунок принципів організації структур даних (ключ-значення, граф, чи документ), які істотно відрізняються від СКРБД (RDBMS). Як наслідок, деякі операції доступу до даних виконуються швидше в NoSQL (наприклад такі, що передбачають складні операції реляційної алгебри), а деякі — в RDBMS.

NoSQL бази даних використовують в індустрії високонавантажених веб-додатків реального часу, хоча багато NoSQL сховищ не гарантують цілісність даних (CAP теорема), хоча забезпечують їх високу доступність та реплікації.

Типи і приклади баз даних NoSQL[ред.ред. код]

Існує багато підходів до класифікації баз NoSQL, кожна має свої категорії та підкатегорії, деякі з них накладаються одна на одну. Нижче наведена загальноприйнята класифікація, що базується на моделі даних, з прикладами NoSQL систем:

  • Колонка: Accumulo, Cassandra, Druid, HBase, Vertica
  • Документ': Clusterpoint, Apache CouchDB, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, MongoDB, OrientDB, Qizx
  • Ключ-значення: CouchDB, Oracle NoSQL Database, Dynamo, FoundationDB, HyperDex, MemcacheDB, Redis, Riak, FairCom c-treeACE,Aerospike, OrientDB, MUMPS
  • Граф': Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog
  • Мульти-модель: OrientDB, FoundationDB, ArangoDB, Alchemy Database, CortexDB

Посилання[ред.ред. код]