Programavimas

Kaip pasirinkti tinkamą „NoSQL“ duomenų bazę

„NoSQL“ duomenų bazės suteikia didelę operacinę spartą ir didesnį lankstumą programinės įrangos kūrėjams ir kitiems vartotojams, palyginti su tradicinėmis lentelių (arba SQL) duomenų bazėmis.

„NoSQL“ duomenų bazių naudojamos duomenų struktūros - rakto vertė, platus stulpelis, grafikas ar dokumentas - skiriasi nuo tų, kurias naudoja reliacinės duomenų bazės. Dėl to „NoSQL“ duomenų bazės. „NoSQL“ duomenų bazes galima keisti tūkstančiams serverių, tačiau kartais prarandant duomenų nuoseklumą. Tačiau šiandien „NoSQL“ duomenų bazės yra ypač aktualios tuo, kad jos ypač gerai tinka darbui su dideliais paskirstytų duomenų rinkiniais, todėl jas galima pasirinkti didelių duomenų ir analizės projektams.

Kaip pasirinkti NoSQL duomenų bazę: pagrindiniai veiksniai

Turint daugiau nei dvi dešimtis atvirojo kodo ir komercinių „NoSQL“ duomenų bazių, kaip pasirinkti tinkamą produktą ar debesų paslaugą?

Vienas gyvybiškai svarbus veiksnys yra žinoti, kokiam tikslui norite pateikti duomenis, sako Carlosas Olofsonas, IDC tyrimų viceprezidentas.

„NoSQL“ duomenų bazių architektūra ir funkcija skiriasi, todėl turite pasirinkti tipą, kuris geriausiai tinka norimai užduočiai atlikti:

  • Apskritai raktų vertės saugyklos yra geriausios nuolatiniam duomenų dalijimuisi naudojant kelis procesus ar mikroservisus programoje.
  • Jei planuojate atlikti gilią santykių analizę, kad apskaičiuotumėte artumą, aptiktumėte sukčiavimą ar įvertintumėte asociacinę struktūrą, grafikų duomenų bazė gali būti geresnis pasirinkimas.
  • Jei jums reikia rinkti duomenis labai greitai ir dideliu kiekiu, kad būtų galima atlikti analizę, peržiūrėkite plačią stulpelių parduotuvę. Tokios „NoSQL“ duomenų bazės taip pat paprastai teikia paramą dokumentams ir grafikams.

Nemanykite, kad jūsų pradinis projektas yra vienintelis naudojimo modelis, kurį pritaikysite duomenų bazėje. Galite pradėti tvarkyti tik būsenos ar seanso duomenis, tada atlikti operacijų apdorojimą ir dar vėliau atlikti tam tikrą analizę.

Artimiausiu metu dėmesys turėtų būti sutelktas į našumą, mastą, saugumą, įvairių darbo krūvių palaikymą (įskaitant operacinius, operacinius ir analitinius), integraciją su esamomis ekosistemomis, administravimo pastangas, debesies palaikymą ir palaikomus naudojimo atvejus, sako Noelis. Yuhanna, pagrindinė „Forrester Research“ analitikė. Iš jų saugumas yra labai svarbus. „NoSQL“ duomenų bazėms, kurios turi saugumo sertifikatus, turėtų būti skiriama daugiau dėmesio. Norėdami apsaugoti neskelbtiną informaciją, ieškokite tokių funkcijų kaip duomenų ramybėje ir judančių duomenų šifravimas.

Be to, ne visos „NoSQL“ duomenų bazės negali gerai masto, sako Yuhanna, todėl nesupraskite to savaime suprantamu dalyku vien todėl, kad produktas yra „NoSQL“ kategorijoje, jis bus keičiamas ir veiks geriau nei reliacinės duomenų bazės.

„NoSQL“ siūlo skirtingus nuoseklumo lygius išplėstiniame modelyje, todėl ieškokite sprendimų, atitinkančių jūsų specifinius reikalavimus. Pavyzdžiui, jei norite palaikyti labai kritines į bankininkystę panašias operacijas, reliacinės duomenų bazės vis tiek yra geriausias sprendimas.

NoSQL duomenų bazės, į kurias turėtumėte atsižvelgti

Štai NoSQL duomenų bazės, į kurias turėtumėte atsižvelgti.

MongoDB

„MongoDB“ yra populiariausia „NoSQL“ duomenų bazė. Nemokama, atviro kodo, daugiaplatformė, į dokumentus orientuota duomenų bazė. „MongoDB“ naudoja į JSON panašius dokumentus su schemomis. Platformą prižiūri „MongoDB Inc.“ ir ji skelbiama kartu su „Gnu Affero General Public License“ ir „Apache“ licencija.

„MongoDB Atlas“ apima geriausią darbo patirtį, kurios įmonė išmoko optimizuodama tūkstančius dislokacijų įvairaus dydžio organizacijose. Debesies pagrindu veikiantis pasiūlymas tvarko duomenų bazių valdymą, sąranką ir konfigūravimą, programinės įrangos pataisymą, stebėjimą ir atsargines kopijas. Jis veikia kaip paskirstytas duomenų bazių klasteris.

