CouchDB Introduction

Database management system gir mekanisme for lagring og gjenfinning av data. Det er tre hovedtyper av databasesystemene nemlig −

RDBMS

NoSQL

RDBMS

RDBMS står for relasjonsdatabase Management System. RDBMS er grunnlaget for SQL, og for alle moderne databasesystemer som MS SQL Server, IBM DB2, Oracle, MySQL, og Microsoft Access.

En relasjonsdatabase management system (RDBMS) er en database management system (DBMS ) som er basert på relasjonsmodellen som ble introdusert av EF Codd.

Dataene i RDBMS er lagret i databaseobjekter som kalles tabeller
. Tabellen er en samling av relaterte data oppføringer og den består av kolonner og rader. Den lagrer bare strukturerte data.

NoSQL-databaser

En NoSQL database (noen ganger kalt som ikke bare SQL) er en database som gir en mekanisme for å lagre og hente andre enn tabellrelasjoner som brukes i data relasjonsdatabaser. Disse databasene er skjema gratis, støtter enkel replikering, har enkel API, til slutt konsekvent, og kan håndtere store datamengder (big data)

Det primære målet for en NoSQL database er å ha følgende &minus.;

Enkelhet av design, etter
Horisontal skalering og

Finer kontroll over tilgjengelighet.

NoSQL-databaser bruke ulike datastrukturer i forhold til relasjonsdatabaser . Det gjør noen operasjoner raskere i NoSQL. Egnetheten av et gitt NoSQL database avhenger av problemet må løse. Disse databasene butikken både strukturerte data og ustrukturerte data som lydfiler, videofiler, dokumenter, etc. Disse NoSQL-databaser er klassifisert i tre typer, og de er forklart nedenfor.

Key-verdi Butikk
− Disse databasene er konstruert for lagring av data i nøkkelverdipar og disse databasene vil ikke ha noen skjema. I disse databasene, består hver dataverdi på en indeksert nøkkel og en verdi for den tasten

Eksempler og minus.; Berkeley DB, Cassandra, DynamoDB, Riak

Kolonne Butikk Anmeldelser og minus.; I disse databasene, blir data som er lagret i celler inndelt i kolonner med data, og disse kolonnene blir ytterligere gruppert i Kolonne familier. Disse familiene kolonne kan inneholde et ubegrenset antall kolonner

Eksempler og minus.; BigTable, HBase, og HyperTable

Document Butikk Anmeldelser og minus.; Dette er databasene utviklet på den grunnleggende ideen om nøkkelverdi butikker hvor "dokumenter" inneholder mer komplekse data. Her blir hvert dokument tildelt en unik nøkkel som brukes til å hente dokumentet. Disse er designet for lagring, gjenvinning og håndtering av dokumentorientert informasjon, også kjent som semi-strukturerte data

Eksempler og minus.; CouchDB og MongoDB.

Hva er CouchDB?

CouchDB er en åpen kildekode-database utviklet av Apache Software Foundation. Fokuset er på brukervennlighet, omfavner nettet. Det er en NoSQL dokument butikken database.

Den bruker JSON, til å lagre data (dokumenter), java script som sin spørrespråk for å transformere dokumenter, http protokoll for api å få tilgang til dokumenter, må du sjekke indeksene med nettleser. Det er en multi mester program utgitt i 2005, og det ble en apache-prosjektet i 2008.

Hvorfor CouchDB?

  • CouchDB ha en HTTP-basert REST API, som bidrar til å kommunisere med databasen lett. Og den enkle strukturen i HTTP-ressurser og metoder (GET, PUT, DELETE) er enkle å forstå og bruke.

  • Som vi lagre data i det fleksible dokumentbasert struktur, er det ingen trenger å bekymre seg om strukturen av dataene.

    Brukere er utstyrt med kraftige data mapping, som lar spørring, kombinere, og filtrere informasjonen.

    CouchDB gir enkel å bruke replikering, ved hjelp som du kan kopiere, dele og synkronisere data mellom databaser og maskiner.

    Data Model

    < p> Database er den ytterste datastruktur /container i CouchDB.

    Hver database er en samling av uavhengige dokumenter.

    Hvert dokument opprettholder sin egne data og selvstendig skjema.

    Dokument metadata inneholder informasjon om endringer, som gjør det mulig å slå sammen forskjellene skjedde mens databasene ble frakoblet.

    CouchDB implementerer multi-versjon concurrency kontroll, for å unngå behovet for å låse databasen feltet under skriver.

    Egenskaper til
    Dokument lager CouchDB

    CouchDB er et dokument lagring NoSQL database. Dokumenter er den primære enhet av data, hvert felt er unikt navngitt og inneholde verdier av ulike datatyper som tekst, tall, boolske, lister, etc ... I disse dokumentene er det ingen grense for tekststørrelse eller element teller.

    CouchDB gir et API kalt RESTful HTTP API for lesing og oppdatering (legge til, redigere, slette) database dokumenter.

    Nedenfor gis er utvalget JSON dokumentstrukturen fulgt av CouchDB .. product: { "felt": "verdi", "feltet": "verdi", "feltet": "verdi",}
    ACID Properties

    CouchDB fil layout og engasjement system har alle de ACID egenskaper <. br>

    Når dataene er lagt inn på plate vil det ikke bli overskrevet. Dokumentoppdateringer (legge til, redigere, slette) følger atomicity, dvs. de vil bli frelst helt eller ikke lagret i det hele tatt. Databasen vil ikke ha noen delvis lagret eller redigert dokumenter.

    Nesten alle disse oppdatering er serialisert og et ubegrenset antall klienter kan lese et dokument uten å vente, og uten å bli avbrutt.

    Press

    Press er en operasjon for å benytte ekstra diskplass for databasen ved å fjerne ubrukte data. Mens du utfører komprimeringsoperasjon på en bestemt fil, en fil med filtypen .compaction
    er opprettet og alle aktive /faktiske dataene kopieres (klonet) til denne filen, når kopieringen er ferdig da den gamle filen kastes. Databasen er fortsatt online i løpet av komprimering og alle oppdateringer og leser får lov til å fullføre vellykket.

    Visninger

    Data i CouchDB lagres i semi-strukturerte dokumenter som er fleksible med individuelle implisitte strukturer, men Det er et enkelt dokument modell for lagring av data og deling. Hvis vi ønsker å vise våre data på mange forskjellige måter, trenger vi en måte å filtrere, organisere og rapportere på data som ikke har blitt delt inn tabeller.

    For å løse dette problemet, gir CouchDB utsikt modell. Visninger er metoden for aggregering og rapportering på dokumenter i en database, og er bygget on-demand å aggregere, bli med og rapportere om database dokumenter. Fordi utsikten er bygget dynamisk og påvirker ikke den underliggende dokument, kan du ha så mange forskjellige visnings representasjoner av de samme dataene som du vil.

    Historie

    En kort av CouchDB fortid er som følger −.

    CouchDB ble skrevet på Erlang programmeringsspråk

    Den ble startet av Damien Katz i 2005.

    CouchDB ble en Apache-prosjektet i 2008.

    Den gjeldende versjonen av CouchDB er 1.61. Anmeldelser