Programmering

Hvordan velge riktig NoSQL-database

NoSQL-databaser gir høy driftshastighet og økt fleksibilitet for programvareutviklere og andre brukere sammenlignet med tradisjonelle tabell (eller SQL) databaser.

Datastrukturene som brukes av NoSQL-databaser - nøkkelverdi, bred kolonne, graf eller dokument - skiller seg fra de som brukes i relasjonsdatabaser. Som et resultat NoSQL-databaser. NoSQL-databaser kan skaleres over tusenvis av servere, men noen ganger med tap av datakonsistens. Men det som gjør NoSQL-databaser spesielt relevante i dag, er at de er spesielt godt egnet for å jobbe med store sett med distribuert data, noe som gjør dem til et godt valg for store data- og analyseprosjekter.

Hvordan velge en NoSQL-database: Nøkkelfaktorer

Med mer enn to dusin åpen kildekode og kommersielle NoSQL-databaser i markedet, hvordan velger du riktig produkt eller skytjeneste?

En viktig faktor er å vite formålet du vil sette dataene til, sier Carl Olofson, en forskningsdirektør for IDC.

NoSQL-databaser varierer i arkitektur og funksjon, så du må velge den typen som er best for den ønskede oppgaven:

  • Generelt er nøkkelverdibutikker best for vedvarende deling av data ved flere prosesser eller mikrotjenester i et program.
  • Hvis du planlegger å gjøre dype forholdsanalyser for nærhetsberegning, svindeloppdagelse eller evaluering av tilknytningsstruktur, kan en grafdatabase være det bedre valget.
  • Hvis du trenger å samle inn data veldig raskt og i store mengder for analyse, kan du se i en bred kolonnebutikk. Slike NoSQL-databaser har også en tendens til å tilby dokument- og grafstøtte.

Ikke anta at ditt første prosjekt er den eneste bruksmodellen du vil bruke i databasen. Du kan bare begynne å gjøre tilstands- eller øktdatabehandling, så se etter å gjøre transaksjonsbehandling, og senere gjøre litt analyse.

På kort sikt bør fokus være på ytelse, skala, sikkerhet, støtte for ulike arbeidsbelastninger (inkludert transaksjons-, drifts- og analyse), integrering med eksisterende økosystemer, administrasjonsinnsats, skystøtte og type brukssaker som støttes, sier Noel Yuhanna, en hovedanalytiker ved Forrester Research. Av disse er sikkerhet kritisk. NoSQL-databaser som har sikkerhetssertifiseringer, bør vurderes høyere. Se etter funksjoner som kryptering av både data i hvile og data i bevegelse for å beskytte sensitiv informasjon.

Ikke alle NoSQL-databaser kan skaleres godt, sier Yuhanna, så ikke ta for gitt at bare fordi et produkt er i NoSQL-kategorien, vil det skalere og yte bedre enn relasjonsdatabaser.

NoSQL tilbyr forskjellige konsistensnivåer i skaleringsmodellen, så se på løsninger som oppfyller dine spesifikke krav. For eksempel, hvis du vil støtte svært kritiske banklignende transaksjoner, er relasjonsdatabaser fortsatt den beste løsningen.

NoSQL-databasene du bør vurdere

Her er NoSQL-databaser du bør vurdere.

MongoDB

MongoDB er den mest populære NoSQL-databasen. En gratis og åpen kildekode, tverrplattform, dokumentorientert database, MongoDB bruker JSON-lignende dokumenter med skjemaer. Plattformen vedlikeholdes av MongoDB Inc. og blir publisert under en kombinasjon av Gnu Affero General Public License og Apache License.

MongoDB Atlas inkluderer operasjonell god praksis selskapet har lært av å optimalisere tusenvis av distribusjoner i organisasjoner i alle størrelser. Det skybaserte tilbudet håndterer databaseadministrasjon, oppsett og konfigurering, programvareoppdatering, overvåking og sikkerhetskopiering, og det fungerer som en distribuert databaseklynge.

gjennomgår NoSQL-databaser