peržiūri NoSQL duomenų bazes

Perskaitykite išsamias pagrindinių NoSQL duomenų bazių praktines apžvalgas

  • MongoDB
  • „MongoDB Atlas“
  • „Couchbase“
  • „Cosmos DB“
  • Neo4j
  • „Google Bigtable“
  • „MarkLogic“ „NoSQL“ duomenų bazė
  • Aerospike
  • Palyginimas: „MongDB“ ir „Couchbase Server“

Perskaitykite mūsų konkrečių NoSQL duomenų bazių technologijų vadovus:

  • Pagrindinės vertės „NoSQL“ duomenų bazės („Aerospike“, „Cosmos DB“, „Hazelcast“, „Memcached“ ir „Redis“)
  • Dokumento „NoSQL“ duomenų bazės („Cloudant“, „Cosmos DB“, „Couchbase“, „CouchDB“, „DynamoDB“ ir „Firebase“)

Pagrindinės funkcijos ir galimybės yra visiškai valdoma atsarginė kopija, nuolatinė atsarginė kopija, atkūrimas vienu metu, užklausos momentinės nuotraukos, automatiškai sugeneruotos diagramos, realaus laiko našumo skydelis ir pritaikomas įspėjimas. Naudodamiesi įmontuota „Live Migration Service“, vartotojai gali importuoti tiesioginius duomenis į „MongoDB Atlas“, kuo mažiau paveikdami programas.

Duomenų bazė yra optimali natūraliam dokumentų, kitų tipų duomenų rinkinių saugojimui, apdorojimui ir prieigai prie jų, be to, ji yra populiari tarp kūrėjų, nes ja lengva naudotis, jos skalės atitinka sudėtingiausias programas ir siūlo išsamią įrankių ir partnerių ekosistemą, sako Yuhanna. . Dažniausiai naudojami „MongoDB“ atvejai yra personalizavimas, analizė realiuoju laiku, daiktų internetas (IoT), didieji duomenys, produktų / turto katalogai, saugumo ir sukčiavimo nustatymas, mobiliosios programos, duomenų centrai, turinio valdymas ir socialinės bei bendradarbiavimo programos.

„Amazon DynamoDB“

„Amazon DynamoDB“ yra dar viena populiari debesų pagrindu sukurta „NoSQL“ duomenų bazė. „Amazon DynamoDB“ yra visiškai valdoma „NoSQL“ platforma, naudojanti kietojo kūno diską (SSD) duomenims saugoti, apdoroti ir prieigai palaikyti aukšto našumo ir mastelio valdomoms programoms.

Jis automatiškai suskaido duomenis serveriuose, atsižvelgdamas į darbo krūvio pralaidumą ir saugojimo reikalavimus, ir tvarko didesnius didelio našumo naudojimo atvejus.

Vartotojai gali keisti, stebėti ir valdyti savo lenteles tiek per programų programavimo sąsajas (API), tiek „Amazon Web Services Management Console“. „DynamoDB“ yra glaudžiai integruota su „Amazon EMR“ (valdoma „Apache Hadoop“, „Apache Spark“ ir HBase sistema), kuri suteikia galimybę vykdyti užklausas, apimančias kelis duomenų šaltinius.

Platforma palaiko tiek pagrindinius vertės, tiek dokumentų modelius, taip pat turi biblioteką, skirtą geografinėms erdvėms indeksuoti. Organizacijos naudoja „DynamoDB“, kad palaikytų įvairius naudojimo atvejus, įskaitant reklamines kampanijas, socialinės žiniasklaidos programas, žaidimų informacijos stebėjimą, jutiklių ir žurnalų duomenų rinkimą ir analizavimą bei elektroninę komerciją.

„DataStax“ ir „DataStax Enterprise Enterprise“

„DataStax“ naudoja „Apache Cassandra“ paskirstymui tarp duomenų centrų. Stiprus „DataStax NoSQL“ pliusas buvo jo pasaulinė paskirstyta architektūra, sako „Forrester“ vadovė Yuhanna. „DataStax“ platina, prisideda ir palaiko atvirojo kodo projekto „Apache Cassandra“ komercinės įmonės versiją. „Cassandra“ yra plačios eilės parduotuvė, paskirstyta raktinių verčių duomenų bazė, pagrįsta „Google Bigtable“.

Tarp pagrindinių jo bruožų yra gedimų toleravimas, išplėtimo architektūra, prieiga prie mažo delsos duomenų ir supaprastintas administravimas. „DataStax“ teikia papildomas funkcijas, pvz., Analizę, paiešką, stebėjimą, atmintį ir saugumą, kad palaikytų svarbiausias programas.

„DataStax Enterprise“ palaiko įvairaus tipo verslo programas, įskaitant sandorių, analitinę, nuspėjamąją analizę ir mišrius darbo krūvius. Jis siūlo platesnes kelių modelių galimybes, palaikant grafikų ir JSON duomenis. Dažniausiai naudojami sukčiavimo atvejai, produktų katalogai, vartotojų individualizavimas, rekomendacijų varikliai ir daiktų internetas.

