Unleash the power of raven db

Post on 20-Dec-2014

874 views 1 download

description

Slides from the TechDays 2014 talk I did on RavenDB

Transcript of Unleash the power of raven db

Laat ons weten wat u vindt van deze sessie! Vul de evaluatie in via www.techdaysapp.nl en maak kans op een van de 20 prijzen*. Prijswinnaars worden bekend gemaakt via Twitter (#TechDaysNL). Gebruik hiervoor de code op uw badge.

Let us know how you feel about this session! Give your feedback via www.techdaysapp.nl and possibly win one of the 20 prizes*. Winners will be announced via Twitter (#TechDaysNL). Use your personal code on your badge.

* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prices are examples

Unleash the power of RavenDBMaurice de Beijer

Unleash the power of RavenDBEr zijn veel manieren om data te bewaren. Traditioneel wordt hier vaak een relationele database, zoals SQL Server, voor gebruikt. Maar er is een andere categorie, de zogenaamde NoSQL databases, die steeds populairder wordt.

Unleash the power of RavenDB

•Wat is RavenDB?•RavenDB Management Studio•Building blocks•Safe by default•Deployment•Raven Bundels

Agenda

Wat is RavenDB?

•Een van de “NoSQL” databases• Net zoals MongoDB

•Een Document database• Bewaar documenten ipv records

•Maar dan wel met ACID transacties• En ondersteuning voor TransactionScope

Relationele data

Document Database

RavenDB Documents

Pros & Cons

•Voordelen• We bewaren en laden objecten waar we mee werken• Schaalbaarheid• Eventual consistency

•Nadelen• Geen relationele integriteit• Geen standaard reporting tools• Eventual consistency

RavenDB Management Studio

DemoRavenDB Management Studio

Main building blocks

• IDocumentStore• Kostbaar om aan te maken• Een per applicatie als singleton

• IDocumentSession/IAsyncDocumentSession• Een per unit of work

•Bewaar/laad elke POCO

Queries

•Gebruik Load() om een enkel document te laden•Gebruik LINQ om documenten te zoeken• Gebruikt altijd een index

•Full text zoekopdrachten• Mbv Lucene• Ook fuzzy searches

DemoRavenDB met C#

Safe by default

•RavenDB doet niet zo maar alles• Beperkt het aantal resultaten• Standaard maximaal 128 documenten• Kan tot 1024 verhoogd worden.• Beperkt het aantal opdrachten• Standaard maximaal 30 opdrachten• Beide zijn eventueel aan te passen• Maar dat is een slecht idee

DemoSafe by default

Deployment

•Embedded• Werkt ook op Azure

•Windows Service• IIS•Hosted

Hosted RavenDB

Raven Bundels

•Extra toe te voegen functionaliteit• Versioning• Replicatie• Sharding• Unique Constraints• Experatie• En nog veel meer

Vragen?

•De source code staat (straks) op GitHub• https://github.com/mauricedb

Laat ons weten wat u vindt van deze sessie! Vul de evaluatie in via www.techdaysapp.nl en maak kans op een van de 20 prijzen*. Prijswinnaars worden bekend gemaakt via Twitter (#TechDaysNL). Gebruik hiervoor de code op uw badge.

Let us know how you feel about this session! Give your feedback via www.techdaysapp.nl and possibly win one of the 20 prizes*. Winners will be announced via Twitter (#TechDaysNL). Use your personal code on your badge.

* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prices are examples