Programmering

Sådan vælger du den rigtige NoSQL-database

NoSQL-databaser giver høj driftshastighed og øget fleksibilitet for softwareudviklere og andre brugere sammenlignet med traditionelle tabel- (eller SQL) -databaser.

Datastrukturer, der bruges i NoSQL-databaser - nøgleværdi, bred søjle, graf eller dokument - adskiller sig fra dem, der bruges i relationsdatabaser. Som et resultat NoSQL-databaser. NoSQL-databaser kan skaleres på tusindvis af servere, men nogle gange med tab af datakonsistens. Men hvad der gør NoSQL-databaser særlig relevante i dag, er at de er særligt velegnede til at arbejde med store sæt distribuerede data, hvilket gør dem til et godt valg til big data- og analyseprojekter.

Sådan vælges en NoSQL-database: Nøglefaktorer

Med mere end to dusin open source og kommercielle NoSQL-databaser på markedet, hvordan vælger du det rigtige produkt eller skytjeneste?

En vital faktor er at kende det formål, som du ønsker at lægge dataene til, siger Carl Olofson, en IDC-forskningsdirektør.

NoSQL-databaser varierer i arkitektur og funktion, så du skal vælge den type, der er bedst til den ønskede opgave:

  • Generelt er nøgleværdibutikker bedst til vedvarende deling af data ved flere processer eller mikrotjenester i en applikation.
  • Hvis du planlægger at lave dybdeforholdsanalyse til nærhedsberegning, afsløring af svig eller evaluering af associerende struktur, kan en grafdatabase være det bedre valg.
  • Hvis du har brug for at indsamle data meget hurtigt og i store mængder til analyse, skal du kigge i en bred søjlebutik. Sådanne NoSQL-databaser har også en tendens til at understøtte dokument- og grafstøtte.

Antag ikke, at dit oprindelige projekt er den eneste anvendelsesmodel, som du vil anvende i databasen. Du starter muligvis bare ved at foretage tilstands- eller sessionsdatastyring, så se efter at udføre transaktionsbehandling og stadig senere foretage nogle analyser.

På kort sigt skal fokus være omkring ydeevne, skala, sikkerhed, support til forskellige arbejdsbelastninger (herunder transaktionsmæssige, operationelle og analyser), integration med eksisterende økosystemer, administrationsindsats, cloud support og type brugssager, der understøttes, siger Noel Yuhanna, en hovedanalytiker ved Forrester Research. Af disse er sikkerhed kritisk. NoSQL-databaser, der har sikkerhedscertificeringer, bør overvejes højere. Se efter funktioner såsom kryptering af både data i hvile og data i bevægelse for at beskytte følsomme oplysninger.

Desuden kan ikke alle NoSQL-databaser skaleres godt, siger Yuhanna, så tag ikke for givet, at bare fordi et produkt er i NoSQL-kategorien, skalerer det og klarer sig bedre end relationsdatabaser.

NoSQL tilbyder forskellige konsistensniveauer i skaleringsmodellen, så se på løsninger, der opfylder dine specifikke krav. For eksempel, hvis du vil understøtte meget kritiske banklignende transaktioner, er relationsdatabaser stadig den bedste løsning.

NoSQL-databaser, du bør overveje

Her er de NoSQL-databaser, du bør overveje.

MongoDB

MongoDB er den mest populære NoSQL-database. En gratis og open source, platformorienteret, dokumentorienteret database, MongoDB bruger JSON-lignende dokumenter med skemaer. Platformen vedligeholdes af MongoDB Inc. og udgives under en kombination af Gnu Affero General Public License og Apache License.

MongoDB Atlas inkorporerer operationel bedste praksis, som virksomheden har lært af at optimere tusindvis af implementeringer hos organisationer i alle størrelser. Det skybaserede tilbud håndterer databasestyring, opsætning og konfiguration, softwarepatching, overvågning og sikkerhedskopiering, og det fungerer som en distribueret databaseklynge.

gennemgår NoSQL-databaser

Læs vores dybtgående praktiske anmeldelser af vigtige NoSQL-databaser

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

Og læs vores guider til specifikke NoSQL-databaseteknologier:

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

Nøglefunktioner og funktioner inkluderer fuldt administreret sikkerhedskopi, kontinuerlig sikkerhedskopiering, point-in-time-gendannelse, forespørgselige snapshots, automatisk genererede diagrammer, et realtidspræstationspanel i realtid og tilpasselig alarm. Brugere kan importere live data til MongoDB Atlas med minimal indvirkning på applikationer ved hjælp af den indbyggede Live Migration Service.

Databasen er optimal til indbygget lagring, behandling og adgang til dokumenter og andre typer datasæt, og den er populær blandt udviklere, fordi den er nem at bruge, skaleres til at imødekomme krævende applikationer og tilbyder et omfattende økosystem af værktøjer og partnere, siger Yuhanna . Almindelige brugssager til MongoDB inkluderer personalisering, realtidsanalyse, Internet of Things (IoT), big data, produkt- / aktivkataloger, sikkerhed og afsløring af svig, mobilapplikationer, datahubs, indholdsstyring og sociale og samarbejdsapplikationer.

Amazon DynamoDB

Amazon DynamoDB er en anden populær skybaseret NoSQL-database. Amazon DynamoDB er en fuldt administreret NoSQL-platform, der bruger et SSD-drev (SSD) til at gemme, behandle og få adgang til data til understøttelse af applikationer med høj ydeevne og skala.