Les våre grundige, praktiske anmeldelser av viktige NoSQL-databaser

  • MongoDB
  • MongoDB Atlas
  • Couchbase
  • Cosmos DB
  • Neo4j
  • Google Bigtable
  • MarkLogic NoSQL-database
  • Aerospike
  • Sammenligning: MongDB vs. Couchbase Server

Og les våre guider til spesifikke NoSQL-databaseteknologier:

  • Nøkkelverdi NoSQL-databaser (Aerospike, Cosmos DB, Hazelcast, Memcached og Redis)
  • Dokument NoSQL-databaser (Cloudant, Cosmos DB, Couchbase, CouchDB, DynamoDB og Firebase)

Viktige funksjoner og funksjoner inkluderer fullstendig administrert sikkerhetskopi, kontinuerlig sikkerhetskopiering, rettidig gjenoppretting, stillbare spørsmål, automatisk genererte diagrammer, et sanntids ytelsespanel og tilpassbar varsling. Brukere kan importere live data til MongoDB Atlas med minimal innvirkning på applikasjoner ved hjelp av den innebygde Live Migration Service.

Databasen er optimal for naturlig lagring, behandling og tilgang til dokumenter og andre typer datasett, og den er populær blant utviklere fordi den er enkel å bruke, skalerer for å møte krevende applikasjoner og tilbyr et omfattende økosystem med verktøy og partnere, sier Yuhanna . Vanlige bruksområder for MongoDB inkluderer personalisering, sanntidsanalyse, ting om internett (IoT), big data, produkt- / aktivakataloger, sikkerhet og svindeloppdagelse, mobilapplikasjoner, datahubber, innholdsadministrasjon og sosiale og samarbeidsapplikasjoner.

Amazon DynamoDB

Amazon DynamoDB er en annen populær skybasert NoSQL-database. Amazon DynamoDB er en fullstendig administrert NoSQL-plattform som bruker en solid state-stasjon (SSD) til å lagre, behandle og få tilgang til data for å støtte høy ytelse og skaladrevne applikasjoner.

Den deler data automatisk på tvers av servere basert på arbeidsmengdenes gjennomstrømnings- og lagringskrav, og håndterer større tilfeller med høy ytelse.

Brukere kan skalere, overvåke og administrere bordene sine både via applikasjonsprogrammeringsgrensesnitt (APIer) og Amazon Web Services Management Console. DynamoDB er tett integrert med Amazon EMR (et administrert rammeverk for Apache Hadoop, Apache Spark og HBase) som gir muligheten til å kjøre spørringer som strekker seg over flere datakilder.

Plattformen støtter både nøkkelverdier og dokumentmodeller, og har også et bibliotek for geospatial indeksering. Organisasjoner bruker DynamoDB for å støtte en rekke brukstilfeller, inkludert reklamekampanjer, sosiale medieapplikasjoner, sporing av spillinformasjon, innsamling og analyse av sensor- og loggdata og e-handel.

DataStax og DataStax Enterprise Platform

DataStax utnytter Apache Cassandra for distribusjon på tvers av datasentre. Et sterkt pluss for DataStax NoSQL har vært den globale distribuerte arkitekturen, sier Forresters Yuhanna. DataStax distribuerer, bidrar til og støtter den kommersielle bedriftsversjonen av Apache Cassandra, et open source-prosjekt. Cassandra er en omfattende butikk, distribuert nøkkelverdidatabase basert på Google Bigtable.

Blant de viktigste funksjonene er feiltoleranse, utskalingsarkitektur, datatilgang med lav latens og forenklet administrasjon. DataStax tilbyr tilleggsfunksjoner som analyse, søk, overvåking, minne og sikkerhet for å støtte kritiske applikasjoner.

DataStax Enterprise støtter forskjellige typer forretningsapplikasjoner, inkludert transaksjonell, analytisk, prediktiv analyse og blandet arbeidsmengde. Den tilbyr bredere multimodellmuligheter med støtte for graf- og JSON-data. De viktigste brukssakene inkluderer oppdagelse av svindel, produktkataloger, personalisering av forbrukerne, anbefalingsmotorer og IoT.

