RavenDB, eine Datenbankalternative für .NET-Entwickler

Die NoSQL-Bewegung bekämpft den Datenbankaufbau mit Alternativen zum relationalen Datenbankmanagementsystem (RDBMS). Der überraschende Aspekt dieser Bewegung ist die Anerkennung und Entscheidung von Microsoft, das RavenDB-Angebot anzunehmen. Wir schauen uns RavenDB genauer an.

Wer braucht ein Schema?

Die NoSQL-Initiative entwickelte sich aus der Notwendigkeit heraus, da Google, Amazon und andere Unternehmen alternative Methoden für den Umgang mit riesigen Datenmengen benötigten. Das Ergebnis sind Schlüsselwertspeicher wie BigTable oder Dokumentenspeicher wie CouchDB. Cloud-Speicherlösungen bieten nicht traditionellen Speicher (AKA nicht RDBMS) sowie Windows Azure Table Storage (basierend auf Schlüssel-Wert-Paaren) und Amazon EC2 (basierend auf Hadoop). Das Grundthema dieser Systeme ist Geschwindigkeit und Skalierbarkeit, was bei herkömmlichen Datenbanksystemen nicht immer möglich ist.

Die grundlegende Grundlage eines relationalen Datenbanksystems wie SQL Server oder Oracle ist die Idee, dass Daten in Zeilen und Spalten gespeichert werden, die zu einem festen Schema führen. Das Wachstum des Web und der sogenannten Big Data hat Bereiche eingeführt, in denen schemabasierte Daten nicht der beste Ansatz sind.

Während viele den langsamen Niedergang von RDBMS vorhersagen, bin ich von dieser Tatsache nicht überzeugt. Mir ist jedoch klar, dass unterschiedliche Situationen unterschiedliche Tools erfordern, und ich sehe eine glänzende Zukunft der unstrukturierten Datenspeicherung, da die Menge und Art der verfügbaren Daten weiter zunimmt. Während dies eine Open-Source-Bewegung begann, hat Microsoft sie mit der Raven DB voll und ganz aufgenommen.

Nie mehr

RavenDB ist eine Dokumentendatenbank für die .NET / Windows-Plattform. Es enthält alles, was Sie benötigen, um mit nicht relationalen Daten in Ihrer .NET-Anwendung zu beginnen. Daten werden als schemaloses JSON gespeichert. Es gibt verschiedene Möglichkeiten, mit diesen Daten zu interagieren: direkt über HTTP und eine RESTful-API oder über die bequemere .NET-Client-API. Die .NET-Client-API verwendet die LINQ-Syntax für die Arbeit mit dem RavenDB-Dokumentenspeicher.

Einfache Installation

Sie müssen .NET Framework 4.0 einrichten und installieren, bevor Sie Raven DB installieren können. Anschließend laden Sie die neueste Version von RavenDB herunter, die in einer Zip-Datei verfügbar ist, die in ein Verzeichnis auf Ihrem Server extrahiert wird. Die enthaltene Readme-Datei enthält zusätzliche Setup-Informationen. Sie können Raven DB jedoch auf drei Arten verwenden: Windows-Dienst, IIS-Anwendung oder eingebettet in eine .NET-Anwendung.

Das neueste Installationspaket enthält die folgenden Verzeichnisse:

  • Client: Leichter Client zur Verwendung mit .NET 4.0.
  • Client-3.5: Leichter Client zur Verwendung mit .NET 3.5.
  • Silverlight: Silverlight 4.0-Client.
  • EmbeddedClient: Dateien, die für die Verwendung von RavenDB im eingebetteten Modus erforderlich sind.
  • Server: Dateien, die für die Verwendung von RavenDB im Servermodus erforderlich sind.
  • Web: Dateien, die für die Verwendung von RavenDB unter IIS erforderlich sind.
  • Bundles: Dateien zum Erweitern von RavenDB auf verschiedene Arten.
  • Beispiele: Beispiel für RavenDB-Anwendungen, um Ihnen den Einstieg zu erleichtern.

Den Server benutzen

Ein einfacher Weg, um ein Gefühl für RavenDB und die Funktionsweise von Daten zu bekommen, ist die Verwendung des Servermodus. Der folgende Befehl wird zum Einrichten des Servers verwendet.

 \ Server \ Raven.Server.exe / install 
Nach der Installation wird auf die RavenDB-Benutzeroberfläche über diese URL auf dem Server zugegriffen, auf dem sie installiert ist: http: // localhost: 8080 / raven / studio.html. Abbildung A zeigt die zum ersten Mal geöffnete Benutzeroberfläche. Die Benutzeroberfläche verwendet Silverlight, sodass Sie möglicherweise aufgefordert werden, die erforderlichen Silverlight-Komponenten zu aktualisieren oder zu installieren. Abbildung A.

RavenDB-Verwaltungsoberfläche (Klicken Sie auf das Bild, um es zu vergrößern.)
Sie können auf die Schaltfläche Beispieldaten erstellen klicken, um einen Beispieldatenspeicher zu füllen und eine Vorstellung davon zu erhalten, wie der RavenDB-Dokumentenspeicher funktioniert. Abbildung B zeigt eines der geöffneten Beispieldokumente. Abbildung B.

Beispiel für einen RavenDB-Dokumentenspeicher anzeigen (Klicken Sie auf das Bild, um es zu vergrößern.)
Die Daten in Abbildung B (und die folgende Auflistung) zeigen, wie Daten in RavenDB gespeichert werden. Es speichert Albumdaten mit den folgenden Attributen: AlbumArtUrl, Künstler, Genre, Preis, Titel und Anzahl der verkauften Exemplare.
 { 

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

"Künstler": {

"Id": "Künstler / 133",

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

},

"Genre": {

"Id": "Genres / 6",

"Name": "Blues"

},

"Preis": 8, 99,

"Titel": "Im Schritt",

"CountSold": 0

}}

Das Dokument hat einen ID-Wert, der in Abbildung B dargestellt ist (Künstler / 633), aber der Künstlerwert selbst hat einen ID-Wert (Künstler / 133), da Künstler mehrere Alben haben können. Außerdem hat das Genre einen ID-Wert (Genres / 6), da einem Genre mehrere Alben zugewiesen sind. Diese Daten haben eine eindeutige URL (http: // localhost: 8080 / raven / studio.html # / edit? Id = Alben / 614 & database = Standard), und Sie können über eine URL auf die anderen Elemente zugreifen. Auf die Genre-Informationen kann beispielsweise über die folgende URL zugegriffen werden: http: // localhost: 8080 / raven / studio.html # / edit? Id = genres / 6 & database = Default. Die Daten können über die Weboberfläche bearbeitet und angezeigt werden. In der nächsten Spalte werden wir uns die Verwendung von RavenDB in einer .NET-Anwendung ansehen.

Die Zukunft

Viele NoSQL-Experten sagen den Untergang des traditionellen RDBMS voraus, aber jeder hat seine eigene Anwendung, bei der die Alternative nicht angemessen ist. Die RDBMS-Alternativen scheinen eine glänzende Zukunft zu haben, da die Schwergewichte Google, Amazon und Microsoft hinter den verschiedenen Angeboten stehen. Mit RavenDB können Sie es jetzt ganz einfach in Ihre .NET-Anwendungen integrieren.

Wie sehen Sie die Zukunft der Datenbanklandschaft? Verwenden Sie eine nicht traditionelle Datenbankplattform? Teilen Sie Ihre Gedanken mit der Community.

© Copyright 2020 | mobilegn.com