RavenDB, et databasealternativ til .NET-udviklere

NoSQL-bevægelsen bekæmper databasetablering med RDBMS-alternativer til relationelt databasestyringssystem. Det overraskende aspekt af denne bevægelse er Microsofts anerkendelse og beslutning om at omfavne RavenDB-udbuddet. Vi ser nærmere på RavenDB.

Hvem har brug for et skema?

NoSQL-initiativet udviklede sig nødvendigt, fordi Google, Amazon og andre virksomheder havde brug for alternative måder at håndtere store mængder data på. Resultatet er butikker med nøgleværdier såsom BigTable eller dokumentlagring som CouchDB. Cloud-opbevaringsløsninger tilbyder ikke-traditionel (AKA ikke-RDBMS) opbevaring såvel med Window Azure Table Storage (baseret på nøgleværdipar) og Amazons EC2 (baseret på Hadoop). Det grundlæggende tema for disse systemer er hastighed og skalerbarhed, hvilket ikke altid er en mulighed med traditionelle databasesystemer.

Den grundlæggende understøttelse af et relationsdatabasesystem som SQL Server eller Oracle er tanken om, at data gemmes i rækker og kolonner, der fører til et fast skema. Væksten af ​​nettet og såkaldte big data har introduceret områder, hvor skemabaserede data ikke er den bedste metode.

Mens mange forudsiger den langsomme undergang af RDBMS, sælges jeg ikke på det faktum. Jeg er dog klar over, at forskellige situationer kræver forskellige værktøjer, og jeg ser en lys fremtid med ustruktureret datalagring, da mængden og typer af tilgængelige data fortsætter med at vokse. Mens dette startede en open source-bevægelse, har Microsoft fuldt ud omfavnet den med Raven DB.

Aldrig mere

RavenDB er en dokumentdatabase designet til .NET / Windows-platformen. Det leveres med alt hvad du har brug for for at komme i gang med ikke-relationelle data i din .NET-applikation. Data gemmes som skemaløs JSON. Der er et par måder at interagere med disse data på: direkte via HTTP og et RESTful API eller via det mere praktiske .NET Client API. .NET Client API bruger LINQ-stil syntaks til at arbejde med RavenDB dokumentlager.

Enkel installation

Du skal konfigurere og installere .NET Framework 4.0, før du installerer Raven DB. Derefter henter du den seneste version af RavenDB, som er tilgængelig i en zip-fil, der udvindes til et bibliotek på din server. Den inkluderede readme-fil indeholder yderligere installationsoplysninger, men der er tre måder, du kan bruge Raven DB: Windows Service, IIS-applikation eller indlejret i et .NET-program.

Den seneste installationspakke inkluderer disse mapper:

  • Klient: Letvægtsklient til brug med .NET 4.0.
  • Client-3.5: Letvægtsklient til brug med .NET 3.5.
  • Silverlight: Silverlight 4.0-klient.
  • EmbeddedClient: Filer, der er nødvendige for at bruge RavenDB i integreret tilstand.
  • Server: Filer, der kræves for at bruge RavenDB i servertilstand.
  • Web: Filer, der kræves for at bruge RavenDB under IIS.
  • Bundles: Filer til udvidelse af RavenDB på forskellige måder.
  • Prøver: Eksempel på RavenDB-applikationer for at komme i gang.

Brug af serveren

En nem måde at få en fornemmelse af RavenDB og hvordan det fungerer med data bruger servertilstand. Følgende kommando bruges til at konfigurere serveren.

 \ Server \ Raven.Server.exe / install 
Når den er installeret, får RavenDB UI adgang via denne URL på serveren, hvor den er installeret: http: // localhost: 8080 / raven / studio.html. Figur A viser UI'en, der blev åbnet for første gang. Grænsefladen bruger Silverlight, så du kan blive bedt om at opgradere eller installere nødvendige Silverlight-komponenter. Figur A

RavenDB-styringsgrænseflade (Klik på billedet for at forstørre).
Du kan klikke på knappen Opret eksempeldata for at udfylde et eksempeldatabutik for at få en idé om, hvordan RavenDB-dokumentlager fungerer. Figur B viser et af de åbne eksempeldokumenter. Figur B

Visning af RavenDB-dokumentlager (Klik på billedet for at forstørre).
Dataene i figur B (og den følgende liste) viser, hvordan data gemmes i RavenDB. Det gemmer albumdata med følgende attributter: AlbumArtUrl, Kunstner, Genre, Pris, Titel og Count Solgt.
 { 

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

"Kunstner": {

"Id": "kunstnere / 133",

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

},

"Genre": {

"Id": "genrer / 6",

"Navn": "Blues"

},

"Pris": 8, 99,

"Titel": "I trin",

"CountSold": 0

}

Dokumentet har en id-værdi, som vises i figur B (kunstnere / 633), men kunstnerværdien har selv en id-værdi (kunstnere / 133), da kunstnere kan have flere albums. Genren har også en id-værdi (genrer / 6), da flere albums er tildelt en genre. Disse data har en unik URL (http: // localhost: 8080 / raven / studio.html # / edit? Id = albums / 614 & database = Standard), og du kan få adgang til de andre elementer via URL. For eksempel kan man få adgang til genreinformationen med denne URL: http: // localhost: 8080 / raven / studio.html # / edit? Id = genres / 6 & database = Standard. Dataene kan redigeres såvel som de kan ses via webgrænsefladen. I den næste kolonne skal vi se på brugen af ​​RavenDB i et .NET-program.

Fremtiden

Mange NoSQL-kløfter forudsiger undergangen til det traditionelle RDBMS, men hver har deres egen anvendelse, hvor alternativet ikke er passende. RDBMS-alternativerne ser ud til at have en lys fremtid med tunge vægte Google, Amazon og Microsoft bag de forskellige tilbud. RavenDB gør det nemt at omfavne det nu i dine .NET-applikationer.

Hvordan ser du fremtiden for databaselandskabet? Bruger du en ikke-traditionel databaseplatform? Del dine tanker med samfundet.

© Copyright 2021 | mobilegn.com