Programovanie

MongoDB, Cassandra a HBase - tri NoSQL databázy, ktoré je potrebné sledovať

Hadoop získava veľkú časť kreditu za veľké dáta, ale realita je taká, že databázy NoSQL sú oveľa širšie nasadené - a oveľa širšie vyvinuté. Aj keď je nakupovanie u dodávateľa Hadoop v skutočnosti pomerne jednoduché, výber databázy NoSQL nie je nič iné. Ako ukazuje hodnotenie popularity databázy DB-Engines, existuje koniec koncov viac ako 100 databáz NoSQL.

Ktoré by ste si mali zvoliť?

Rozmaznaný na výber

Pretože si musíš zvoliť. Aj keď je pekné žiť v šťastnej utópii tzv. Polyglotovej perzistencie, „kde každý slušný podnik bude mať rôzne technológie na ukladanie údajov pre rôzne druhy údajov,“ tvrdí Martin Fowler, realita je taká si nemôžete dovoliť investovať do učenia sa viac ako niekoľkých.

Našťastie je výber čoraz ľahší, pretože trh sa spája okolo troch dominantných databáz NoSQL: MongoDB (podporovaný mojím bývalým zamestnávateľom), Cassandra (primárne vyvinutý spoločnosťou DataStax, hoci sa vyliahnutý na Facebooku) a HBase (úzko prepojený s Hadoopom a vyvinutý rovnaká komunita).

Upozorňujeme, že zámerne vylučujem Redis z tohto zoznamu. Aj keď je skvelým úložiskom dát, primárne sa používa na ukladanie údajov do medzipamäte a nie je vhodný na širokú škálu pracovných zaťažení.

Údaje z LinkedIn od spoločnosti 451 Research ukazujú, ako trh gravituje na MongoDB, Cassandra a HBase:

To sú údaje profilu LinkedIn. Úplnejším pohľadom je DB-Engines, ktorý agreguje úlohy, vyhľadávanie a ďalšie údaje, aby pochopil popularitu databázy. Zatiaľ čo Oracle, SQL Server a MySQL kraľujú, MongoDB (č. 5), Cassandra (č. 9) a HBase (č. 15) im dávajú peniaze.

Aj keď je príliš skoro nazývať každú druhú databázu NoSQL chybou zaokrúhľovania, rýchlo sa dostávame k tomuto bodu, presne tak, ako sa to stalo na trhu s relačnými databázami.

Aby som lepšie pochopil, prečo tieto tri databázy svietia, požiadal som zástupcov z každej z nich, aby identifikovali kľúčové atribúty ich úspechu: Kelly Stirman, riaditeľka produktov v MongoDB; Patrick McFadin, hlavný evanjelista Cassandra v DataStax; a Justin Kestelyn, senior riaditeľ pre vzťahy s vývojármi v spoločnosti Cloudera.

Najprv však musíme pochopiť, prečo je NoSQL dôležité.

Svet zostavený z neštruktúrovaných dát

Stále viac žijeme vo svete, kde dáta pekne nezapadajú do uprataných riadkov a stĺpcov RDBMS. Mobilné, sociálne a cloudové výpočty priniesli obrovskú záplavu dát. Podľa rôznych odhadov sa za posledné dva roky vytvorilo 90 percent svetových údajov, pričom Gartner určil 80 percent všetkých podnikových údajov za neštruktúrované. Navyše neštruktúrované dáta rastú dvojnásobnou rýchlosťou ako štruktúrované dáta.

Ako sa svet mení, požiadavky na správu údajov presahujú efektívny rozsah tradičných relačných databáz. Prvými organizáciami, ktoré zaznamenali potrebu alternatívnych riešení, boli priekopníci webu, vládne agentúry a spoločnosti špecializujúce sa na informačné služby.

Spoločnosti všetkých skupín sa čoraz viac snažia využiť výhody alternatív, ako sú NoSQL a Hadoop: NoSQL na budovanie prevádzkových aplikácií, ktoré riadia ich podnikanie prostredníctvom systémov zapojenia, a Hadoop na budovanie aplikácií, ktoré retrospektívne analyzujú ich údaje a pomáhajú poskytovať výkonné štatistiky. .

MongoDB: Z vývojárov, pre vývojárov

