NoSQL

NoSQL (ноу-эс-кью-эл, ад  — не-SQL)http://nosql-database.org/  «NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points : being non-relational, distributed, open-source and horizontally scalable». — гэта падыход да праектавання баз даных, які прадастаўляе механізмы для захоўвання і пошуку даных, адрозныя тых, што выкарыстоўваюцца ў рэляцыйных базах даных. Замест тыповай таблічнай структуры рэляцыйнай базы даных NoSQL-сістэмы змяшчаюць даныя ў адной структуры, якая не патрабуе яўнага апісання схемы базы даных і такім чынам дазваляе неструктураваныя наборы даных.https://www.ibm.com/topics/nosql-databases «What is a NoSQL database?» Сістэмы NoSQL таксама часам называюць Not only SQL («не толькі SQL»), каб падкрэсліць, што яны могуць падтрымліваць мовы запытаў, падобныя на SQL.  

Нерэляцыйныя базы даных існуюць з канца 1960-х гадоў, але назва «NoSQL» была створана толькі ў пачатку 21-га стагоддзя з развіццём тэхналогій Web 2.0. Базы даных NoSQL таксама выкарыстоўваюцца для апрацоўкі вялікіх даных і ў вэб-праграмах у рэжыме рэальнага часу.

Структуры даных, якія выкарыстоўваюцца базамі даных NoSQL (напрыклад, пара ключ-значэнне, графы або дакументы), адрозніваюцца ад структур рэляцыйных баз даных, што робіць некаторыя аперацыі больш хуткімі ў NoSQL. Часам структуры даных NoSQL таксама разглядаюцца як «больш гнуткія», чым табліцы рэляцыйных баз даных.

 Гісторыя 
Тэрмін NoSQL быў выкарыстаны Карла Строцы ў 1998 годзе, каб назваць створаную ім базу даных Strozzi NoSQL, якая не выкарыстоўвала SQL, але па-ранейшаму была рэляцыйнай. Яго разуменне тэрміна адрозніваецца ад канцэпцыі NoSQL, якая распаўсюдзілася пасля 2009 года. Строцы мяркуе, што, паколькі сучасны рух NoSQL "цалкам адыходзіць ад рэляцыйнай мадэлі, яго варта было б больш правільна называць «NoREL» , маючы на ўвазе «not relational» — «нерэляцыйны».

 Віды і прыклады 
Існуюць розныя класіфікацыі баз даных NoSQL. Далей прыводзяцца прыклады суадносна з выкарыстанымі мадэлямі даных: 
Від Прыклады Кэш ключ-значэнне Apache Ignite, Couchbase, Coherence, eXtreme Scale, Hazelcast, Infinispan, Memcached, Redis, Velocity Сховішча ключ-значэнне Azure Cosmos DB, ArangoDB, Amazon DynamoDB, Aerospike, Couchbase, ScyllaDB, Oracle NoSQL Database, FoundationDB, InfinityDB, LMDB, MemcacheDB Сховішча картэжаў Apache River, GigaSpaces, Tarantool, TIBCO ActiveSpaces, OpenLink Virtuoso Сховішча дакументаў Azure Cosmos DB, ArangoDB, BaseX, Clusterpoint, Couchbase, CouchDB, DocumentDB, eXist-db, IBM Domino, MarkLogic, MongoDB, RavenDB, Qizx, RethinkDB, Elasticsearch, OrientDB Шырокакалоннае сховішча Azure Cosmos DB, Amazon DynamoDB, Bigtable, Cassandra, Google Cloud Datastore, HBase, Hypertable, ScyllaDB Графавая база даных Azure Cosmos DB, AllegroGraph, ArangoDB, InfiniteGraph, Apache Giraph, MarkLogic, Neo4J, OrientDB, Virtuoso

 Апрацоўка рэляцыйных даных 
Паколькі ў большасці баз даных NoSQL адсутнічае магчымасць аб’яднання запытаў, схему базы даных звычайна трэба распрацоўваць па-іншаму. Ёсць тры асноўныя метады апрацоўкі рэляцыйных даных у базах даных NoSQL.

 Шматразовыя запыты 
Замест таго, каб атрымліваць усе даныя з дапамогай аднаго запыту, выконваецца некалькі запытаў. Запыты ў NoSQL часта выконваюцца хутчэй, чым запыты ў рэляцыйных базах, таму кошт дадатковых запытаў можа быць прымальным.

 Ненармалізаваныя даныя 
Замест таго, каб захоўваць толькі знешнія ключы (), захоўваюць фактычныя знешнія значэнні разам з данымі мадэлі. Напрыклад, запіс аб каментары ў блогу можа ўключаць імя карыстальніка, што дазваляе пазбегнуць паўторнага пошуку па ідэнтыфікатары карыстальніка. Аднак калі імя карыстальніка змяняецца, яго трэба будзе змяніць у многіх месцах базы даных.

 Укладзеныя даныя 
З дакументнымі базамі даных, такімі як MongoDB, можна змясціць больш даных у меншай колькасці калекцый. Напрыклад, у праграме для вядзення блога можна выбраць захаванне каментарыяў у дакуменце паведамлення ў блогу, каб пры аднаразовым пошуку можна было атрымаць усе каментарыі. Такім чынам, пры такім падыходзе адзіны дакумент змяшчае ўсе даныя, неабходныя для канкрэтнай задачы.

 Гл. таксама 
 Аб’ектна-рэляцыйная база даных

 Крыніцы 

 Спасылкі 






Катэгорыя:Базы даных