Det smelter automatisk data på tværs af servere baseret på arbejdsbelastningens krav til kapacitet og lagring og håndterer større højtydende brugssager.

Brugere kan skalere, overvåge og administrere deres tabeller både via applikationsprogrammeringsgrænseflader (API'er) og Amazon Web Services Management Console. DynamoDB er tæt integreret med Amazon EMR (en administreret ramme for Apache Hadoop, Apache Spark og HBase), der giver mulighed for at køre forespørgsler, der spænder over flere datakilder.

Platformen understøtter både nøgleværdimodeller og dokumentmodeller og har også et bibliotek til geospatial indeksering. Organisationer bruger DynamoDB til at understøtte en række brugssager, herunder reklamekampagner, sociale medieapplikationer, sporing af spiloplysninger, indsamling og analyse af sensor- og logdata og e-handel.

DataStax og DataStax Enterprise Platform

DataStax udnytter Apache Cassandra til distribution på tværs af datacentre. Et stærkt plus for DataStax NoSQL har været dens globale distribuerede arkitektur, siger Forresters Yuhanna. DataStax distribuerer, bidrager til og understøtter den kommercielle virksomhedsversion af Apache Cassandra, et open source-projekt. Cassandra er en bred række butik, distribueret nøgle-værdi database baseret på Google Bigtable.

Blandt dets nøglefunktioner er fejltolerance, udskalningsarkitektur, data med lav latensadgang og forenklet administration. DataStax leverer yderligere funktioner såsom analyse, søgning, overvågning, in-hukommelse og sikkerhed til understøttelse af kritiske applikationer.

DataStax Enterprise understøtter forskellige typer forretningsapplikationer, herunder transaktionsmæssige, analytiske, forudsigende analyser og blandede arbejdsbelastninger. Det tilbyder bredere multimodelfunktioner med understøttelse af graf- og JSON-data. De mest anvendte tilfælde inkluderer afsløring af svindel, produktkataloger, forbrugertilpasning, anbefalingsmotorer og IoT.

Couchbase

Couchbase er en JSON-dokumentunderstøttelsesdatabaseplatform distribueret af Couchbase Inc. Den åbne kilde NoSQL DBMS understøtter bred anvendelse.

Couchbase Server, en open source NoSQL-nøgleværdi og dokumentdatabase med indbygget cache, appellerer til virksomheder, der har brug for en database, der kan levere ydeevne, multimodel, skala og automatisering, siger Yuhanna.

Organisationer bruger Couchbase til at understøtte sociale og mobile applikationer, indholds- og metadataforretninger, e-handelstransaktioner og online spilapplikationer. Couchbase giver fuld understøttelse af dokumenter, fleksibel datamodel, indeksering, fuldtekstsøgning og MapReduce til realtidsanalyse.

Platformen bruges af store virksomheder til at understøtte forskellige kritiske arbejdsbelastninger, herunder operationelle og analytiske processer.

Redis Enterprise

Sponsoreret af Redis Labs er open source-platformen Redis Enterprise en af ​​de mest almindelige NSQ-databaser med nøgleværdi, siger IDCs Olofson. (Lær mere om brug af Redis til måling i realtid, styring af adgangskontrol og trafikformende WebSockets.)

Redis tilbyder en højtydende, hukommelsesdatabase, der understøtter både afslappet og stærk konsistens, en fleksibel skemaløs model, høj tilgængelighed og nem installation, siger Forresters Yuhanna.

Redis Labs udviklede yderligere funktioner og teknologi, der indkapsler open source-softwaren og giver en forbedret implementeringsarkitektur til Redis, mens den understøtter open source API.

Datamodellen understøtter nøgleværdi; en række datastrukturer såsom lister, sæt, bitmaps og hashes; og en række modeller gennem plugbare moduler som søgning, graf, JSON og XML. Redis understøtter en række brugssager, herunder realtidsanalyse, transaktioner, dataindtagelse, sociale medier, jobadministration, meddelelseskø og caching.

MarkLogic

MarkLogic NoSQL Database er en operationel og transaktionsbaseret virksomhedsdatabase designet til NoSQL-hastighed og skala. Ved hjælp af en multimodel-tilgang giver databasen integrering og lagring af vigtige data, hvorefter du kan se disse data som dokumenter, som en graf eller som relationsdata - hvad enten det er lokalt, virtualiseret eller i skyen.

Det giver høj tilgængelighed og sikkerhedsfunktioner på dataniveau, herunder ACID-overensstemmelse, element-niveau sikkerhed, anonymisering, redaktion og avanceret kryptering. Af disse grunde er det velegnet til virksomheder, der ønsker at dele enorme mængder følsom information. MarkLogic er også den eneste NoSQL-database med en Common Criteria-certificering.

Andre nøglefunktioner sigter mod at forbedre brugeroplevelsen ved at oprette en enkelt samlet visning af data, der kan søges og kan valideres når som helst ved hjælp af metadata. Disse funktioner inkluderer bitemporal, semantik, evnen til at indtage både strukturerede og ustrukturerede data (indbygget lagring til JSON, XML, RDF, geospatiale og store binære filer) og det universelle indeks "spørg hvad som helst".

Et operationelt datahub, der hjælper med at styre styring og overholdelse af virksomheder, gør MarkLogic nyttigt for store virksomheder med datasiloer såvel som dem, der står over for regler og øget cyber-sikkerhedstrusler.

Andre NoSQL-muligheder

Andre open source og kommercielle NoSQL database tilbud 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