Couchbase

Couchbase er en JSON dokumentstøttedatabaseplattform distribuert av Couchbase Inc. Den åpne kildekoden NoSQL DBMS støtter bredt brukstilfeller.

Couchbase Server, en åpen kildekode NoSQL nøkkelverdi og dokumentdatabase med innebygd cache, appellerer til bedrifter som trenger en database som kan levere ytelse, multimodell, skala og automatisering, sier Yuhanna.

Organisasjoner bruker Couchbase til å støtte sosiale og mobile applikasjoner, innholds- og metadatabutikker, e-handelstransaksjoner og online spillapplikasjoner. Couchbase gir full støtte for dokumenter, fleksibel datamodell, indeksering, fulltekstsøk og MapReduce for sanntidsanalyse.

Plattformen brukes av store bedrifter for å støtte ulike kritiske arbeidsbelastninger, inkludert operasjonelle og analytiske prosesser.

Redis Enterprise

Sponset av Redis Labs, åpen kildekode-plattform Redis Enterprise er en av de vanligste nøkkelverdiene NSQ-databaser, sier IDCs Olofson. (Lær mer om hvordan du bruker Redis til måling i sanntid, administrering av tilgangskontroll og trafikkformende WebSockets.)

Redis tilbyr en høytytende database i minnet som støtter både avslappet og sterk konsistens, en fleksibel planløs modell, høy tilgjengelighet og enkel distribusjon, sier Forresters Yuhanna.

Redis Labs utviklet tilleggsfunksjoner og teknologi som innkapsler programvaren med åpen kildekode og gir en forbedret distribusjonsarkitektur for Redis, mens den støtter åpen kildekode-API.

Datamodellen støtter nøkkelverdi; en rekke datastrukturer som lister, sett, bitmaps og hashes; og en rekke modeller gjennom pluggbare moduler som søk, graf, JSON og XML. Redis støtter en rekke brukssaker, inkludert sanntidsanalyse, transaksjoner, datainntak, sosiale medier, jobbadministrasjon, meldingskø og caching.

MarkLogic

MarkLogic NoSQL Database er en operativ og transaksjonsbasert forretningsdatabase designet for NoSQL-hastighet og skala. Ved hjelp av en multimodell-tilnærming gir databasen integrering og lagring av kritiske data, og lar deg se dataene som dokumenter, som en graf eller som relasjonsdata - enten lokale, virtualiserte eller i skyen.

Den gir høy tilgjengelighets- og sikkerhetsfunksjoner på datanivå, inkludert ACID-samsvar, elementnivåsikkerhet, anonymisering, redaksjon og avansert kryptering. Av disse grunner er det egnet for bedrifter som ønsker å dele enorme mengder sensitiv informasjon. MarkLogic er også den eneste NoSQL-databasen med en Common Criteria-sertifisering.

Andre viktige funksjoner tar sikte på å forbedre brukeropplevelsen ved å lage en enkelt, enhetlig visning av data som er søkbare og kan valideres når som helst ved hjelp av metadata. Disse funksjonene inkluderer bitemporal, semantikk, muligheten til å innta både strukturerte og ustrukturerte data (naturlig lagring for JSON, XML, RDF, geospatiale og store binærfiler), og den "spør hva som helst" Universal Index.

Et operativt datahub som hjelper til med å håndtere styring og overholdelse av foretak, gjør MarkLogic nyttig for store bedrifter med datasiloer, så vel som de som står overfor regelverk og økte cybersikkerhetstrusler.

Andre NoSQL-alternativer

Andre åpen kildekode- og kommersielle NoSQL-databasetilbud inkluderer:

  • Blazegraph, fra Systap
  • Google Bigtable, fra Google
  • Helium, fra Levyx
  • Microsoft Azure Cosmos DB, fra Microsoft
  • Neo4j, fra Neo4j
  • Oracle NoSQL-database, fra Oracle
  • ThingSpan, fra objektivitet
$config[zx-auto] not found$config[zx-overlay] not found