Skip to main content

NoSQL Databaser Oversigt

Database : le noSql est-il une mode ou le futur des bases de données ? (Kan 2024)

Database : le noSql est-il une mode ou le futur des bases de données ? (Kan 2024)
Anonim

Akronymet NoSQL blev udarbejdet i 1998. Mange tror, ​​at NoSQL er et nedsættende udtryk, der er skabt til at poke på SQL. I virkeligheden betyder udtrykket ikke kun SQL. Ideen er, at begge teknologier kan eksistere sammen og hver har sin plads. NoSQL-bevægelsen har været i nyheden i de sidste par år, da mange af Web 2.0-lederne har vedtaget en NoSQL-teknologi. Virksomheder som Facebook, Twitter, Digg, Amazon, LinkedIn og Google bruger alle NoSQL på en eller anden måde. Lad os nedbryde NoSQL, så du kan forklare det til din CIO eller endda dine kolleger.

NoSQL opstod fra et behov

Data opbevaring: Verdens lagrede digitale data måles i exabyte. En exabyte er lig med en milliard gigabyte (GB) data. Ifølge Internet.com var mængden af ​​lagrede data, der blev tilføjet i 2006, 161 exabyte. Bare 4 år senere i 2010 vil mængden af ​​lagrede data være næsten 1.000 ExaBytes, hvilket er en stigning på over 500%. Med andre ord er der mange data, der gemmes i verden, og det vil bare fortsætte med at vokse.

Sammenkoblede data: Data fortsætter med at blive mere forbundet. Oprettelsen af ​​nettet fremmes i hyperlinks, blogs har pingbacks, og hvert stort socialt netværkssystem har tags, der knytter ting sammen. Store systemer er bygget til sammenkobling.

Kompleks datastruktur: NoSQL kan nemt håndtere hierarkiske indlejrede datastrukturer. For at opnå det samme i SQL, ville du have brug for flere relationelle tabeller med alle slags nøgler. Derudover er der et forhold mellem ydeevne og datakompleksitet. Ydeevne kan nedbrydes i en traditionel RDBMS, da vi gemmer de massive mængder data, der kræves i sociale netværksapplikationer og det semantiske web.

Hvad er NoSQL?

Jeg tror en måde at definere NoSQL på at overveje, hvad det ikke er. Det er ikke SQL, og det er ikke relationelt. Som navnet antyder, er det ikke en erstatning for en RDBMS, men komplimenterer den. NoSQL er designet til distribuerede datalagre til meget store databehov. Tænk på Facebook med sine 500.000.000 brugere eller Twitter, der opsamler Terabits data hver eneste dag.

I en NoSQL database er der ikke et fast skema og ingen tilmeldinger. En RDBMS "skaleres" ved at få hurtigere og hurtigere hardware og tilføje hukommelse. NoSQL kan derimod udnytte "scaling out". Scaling out refererer til at sprede belastningen over mange råvaresystemer. Dette er komponenten af ​​NoSQL, der gør det til en billig løsning til store datasæt.

NoSQL Kategorier

Den nuværende NoSQL verden passer ind i 4 grundlæggende kategorier.

  1. Nøgleværdighedsbutikker er primært baseret på Amazons Dynamo Paper, som blev skrevet i 2007. Hovedidén er eksistensen af ​​et hashbord, hvor der er en unik nøgle og en peger på en bestemt dataindgang. Disse mappings er normalt ledsaget af cache mekanismer for at maksimere ydeevnen.
    1. Kolonne familie butikker blev oprettet for at gemme og behandle meget store mængder data fordelt over mange maskiner. Der er stadig nøgler, men de peger på flere kolonner. I tilfælde af BigTable (Googles kolonnefamilie NoSQL-model) identificeres rækker med en radnøgle med de data, der sorteres og gemmes af denne nøgle. Kolonnerne er arrangeret af kolonnefamilie.
  2. Dokumentdatabases blev inspireret af Lotus Notes og ligner nøgleværdisbutikker. Modellen er grundlæggende versioner af dokumenter, der er samlinger af andre nøgleværdisamlinger. De halvstrukturerede dokumenter gemmes i formater som JSON.
  3. Grafdatabases er bygget med noder, forhold mellem noter og egenskaber af knuder. I stedet for tabeller af rækker og kolonner og den stive struktur af SQL, anvendes en fleksibel grafmodel, der kan skalere på tværs af mange maskiner.

Store NoSQL-spillere

De største spillere i NoSQL er opstået primært på grund af de organisationer, der har vedtaget dem. Nogle af de største NoSQL teknologier omfatter:

  • Dynamo: Dynamo blev oprettet af Amazon.com og er den mest fremtrædende Key-Value NoSQL database. Amazon havde brug for en meget skalerbar distribueret platform for deres e-handelsvirksomheder, så de udviklede Dynamo. Amazon S3 bruger Dynamo som oplagringsmekanisme.
  • Cassandra: Cassandra blev åbnet af Facebook og er en kolonneorienteret NoSQL-database.
  • BigTable: BigTable er Googles proprietære kolonneorienterede database. Google tillader brugen af ​​BigTable, men kun for Google App Engine.
  • SimpleDB: SimpleDB er en anden Amazon-database. Anvendt til Amazon EC2 og S3, er det en del af Amazon Web Services, der opkræver gebyrer afhængigt af brugen.
  • CouchDB: CouchDB sammen med MongoDB er open source dokumentorienterede NoSQL databaser.
  • Neo4J: Neo4j er en open source graf database.

Forespørger NoSQL

Spørgsmålet om, hvordan man spørger en NoSQL-database, er, hvad de fleste udviklere er interesseret i. Når alt kommer til alt, lagrer data, der er gemt i en stor database, ikke nogen noget godt, hvis du ikke kan hente og vise det til slutbrugere eller webtjenester. NoSQL-databaser giver ikke et højtstående declarative foresprogssprog som SQL. I stedet er spørgsmålet om disse databaser datamodelspecifik.

Mange af NoSQL-platforme giver mulighed for RESTful-grænseflader til dataene. Andre tilbuds-API'er. Der er et par forespørgselsværktøjer, der er blevet udviklet som forsøg på at forespørge flere NoSQL-databaser. Disse værktøjer fungerer typisk på tværs af en enkelt NoSQL kategori. Et eksempel er SPARQL. SPARQL er en deklarativ forespørgselsspecifikation designet til grafdatabaser. Her er et eksempel på en SPARQL-forespørgsel, der henter URL-adressen til en bestemt blogger (tak til IBM):

PREFIX foaf: SELECT? UrlFRA HVOR {Bidragyder Foaf: Navn "Jon Foobar".? bidragyder foaf: weblog? url.}

Fremtiden for NoSQL

Organisationer, der har massive behov for datalagring ser seriøst ud på NoSQL. Tilsyneladende bliver konceptet ikke så meget trækkraft i mindre organisationer. I en undersøgelse foretaget af informationsugen har 44% af erhvervslivet IT-fagfolk ikke hørt om NoSQL. Endvidere rapporterede kun 1% af respondenterne, at NoSQL er en del af deres strategiske retning. Det er klart, at NoSQL har sin plads i vores tilsluttede verden, men skal fortsætte med at udvikle sig for at få den masseappel, som mange tror det kunne have.