NoSQL
From Wikipedia, the free encyclopedia
Remove ads
NoSQL (ноу-эс-кью-эл, ад англ.: non SQL — не-SQL)[1] — гэта падыход да праектавання баз даных, які прадастаўляе механізмы для захоўвання і пошуку даных, адрозныя тых, што выкарыстоўваюцца ў рэляцыйных базах даных. Замест тыповай таблічнай структуры рэляцыйнай базы даных NoSQL-сістэмы змяшчаюць даныя ў адной структуры, якая не патрабуе яўнага апісання схемы базы даных і такім чынам дазваляе неструктураваныя наборы даных.[2] Сістэмы NoSQL таксама часам называюць Not only SQL («не толькі SQL»), каб падкрэсліць, што яны могуць падтрымліваць мовы запытаў, падобныя на SQL. [3] [4]
Нерэляцыйныя базы даных існуюць з канца 1960-х гадоў, але назва «NoSQL» была створана толькі ў пачатку 21-га стагоддзя з развіццём тэхналогій Web 2.0.[5] Базы даных NoSQL таксама выкарыстоўваюцца для апрацоўкі вялікіх даных і ў вэб-праграмах у рэжыме рэальнага часу.[6]
Структуры даных, якія выкарыстоўваюцца базамі даных NoSQL (напрыклад, пара ключ-значэнне, графы або дакументы), адрозніваюцца ад структур рэляцыйных баз даных, што робіць некаторыя аперацыі больш хуткімі ў NoSQL. Часам структуры даных NoSQL таксама разглядаюцца як «больш гнуткія», чым табліцы рэляцыйных баз даных.[7]
Remove ads
Гісторыя
Тэрмін NoSQL быў выкарыстаны Карла Строцы ў 1998 годзе, каб назваць створаную ім базу даных Strozzi NoSQL, якая не выкарыстоўвала SQL, але па-ранейшаму была рэляцыйнай.[8] Яго разуменне тэрміна адрозніваецца ад канцэпцыі NoSQL, якая распаўсюдзілася пасля 2009 года. Строцы мяркуе, што, паколькі сучасны рух NoSQL "цалкам адыходзіць ад рэляцыйнай мадэлі, яго варта было б больш правільна называць «NoREL» [9], маючы на ўвазе «not relational» — «нерэляцыйны».
Remove ads
Віды і прыклады
Існуюць розныя класіфікацыі баз даных NoSQL. Далей прыводзяцца прыклады суадносна з выкарыстанымі мадэлямі даных: [10]
Remove ads
Апрацоўка рэляцыйных даных
Паколькі ў большасці баз даных NoSQL адсутнічае магчымасць аб’яднання запытаў, схему базы даных звычайна трэба распрацоўваць па-іншаму. Ёсць тры асноўныя метады апрацоўкі рэляцыйных даных у базах даных NoSQL.
Шматразовыя запыты
Замест таго, каб атрымліваць усе даныя з дапамогай аднаго запыту, выконваецца некалькі запытаў. Запыты ў NoSQL часта выконваюцца хутчэй, чым запыты ў рэляцыйных базах, таму кошт дадатковых запытаў можа быць прымальным.
Ненармалізаваныя даныя
Замест таго, каб захоўваць толькі знешнія ключы (англ.: foreign keys), захоўваюць фактычныя знешнія значэнні разам з данымі мадэлі. Напрыклад, запіс аб каментары ў блогу можа ўключаць імя карыстальніка, што дазваляе пазбегнуць паўторнага пошуку па ідэнтыфікатары карыстальніка. Аднак калі імя карыстальніка змяняецца, яго трэба будзе змяніць у многіх месцах базы даных.
Укладзеныя даныя
З дакументнымі базамі даных, такімі як MongoDB, можна змясціць больш даных у меншай колькасці калекцый. Напрыклад, у праграме для вядзення блога можна выбраць захаванне каментарыяў у дакуменце паведамлення ў блогу, каб пры аднаразовым пошуку можна было атрымаць усе каментарыі. Такім чынам, пры такім падыходзе адзіны дакумент змяшчае ўсе даныя, неабходныя для канкрэтнай задачы.
Гл. таксама
Крыніцы
Спасылкі
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads