Přehled databází NoSQL

Obsah:

Přehled databází NoSQL
Přehled databází NoSQL
Anonim

Zkratka NoSQL byla vytvořena v roce 1998. Mnoho lidí si myslí, že NoSQL je hanlivý výraz vytvořený za účelem šťouchání do SQL. Ve skutečnosti tento termín znamená nejen SQL. Myšlenka je, že obě technologie mohou koexistovat a každá má své místo. Hnutí NoSQL bylo v posledních několika letech ve zprávách, protože mnoho předních představitelů Webu 2.0 přijalo technologii NoSQL. Společnosti jako Facebook, Twitter, Digg, Amazon, LinkedIn a Google používají NoSQL tak či onak. Pojďme rozebrat NoSQL, abyste to mohli vysvětlit svému CIO nebo dokonce svým spolupracovníkům.

Image
Image

NoSQL se vynořil z potřeby

Ukládání dat: Světově uložená digitální data se měří v exabajtech. Exabajt se rovná jedné miliardě gigabajtů (GB) dat. Podle Internet.com bylo množství uložených dat přidaných v roce 2006 161 exabajtů. O pouhé 4 roky později v roce 2010 bude množství uložených dat téměř 1 000 ExaBytes, což je nárůst o více než 500 %. Jinými slovy, na světě je uloženo mnoho dat a jejich růst bude pokračovat.

Propojená data: Data se stále více propojují. Tvorba webu podporovaná hypertextovými odkazy, blogy mají pingbacky a každý hlavní systém sociálních sítí má značky, které věci spojují dohromady. Hlavní systémy jsou postaveny tak, aby byly vzájemně propojeny.

Komplexní datová struktura: NoSQL si snadno poradí s hierarchickými vnořenými datovými strukturami. K dosažení stejné věci v SQL byste potřebovali více relačních tabulek se všemi druhy klíčů. Kromě toho existuje vztah mezi výkonem a složitostí dat. Výkon se může v tradičním RDBMS zhoršit, protože ukládáme obrovské množství dat požadovaných v aplikacích sociálních sítí a sémantickém webu.

Co je NoSQL?

Myslím, že jedním ze způsobů, jak definovat NoSQL, je zvážit, co není. Není to SQL a není to relační. Jak název napovídá, není to náhrada za RDBMS, ale doplňuje jej. NoSQL je navrženo pro distribuovaná úložiště dat pro velmi rozsáhlé datové potřeby. Vzpomeňte si na Facebook s jeho 500 000 000 uživateli nebo Twitter, který každý den shromažďuje terabity dat.

V databázi NoSQL neexistuje žádné pevné schéma ani žádná spojení. RDBMS se „škáluje“získáváním rychlejšího a rychlejšího hardwaru a přidáváním paměti. NoSQL na druhou stranu může využít výhod „škálování“. Scaling out se týká rozložení zátěže na mnoho komoditních systémů. Toto je komponenta NoSQL, která z něj dělá levné řešení pro velké datové sady.

NoSQL Categories

Současný svět NoSQL se vejde do 4 základních kategorií.

  1. Obchody s klíčovými hodnotami jsou založeny především na Amazon Dynamo Paper, který byl napsán v roce 2007. Hlavní myšlenkou je existence hashovací tabulky, kde je jedinečný klíč a ukazatel na konkrétní položku dat. Tato mapování jsou obvykle doprovázena mechanismy mezipaměti pro maximalizaci výkonu.
  2. Sloupce Family Stores byly vytvořeny pro ukládání a zpracování velkého množství dat distribuovaných na mnoha počítačích. Stále existují klíče, ale ukazují na více sloupců. V případě BigTable (model NoSQL rodiny Column od Googlu) jsou řádky identifikovány klíčem řádku s daty tříděnými a uloženými podle tohoto klíče. Sloupce jsou uspořádány podle rodiny sloupců.

  3. Databáze dokumentů byly inspirovány Lotus Notes a jsou podobné obchodům s páry klíč-hodnota. Model jsou v zásadě verzované dokumenty, které jsou kolekcemi jiných kolekcí klíč-hodnota. Polostrukturované dokumenty jsou uloženy ve formátech jako JSON.
  4. Graph Databases jsou sestaveny s uzly, vztahy mezi poznámkami a vlastnostmi uzlů. Místo tabulek řádků a sloupců a rigidní struktury SQL se používá flexibilní grafový model, který lze škálovat na mnoha počítačích.

Hlavní hráči NoSQL

Hlavní hráči v NoSQL se objevili především díky organizacím, které je přijaly. Některé z největších technologií NoSQL zahrnují:

  • Dynamo: Dynamo bylo vytvořeno Amazon.com a je nejvýznamnější databází Key-Value NoSQL. Amazon potřeboval vysoce škálovatelnou distribuovanou platformu pro své e-commerce podnikání, takže vyvinul Dynamo. Amazon S3 používá Dynamo jako mechanismus úložiště.
  • Cassandra: Cassandra byla otevřena od Facebooku a jde o sloupcově orientovanou NoSQL databázi.
  • BigTable: BigTable je vlastní sloupcově orientovaná databáze společnosti Google. Google umožňuje použití BigTable, ale pouze pro Google App Engine.
  • SimpleDB: SimpleDB je další databáze Amazon. Používá se pro Amazon EC2 a S3 a je součástí Amazon Web Services, která účtuje poplatky v závislosti na použití.
  • CouchDB: CouchDB spolu s MongoDB jsou open source databáze NoSQL orientované na dokumenty.
  • Neo4J: Neo4j je open source grafová databáze.

Dotazování NoSQL

Otázka, jak se dotazovat na NoSQL databázi, je to, co zajímá většinu vývojářů. Koneckonců, data uložená v obrovské databázi nedělají nikomu dobře, pokud je nemůžete získat a ukázat koncovým uživatelům nebo webové služby. Databáze NoSQL neposkytují deklarativní dotazovací jazyk na vysoké úrovni, jako je SQL. Místo toho je dotazování v těchto databázích> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?přispěvatel foaf:name "Jon Foobar".

?přispěvatel foaf:weblog ?url.

}

Budoucnost NoSQL

Organizace, které potřebují masivní úložiště dat, se vážně zajímají o NoSQL. Zdá se, že tento koncept se v menších organizacích tolik neprosazuje. V průzkumu, který provedl Information Week, 44 % podnikových IT profesionálů neslyšelo o NoSQL. Dále pouze 1 % respondentů uvedlo, že NoSQL je součástí jejich strategického směřování. Je zřejmé, že NoSQL má své místo v našem propojeném světě, ale bude se muset nadále vyvíjet, aby získal masovou přitažlivost, o které si mnozí myslí, že by mohl mít.

Doporučuje: