SQL oder NoSQL (Teil 4)
Kommentare

Abb. 4: Die Verwaltungskonsole von Raven

Abfragen von Daten
Nachdem man seine Daten gespeichert hat, möchte man sie bei Zeiten natürlich auch gerne wieder zurück haben. Auch hierfür werden wieder

Abb. 4: Die Verwaltungskonsole von Raven
Abb. 4: Die Verwaltungskonsole von Raven

Abfragen von Daten

Nachdem man seine Daten gespeichert hat, möchte man sie bei Zeiten natürlich auch gerne wieder zurück haben. Auch hierfür werden wieder ein DocumentStore und eine Session benötigt. Möchte man den soeben erstellten Order wieder laden, ist folgender Code innerhalb der Session nötig: 

var Order = Session 
.Query() 
.Where(o => o.Id == "orders/1") 
.Single();   

Man erhält ein vollständig gefülltes Order-Objekt zurück; kein O/R Mapper, kein DataReader, nur ein einfaches LINQ-Statement, und alles ist paletti. So macht Datenpersistenz wirklich Spaß. Um eine Liste aller Orders zu erhalten, schreibt man folgenden Code: 

var AllOrders = Session 
.Query() 
.ToList();   

Nach dem Query-Befehl kann man weitere LINQ-Operatoren benutzen. Dazu gehört natürlich Where zur Einschränkung der Daten, OrderBy zum Sortieren sowie Skip und Take zur Umsetzung von Paging. 

Fazit

Der vorliegende Artikel hat gezeigt, warum relationale Datenbanken nicht in jedem Fall das Gelbe vom Ei sein müssen. Zum Glück gibt es Alternativen, von denen RavenDB als Vertreter der dokumentenorientierten NoSQL-Datenbanken vorgestellt wurde. Die Funktionen von RavenDB konnten hier nur oberflächlich betrachtet werden. Dennoch ist der Einstieg überraschend einfach, und die Einfachheit, mit der Daten gespeichert und geladen werden können, ist beeindruckend. Sei es nun zum Prototyping oder als vollwertiger Ersatz relationaler Datenbanken: RavenDB sollte einen festen Platz im Werkzeugkoffer eines Entwicklers haben. Denn durch das objektzentrierte Dokumentendesign erobert sich das Objektmodell endlich seinen ersten Platz in der objektorientierten Entwicklung von dem Tabellenmodell zurück.

Tobias Richling wohnt in einer kleinen Stad im Münsterland. Er arbeitet als Softwareentwickler bei der LIS AG und ist dort mit der Evaluation und Einführung neuer .NET-Technologien betraut. Derzeit gehören ASP.NET, Silverlight und WCF zu seinen primären Themenfeldern. Ein besonderer Fokus liegt dabei auf der Cliententwicklung mittels MVVM. Sie erreichen ihn unter trichling@lis.eu

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -