Upload
brunomlopes
View
301
Download
1
Embed Size (px)
DESCRIPTION
Code for session up at https://github.com/brunomlopes/ravendb-sql-saturday-porto-2014 RavenDb is a .NET document database with an HTTP REST API, Lucene based indexes, ACID read/writes and BASE queries that's been picking up steam in the .NET space. In this session we'll see the very basics of using RavenDB from a web application, including reads, writes and simple queries. We'll see how RavenDB uses LINQ and Lucene to create indexes similar to materialized views to provide fast query-time responses, and what are the main differences in modeling data and entities from the perspective of a developer used to relational databases.
Citation preview
Intro to RavenDB
Say Thank you to Volunteers:
They spend their FREE time to give you this
event.
Because they are crazy.
Because they want YOU
to learn from the BEST IN THE WORLD.
If you see a guy with “STAFF” on their back –
buy them a beer/wine, they deserve it.
Ivan Daniel Campos:
Rui Barreira:
Paulo Matos:
Pedro Simões:
André Batista:
3 Sponsor Sessions at 15:05
Don’t miss them, they might be getting
distributing some awesome prizes!
Rumos
BI4ALL
Devscope
Our Main Sponsors:
Bruno Lopes
Developer/Co-Founder at
Speaker/Co-Organizer at NetPonto
Fan of C#, Python, RavenDB, SQL Server, couch db, postgresql, javascript (kind off...)
@brunomlopes
BECAUSE THE WORLD IS NOT
JUST RELATIONAL
Intro to RavenDB
Why am I talking about this?
Why am I talking about this?
SQL
Why am I talking about this?
SQL
Active
Directory
Why am I talking about this?
Object-Relational Impedance Mismatch
Why am I talking about this?
New solutions for storing data
Key value stores Redis
Riak
Document Databases RavenDB
CouchDB
Azure DocumentDB
Graph databases Neo4j
(...)
Why am I talking about this?
“(…) we are gearing up for a shift to polyglot
persistence - where any decent sized
enterprise will have a variety of different data
storage technologies for different kinds of data.”- Martin Fowler, http://martinfowler.com/bliki/PolyglotPersistence.html, 2011
Why am I talking about this?
Caches
Ephemeral Data
Complex Domain Objects
Transactional Data
Analytics
Relational Data
RAVENDB
What is RavenDB
.Net Document Database
Transactional
Safe by default
Support for sharding, replication, multi
tenancy
Main components
C# client
HTTP interface
Two stores
Documents
Indexes
Documents, Indexes
Load and store JSON objects
Transactional
Keyed by string
Documents, Indexes
Defined by LINQ expressions
Index is a map/reduce process
Eventually consistent
Queries can return stale data
Based on Lucene
Solid foundation
Get full text search for “free”
Demos
Server, management UI
Load/store
Queries
SQL Replication
(hopefully we’ll get to this)
WARNING Pre-release version of RavenDB 3 Management UI still has some quirks
VISUAL STUDIO TIME
Events, Sessions, Speakers
from person in audience
from question in person.questions
select question
References
Main site
http://ravendb.net
Ayende’s blog
http://ayende.com/blog/tags/raven
Google group
https://groups.google.com/d/forum/ravendb
Thank you sponsors and volunteers!
Thank you audience!