„Couchbase“

„Couchbase“ yra JSON dokumentų palaikymo duomenų bazių platforma, kurią platina „Couchbase Inc.“. Atvirojo kodo „NoSQL“ DBVS palaiko plačius naudojimo atvejus.

„Couchbase Server“, atvirojo kodo „NoSQL“ raktų ir dokumentų duomenų bazė su įmontuota talpykla, kreipiasi į įmones, kurioms reikalinga duomenų bazė, galinti pateikti našumą, kelių modelių, mastelio ir automatikos galimybes, sako Yuhanna.

Organizacijos naudoja „Couchbase“, kad palaikytų socialines ir mobilias programas, turinio ir metaduomenų parduotuves, el. Prekybos operacijas ir internetines žaidimų programas. „Couchbase“ teikia visapusišką dokumentų, lankstaus duomenų modelio, indeksavimo, viso teksto paieškos ir „MapReduce“ palaikymo analizę realiuoju laiku.

Šią platformą didžiosios įmonės naudoja įvairiems kritiniams krūviams palaikyti, įskaitant operacinius ir analitinius procesus.

„Redis Enterprise“

Remiama „Redis Labs“, atvirojo kodo platforma „Redis Enterprise“ yra viena iš labiausiai paplitusių raktų vertės NSQ duomenų bazių, sako IDC „Olofson“. (Sužinokite daugiau apie „Redis“ naudojimą matavimui realiuoju laiku, prieigos valdymo valdymą ir srautą formuojančias „WebSockets“.)

„Redis“ siūlo našumą, atmintyje esančią duomenų bazę, palaikančią tiek atpalaiduotą, tiek tvirtą nuoseklumą, lanksčią schemos modelį, aukštą prieinamumą ir lengvą diegimą, sako Forresterio Yuhanna.

„Redis Labs“ sukūrė papildomas funkcijas ir technologijas, kurios apima atvirojo kodo programinę įrangą ir suteikia patobulintą „Redis“ diegimo architektūrą, kartu palaikydama atvirojo kodo API.

Duomenų modelis palaiko pagrindinę vertę; įvairios duomenų struktūros, tokios kaip sąrašai, rinkiniai, bitų žemėlapiai ir maišos; ir įvairių modelių, naudojant prijungiamus modulius, tokius kaip paieška, grafikas, JSON ir XML. „Redis“ palaiko įvairius naudojimo atvejus, įskaitant realaus laiko analizę, operacijas, duomenų įvedimą, socialinę žiniasklaidą, darbo valdymą, pranešimų eilėse ir talpyklą.

MarkLogic

„MarkLogic NoSQL Database“ yra operacinė ir operacinė įmonių duomenų bazė, sukurta „NoSQL“ greičiui ir mastui. Taikant daugiamodelį metodą, duomenų bazė suteikia galimybę integruoti ir saugoti svarbiausius duomenis, tada leidžia peržiūrėti tuos duomenis kaip dokumentus, kaip diagramą ar kaip santykinius duomenis - vietoje, virtualizuotuose ar debesyje.

Tai suteikia aukštą prieinamumą ir saugumo funkcijas duomenų lygiu, įskaitant ACID atitiktį, elementų lygio saugumą, anonimizavimą, redagavimą ir išplėstinį šifravimą. Dėl šių priežasčių jis tinka įmonėms, norinčioms dalytis dideliu kiekiu neskelbtinos informacijos. „MarkLogic“ taip pat yra vienintelė „NoSQL“ duomenų bazė, turinti „Common Criteria“ sertifikatą.

Kitomis pagrindinėmis funkcijomis siekiama pagerinti vartotojo patirtį sukuriant vieną, vieningą duomenų, kuriame galima ieškoti ir kuriuos galima bet kada patvirtinti naudojant metaduomenis, vaizdą. Šios funkcijos apima bitemporalą, semantiką, galimybę įsisavinti tiek struktūrizuotus, tiek nestruktūruotus duomenis (JSON, XML, RDF, geospatialinių ir didelių dvejetainių failų savoji saugykla) ir universalųjį indeksą „ko nors paklausti“.

Veikiantis duomenų centras, padedantis spręsti valdymą ir įmonių atitiktį, daro „MarkLogic“ naudingą didelėms įmonėms, turinčioms duomenų saugyklas, taip pat toms, kurios susiduria su reglamentais ir padidėjusia grėsme kibernetiniam saugumui.

Kitos „NoSQL“ parinktys

Kiti atvirojo kodo ir komerciniai „NoSQL“ duomenų bazių pasiūlymai apima:

  • „Blazegraph“, iš „Systap“
  • „Google Bigtable“ iš „Google“
  • Helis, iš Levyx
  • „Microsoft Azure Cosmos DB“ iš „Microsoft“
  • Neo4j, iš Neo4j
  • „Oracle NoSQL“ duomenų bazė iš „Oracle“
  • „ThingSpan“, iš objektyvumo