Medzi možnosťami NoSQL, ktoré uvádza MongoDB Stirman, sa MongoDB zameral na vyvážený prístup vhodný pre širokú škálu aplikácií. Zatiaľ čo funkčnosť je blízka funkcii tradičnej relačnej databázy, MongoDB umožňuje používateľom využívať výhody cloudovej infraštruktúry vďaka jej horizontálnej škálovateľnosti a vďaka flexibilnému dátovému modelu ľahko pracovať s rôznymi dátovými sadami, ktoré sa dnes používajú.

MongoDB je často prvým vývojárom NoSQL databáz, ktorý sa pokúsia vyskúšať, pretože je tak ľahké sa ho naučiť. Will Shulman, generálny riaditeľ spoločnosti MongoLab (poskytovateľ služieb ako MongoDB), to hovorí takto:

Neproporcionálny úspech MongoDB je do značnej miery založený na jeho inovácii ako úložiska dátových štruktúr, ktoré nám umožňuje jednoduchšie a expresívnejšie modelovať „veci“ v jadre našich aplikácií….

Rovnaký základný dátový model v našom kóde aj v databáze je vynikajúcou metódou pre väčšinu prípadov použitia, pretože to dramaticky zjednodušuje úlohu vývoja aplikácií a eliminuje vrstvy komplexného mapovacieho kódu, ktoré sú inak potrebné.

Je pozoruhodné, že MongoDB, rovnako ako ostatné databázy na tomto zozname, nie je poník s jedným trikom. Podniky, ktoré sa učia MongoDB „môžu amortizovať svoje investície do MongoDB v mnohých projektoch, čo z nich robí jeden z užších zoznamov štandardov, na ktoré sa spoliehajú pri správe všetkých dát,“ ako mi povedal Stirman.

Samozrejme, ako každá technológia, aj MongoDB má svoje silné a slabé stránky. MongoDB je určený pre pracovné zaťaženie OLTP. Môže robiť zložité dotazy, ale nemusí to byť najvhodnejšie riešenie pre pracovné zaťaženie v štýle prehľadov. Alebo ak potrebujete zložité transakcie, nebude to dobrá voľba. Vďaka jednoduchosti MongoDB je to skvelé miesto pre štart.

Cassandra: Bezpečne bežte vo veľkom meradle

Existujú najmenej dva druhy jednoduchosti databázy: jednoduchosť vývoja a prevádzková jednoduchosť. Zatiaľ čo MongoDB oprávnene získava uznanie za ľahký zážitok z krabice, Cassandra získava plné známky za to, že sa dá ľahko spravovať vo veľkom meradle.

Ako mi povedal McFadin z DataStaxu, používatelia majú tendenciu gravitovať ku Cassandre, čím viac sa opierajú o ťažkosti s vytváraním rýchlejších a spoľahlivejších relačných databáz, najmä čo sa týka rozsahu. McFadin, bývalý Oracle DBA, bol nadšený, keď zistil, že „replikácia a lineárne škálovanie sú pre Cassandru primitívne“ a tieto funkcie boli „hlavným cieľom návrhu od začiatku“.

Vo svete RDBMS sú databázové funkcie, ako je zmena mierky a replikácia, tvrdou časťou, ktorá zostáva používateľovi. Vo včerajšom podniku to fungovalo dobre, keď mierka nebola veľkým problémom. Dnes sa rýchlo stáva the problém.

Ako som počul od McFadina a ďalších, Cassandra obzvlášť žiari pri škálovateľnom nasadení. Cassandra prichádza s integrovanou podporou viacerých dátových centier. Pokiaľ ide o zvýšenie kapacity klastra, „jednoducho naštartujete nový stroj a poviete Cassandre, kde sú ďalšie uzly,“ povedal McFadin, „a o ostatné sa postará.“

Táto ľahká škálovateľnosť spojená s mimoriadnym výkonom zápisu („Všetko, čo robíte, je pridanie na koniec súboru denníka“) a predvídateľným výkonom dotazu, predstavuje v Cassandre výkonného koňa.

Jedným z článkov viery v NoSQL, o ktorom som sa už dlho domnieval, je, že Cassandra môže byť silná v rozsahu, ale aby ste mohli začať, vyžaduje si doktorát. Nie je to tak, McFadin trval na tom:

Cesty replikácie a čítania a zápisu sú zámerne jednoduché. Základné vnútorné prvky Cassandry sa môžete naučiť za pár hodín. To môže pri nasadzovaní novej technológie priniesť veľa dôvery, pretože existuje menej detailov „čiernej skrinky“, ktoré zavádzajú zložité režimy zlyhania.

