RavenDB, et databasealternativ for .NET-utviklere

NoSQL-bevegelsen kjemper mot databasetablering med RDBMS-alternativ. Det overraskende ved denne bevegelsen er Microsofts anerkjennelse og beslutning om å omfavne RavenDB-tilbudet. Vi ser nærmere på RavenDB.

Hvem trenger et skjema?

NoSQL-initiativet utviklet seg av nødvendighet, fordi Google, Amazon og andre selskaper trengte alternative måter å håndtere store datamengder på. Resultatet er butikker med nøkkelverdi som BigTable eller dokumentlagring som CouchDB. Cloud-lagringsløsninger tilbyr ikke-tradisjonell (AKA non-RDBMS) lagring i tillegg med Window Azure Table Storage (basert på nøkkelverdipar) og Amazons EC2 (basert på Hadoop). Det grunnleggende temaet for disse systemene er hastighet og skalerbarhet, noe som ikke alltid er et alternativ med tradisjonelle databasesystemer.

Den grunnleggende grunnlaget for et relasjonsdatabasesystem som SQL Server eller Oracle er ideen om at data lagres i rader og kolonner som fører til et fast skjema. Veksten på nettet og såkalte big data har introdusert områder der skjemabaserte data ikke er den beste tilnærmingen.

Mens mange spår den langsomme bortgangen til RDBMS, blir jeg ikke solgt på det faktum. Imidlertid innser jeg at forskjellige situasjoner krever forskjellige verktøy, og jeg ser en lys fremtid for ustrukturert datalagring når mengden og typer tilgjengelige data fortsetter å vokse. Mens dette startet en åpen kildekodebevegelse, har Microsoft fullt omfavnet den med Raven DB.

Aldri mer

RavenDB er en dokumentdatabase designet for. NET / Windows-plattformen. Den kommer med alt du trenger for å komme i gang med ikke-relasjonelle data i .NET-applikasjonen. Data lagres som skjemaløs JSON. Det er et par måter å samhandle med disse dataene på: direkte via HTTP og et RESTful API eller via det mer praktiske .NET Client API. .NET Client API bruker syntaks i LINQ-stil for å jobbe med RavenDB-dokumentbutikken.

Enkel installasjon

Du må konfigurere og installere .NET Framework 4.0 før du installerer Raven DB. Deretter laster du ned den nyeste versjonen av RavenDB, som er tilgjengelig i en zip-fil som blir trukket ut til en katalog på serveren din. Den inkluderte readme-filen inneholder ytterligere konfigurasjonsinformasjon, men det er tre måter du kan bruke Raven DB: Windows Service, IIS-applikasjon eller innebygd i et .NET-program.

Den siste installasjonspakken inkluderer disse katalogene:

  • Klient: Lett klient for bruk med .NET 4.0.
  • Client-3.5: Lett klient for bruk med. NET 3.5.
  • Silverlight: Silverlight 4.0-klient.
  • EmbeddedClient: Filer som er nødvendige for å bruke RavenDB i innebygd modus.
  • Server: Filer som kreves for å bruke RavenDB i servermodus.
  • Nett: Filer som kreves for å bruke RavenDB under IIS.
  • Bunter: Filer for å utvide RavenDB på forskjellige måter.
  • Eksempler: Eksempel på RavenDB-applikasjoner for å komme i gang.

Bruker serveren

En enkel måte å få en følelse av RavenDB og hvordan det fungerer med data, bruker servermodus. Følgende kommando brukes til å konfigurere serveren.

 \ Server \ Raven.Server.exe / install 
Når den er installert, får du tilgang til RavenDB UI via denne URLen på serveren der den er installert: http: // localhost: 8080 / raven / studio.html. Figur A viser brukergrensesnittet åpnet for første gang. Grensesnittet bruker Silverlight, så du kan bli bedt om å oppgradere eller installere nødvendige Silverlight-komponenter. Figur A

RavenDB-administrasjonsgrensesnitt (Klikk på bildet for å forstørre.)
Du kan klikke på knappen Opprett eksempeldata for å fylle ut et eksempeldatabutikk for å få et inntrykk av hvordan RavenDB dokumentlager fungerer. Figur B viser et av eksemplene som ble åpnet. Figur B

Viser eksempel på RavenDB-dokumentlager (Klikk på bildet for å forstørre.)
Dataene i figur B (og følgende liste) viser hvordan data lagres i RavenDB. Den lagrer albumdata med følgende attributter: AlbumArtUrl, Artist, Sjanger, Pris, Tittel og Count sold.
 { 

"AlbumArtUrl": "/Content/Images/placeholder.gif",

"Kunstner": {

"Id": "artister / 133",

"Navn": "Stevie Ray Vaughan & Double Trouble"

}

"Sjanger": {

"Id": "sjangre / 6",

"Name": "Blues"

}

"Pris": 8, 99,

"Tittel": "I trinn",

"CountSold": 0

}

Dokumentet har en id-verdi, som vises i figur B (artister / 633), men kunstnerverdien i seg selv har en id-verdi (artister / 133) siden artister kan ha flere album. Sjangeren har også en ID-verdi (sjangre / 6) siden flere album er tilordnet en sjanger. Disse dataene har en unik URL (http: // localhost: 8080 / raven / studio.html # / edit? Id = albums / 614 & database = Standard), og du kan få tilgang til de andre elementene via URL. For eksempel kan du få tilgang til sjangerinformasjonen med denne URL: http: // localhost: 8080 / raven / studio.html # / edit? Id = genres / 6 & database = Standard. Dataene kan redigeres så vel som de vises via webgrensesnittet. I neste kolonne skal vi se på å bruke RavenDB i et .NET-program.

Fremtiden

Mange NoSQL-fagpersoner forutsier undergangen til den tradisjonelle RDBMS, men hver har sin egen applikasjon der alternativet ikke er passende. RDBMS-alternativene ser ut til å ha en lys fremtid med tungvektere Google, Amazon og Microsoft bak de forskjellige tilbudene. RavenDB gjør det enkelt å omfavne det nå i .NET-applikasjonene dine.

Hvordan ser du fremtiden for databaselandskapet? Bruker du en ikke-tradisjonell databaseplattform? Del tankene dine med samfunnet.

© Copyright 2020 | mobilegn.com