Агляд NoSQL баз дадзеных

Акронім NoSQL быў прыдуманы ў 1998 годзе Многіх людзей думае, што NoSQL з'яўляецца ўніжальным тэрмінам створаны, каб тыкаць у SQL. На самай справе, гэты тэрмін азначае не толькі SQL. Ідэя заключаецца ў тым, што абодва тэхналогіі могуць суіснаваць і кожны з іх мае сваё месца. Рух NoSQL было ў навінах на працягу апошніх некалькіх гадоў, як многія з Web 2.0 лідэраў прынялі тэхналогію NoSQL. Такія кампаніі, як Facebook, Twitter, Digg, Amazon, LinkedIn і Google усё выкарыстоўваць NoSQL ў той ці іншай форме.

Давайце разбярэм NoSQL, так што вы можаце патлумачыць ваш CIO або нават вашы калегам.

NoSQL Які ўзнік з неабходнасці

Захоўванне дадзеных: захоўваць лічбавыя дадзеныя ў свеце вымяраецца ў эксабайт. Эксабайт роўны адзін мільярд гігабайт (ГБ) дадзеных. Згодна з Internet.com, колькасць захаваных даных, дададзеных у 2006 годзе склаў 161 экзабайт. Ўсяго 4 гады праз, у 2010 годзе аб'ём дадзеных, якія захоўваюцца будзе амаль 1000 экзабайт, які з'яўляецца павелічэнне больш чым на 500%. Іншымі словамі, ёсць шмат дадзеных, якія захоўваюцца ў свеце, і яго толькі збіраецца працягваць расці.

Сумежны: дадзеныя па- ранейшаму становяцца ўсё больш звязаныя. Стварэнне сеткі спрыяла ў гіперспасылак, блогі маюць пингбэки і ўсе асноўныя сістэмы сацыяльнай сеткі мае прыкметы, якія звязваюць разам. Асноўныя сістэмы пабудаваныя быць ўзаемазвязаныя.

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

Акрамя таго, існуе ўзаемасувязь паміж прадукцыйнасцю і складанасцю дадзеных. Прадукцыйнасць можа дэградаваць у традыцыйнай СКБД, як мы будзем захоўваць велізарная колькасць дадзеных, неабходных у прыкладаннях сацыяльных сетак і семантычнай сеткі.

Што такое NoSQL?

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

Гэта не SQL, і гэта не рэляцыйная. Як падказвае назву, гэта не з'яўляецца заменай для РСУБД, але дапаўняе яго. NoSQL прызначаны для размеркаваных сховішчаў дадзеных для вельмі вялікіх патрэбаў маштабу дадзеных. Падумайце аб тым, Facebook з яе 500.000.000 карыстальнікаў або Twitter, якая акумулюе терабит дадзеных кожны дзень.

У базе дадзеных NoSQL, няма фіксаванай схемы і не ўключаецца. RDBMS «маштабуецца», атрымліваючы ўсё хутчэй і хутчэй апаратнага і дадання памяці. NoSQL, з другога боку, могуць скарыстацца «маштабаванне». Гарызантальнае маштабаванне ставіцца да размеркавання нагрузкі на працягу многіх таварных сістэм. Гэта кампанент NoSQL, што робіць яго недарагім рашэннем для вялікіх набораў дадзеных.

NoSQL Катэгорыі

Цяперашні свет NoSQL ўпісваецца ў 4 асноўныя катэгорыі.

  1. Ключавыя каштоўнасці Крамы заснаваныя галоўным чынам на Dynamo Paper Amazon, якая была напісана ў 2007 годзе асноўнай ідэяй з'яўляецца існаванне хэш - табліцы , дзе ёсць унікальны ключ і паказальнік на канкрэтны элемент дадзеных. Гэтыя адлюстравання, як правіла, суправаджаецца механізмамі кэшавання для павышэння прадукцыйнасці.
    Калона сям'і Крамы былі створаны , каб захоўваць і апрацоўваць вельмі вялікія аб'ёмы дадзеных , размеркаваных па многіх машынам. Ёсць яшчэ ключы, але яны паказваюць на некалькі калонак. У выпадку BigTable (Column Family NoSQL мадэлі кампаніі Google), радкі ідэнтыфікуюцца ключом радкі з дадзенымі, адсартаваных і якія захоўваюцца гэтым ключом. Калонкі размешчаны на калонцы сям'і.
  1. Дакумент базы дадзеных з натхняліся Lotus Notes і падобныя на ключ-значэнне крамах. Мадэль у асноўным версионируются дакументы, зборнікі іншых калекцый ключ-значэнне. Полуструктурированные дакументы захоўваюцца ў фарматах, як JSON.
  2. Графік базы дадзеных s пабудаваныя з вузламі, адносіны паміж нотамі і уласцівасцяў вузлоў. Замест табліц радкоў і слупкоў і жорсткай канструкцыі SQL, гнуткая мадэль граф, які можа выкарыстоўвацца маштабаваць шмат машын.

Асноўныя NoSQL Гульцы

Асноўныя гульцы ў NoSQL паўсталі ў першую чаргу з арганізацый, якія прынялі іх. Некаторыя з найбуйнейшых NoSQL тэхналогій ўключаюць у сябе:

запыты NoSQL

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

Многія з платформаў NoSQL дазваляюць RESTful інтэрфейсаў да дадзеных. Іншае API прапановы запыту. Ёсць некалькі інструментаў запытаў, якія былі распрацаваны, што спроба запыту некалькіх баз дадзеных NoSQL. Гэтыя інструменты, як правіла, працуюць па адной катэгорыі NoSQL. Адным з прыкладаў з'яўляецца SPARQL. SPARQL з'яўляецца дэкларатыўнай спецыфікацыяй запытаў, распрацаванай для баз дадзеных графа. Вось прыклад запыту SPARQL, які здабывае URL канкрэтнага блогера (ласкава IBM):

PREFIX FOAF:
ВЫБРАЦЬ? URL
FROM
ДЗЕ {
? Укладчык FOAF: імя "Джон Foobar".
? Укладчыкам FOAF: блог URL.
}

будучыня NoSQL

Арганізацыі, якія маюць велізарныя патрэбы ў захоўванні дадзеных сур'ёзна гледзячы на ​​NoSQL. Па-відаць, гэтая канцэпцыя не атрымлівае столькі цягі ў невялікіх арганізацыях. У ходзе апытання, праведзенага Information Week, 44% бізнес ІТ-адмыслоўцаў не чуў пра NoSQL. Акрамя таго, толькі 1% ​​рэспандэнтаў паведамілі, што NoSQL з'яўляецца часткай іх стратэгічнага кірунку. Відавочна, што NoSQL мае сваё месца ў нашым узаемазлучаным свеце, але трэба будзе працягваць развівацца, каб атрымаць масавы заклік, што шмат хто лічыць, што гэта можа мець.