To znamená, že cena za prijatie do efektívneho vývoja Cassandry je v porozumení dátovému modelu a v tom, ako bude pracovať s vašou aplikáciou. Vzhľadom na znalosť dotazovacieho jazyka CQL od Cassandry (ktorý má byť „presne ako SQL, pokiaľ nie je“), uviedol McFadin, nie je to strmá krivka učenia.

Dôležitejšie je, že mi povedal: „Cassandra vás odmeňuje jedinou vecou, ​​ktorú chcete od databázy: žiadna dráma. Preto používatelia radi používajú Cassandru. “

HBase: Bosom kamaráti s Hadoopom

HBase, podobne ako Cassandra, stĺpcovo orientovaný obchod s kľúčmi a hodnotami, je vo veľkej miere využívaný kvôli spoločnému rodokmeňu s Hadoopom. Ako uviedol Kestelyn zo spoločnosti Cloudera, „HBase poskytuje vrstvu záznamu založenú na záznamoch, ktorá umožňuje rýchle a náhodné čítanie a zápis na dáta, čím dopĺňa Hadoop zdôraznením vysokej priepustnosti na úkor nízkolatenčných I / O.“

Kestelyn pokračuje:

Zmeny sa efektívne katalogizujú v pamäti, aby sa dosiahol maximálny prístup, zatiaľ čo dáta sú uchované na HDFS. Tento dizajn umožňuje, aby EDH [podnikové dátové centrum] založené na Hadoope poskytovalo náhodné čítania a zápisy používateľom a aplikáciám v reálnom čase, a pritom stále využívalo odolnosť voči chybám a trvanlivosť HDFS.

Afinita s Hadoop nie je jediným dôvodom, prečo HBase neustále rastie v rebríčkoch popularity databáz, aj keď to môže stačiť. Podobne ako Cassandra, korene HBase ako otvorená implementácia Bigtable spoločnosti Google sa premieňajú na databázu, ktorá je dizajnovo vysoko škálovateľná.

Pretože môže využívať úložisko, pamäť a prostriedky CPU ľubovoľného počtu serverov, rovnako ako má škálovateľné funkcie, ako je automatické delenie, môže server HBase bez obmedzenia škálovať, pretože nároky na výkon a výkon sa zvyšujú jednoducho pridaním uzlov servera. HBase bol navrhnutý od základu tak, aby poskytoval optimálny výkon v prípade kritickej konzistencie.

Avšak mierka nie je iba užitočnosťou. Ako poznamenal Kestelyn, „Vďaka úzkej integrácii so zvyškom ekosystému Hadoop sú dáta a aplikácie ľahko dostupné používateľom a aplikáciám prostredníctvom dotazov SQL (pomocou služieb Cloudera Impala, Apache Phoenix alebo Apache Hive) alebo dokonca pomocou hľadania vo voľnom texte (pomocou Cloudera Search). “ HBase teda poskytuje vývojárom spôsob, ako využiť existujúce odborné znalosti v oblasti SQL a zároveň stavať na modernejšej distribuovanej databáze.

Každá databáza má svoje vlastné silné stránky a nedostatky, ale každá z troch profilovaných tu zaplnila veľkú dieru v prostredí veľkých dát. Aj keď je možné, že si nová databáza získa miesto v prvej trojke NoSQL (DynamoDB?), Realita je taká, že vývojári a podniky, ktoré poskytujú, už štandardizujú niekoľko silných možností: MongoDB, Cassandra a HBase.

Matt Asay, viceprezident pre mobil v spoločnosti Adobe, bol predtým viceprezidentom komunity v spoločnosti MongoDB, Inc. Je emeritným členom predstavenstva Open Source Initiative (OSI) a získal doktorát z jurisdikcie v Stanforde, kde sa zameral na open source a ďalšie. otázky licencií na duševné vlastníctvo a magisterský titul z University of Kent v Canterbury a bakalársky titul z univerzity Brighama Younga. Asay bola jednou z prvých blogeriek.

Nové technologické fórum poskytuje miesto na preskúmanie a diskusiu o vznikajúcich podnikových technológiách v nebývalej hĺbke a šírke. Výber je subjektívny, založený na našom výbere technológií, ktoré považujeme za dôležité a pre čitateľov najväčší záujem. neprijíma marketingové záruky na zverejnenie a vyhradzuje si právo upravovať všetok prispievaný obsah. Všetky otázky posielajte na adresu [email protected].

$config[zx-auto] not found$config[zx-overlay] not found