Submit Search
Upload
Raven db byexample
•
0 likes
•
1,251 views
Emil Cardell
Follow
This is my presentation from NDC 2011 on Raven DB by example
Read less
Read more
Technology
Report
Share
Report
Share
1 of 33
Recommended
About Fearless Refactoring Book
About Fearless Refactoring Book
Pivorak MeetUp
PowerShell Runspaces
PowerShell Runspaces
Drew Furgiuele
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Kyle Banerjee
Dapper: the microORM that will change your life
Dapper: the microORM that will change your life
Davide Mauri
Creating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with React
Jp DeVries
RavenDB 4.0
RavenDB 4.0
Oren Eini
WordCamp Ann Arbor 2014: Site Caching, From Nothing to Everything
WordCamp Ann Arbor 2014: Site Caching, From Nothing to Everything
topher1kenobe
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
Eyal Eizenberg
Recommended
About Fearless Refactoring Book
About Fearless Refactoring Book
Pivorak MeetUp
PowerShell Runspaces
PowerShell Runspaces
Drew Furgiuele
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Kyle Banerjee
Dapper: the microORM that will change your life
Dapper: the microORM that will change your life
Davide Mauri
Creating Hyper Performant Web Apps with React
Creating Hyper Performant Web Apps with React
Jp DeVries
RavenDB 4.0
RavenDB 4.0
Oren Eini
WordCamp Ann Arbor 2014: Site Caching, From Nothing to Everything
WordCamp Ann Arbor 2014: Site Caching, From Nothing to Everything
topher1kenobe
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
Eyal Eizenberg
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
Cal Henderson
20120329 installing wordpress_3_3_1_locally
20120329 installing wordpress_3_3_1_locally
DERlab
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JSFestUA
RavenDB Presentation
RavenDB Presentation
Mark Rodseth
REST that won't make you cry
REST that won't make you cry
IT Weekend
RavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
Logging logs with Logstash - Devops MK 10-02-2016
Logging logs with Logstash - Devops MK 10-02-2016
Steve Howe
NoSQL: Why, When, and How
NoSQL: Why, When, and How
BigBlueHat
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
Laura M. Castro
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
Ehsan Asgarian
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Sencha
Why databases cry at night
Why databases cry at night
Michael Yarichuk
Introduction to MongoDB
Introduction to MongoDB
Justin Smestad
Using Couchbase and ElasticSearch for real-time data analytics
Using Couchbase and ElasticSearch for real-time data analytics
SirKetchup
Not only SQL
Not only SQL
Niklas Gustavsson
Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)
toamitkumar
Intro to RavenDB
Intro to RavenDB
Alonso Robles
CSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web Tutorial
LeeFeigenbaum
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Marco Parenzan
Database story by DevOps
Database story by DevOps
Anton Martynenko
Couchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
Kelum Senanayake
MongoDB.local Berlin: Atlas for your Enterprise
MongoDB.local Berlin: Atlas for your Enterprise
MongoDB
More Related Content
What's hot
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
Cal Henderson
20120329 installing wordpress_3_3_1_locally
20120329 installing wordpress_3_3_1_locally
DERlab
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JSFestUA
RavenDB Presentation
RavenDB Presentation
Mark Rodseth
REST that won't make you cry
REST that won't make you cry
IT Weekend
RavenDB embedded at massive scales
RavenDB embedded at massive scales
Oren Eini
What's hot
(6)
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
20120329 installing wordpress_3_3_1_locally
20120329 installing wordpress_3_3_1_locally
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
RavenDB Presentation
RavenDB Presentation
REST that won't make you cry
REST that won't make you cry
RavenDB embedded at massive scales
RavenDB embedded at massive scales
Similar to Raven db byexample
Logging logs with Logstash - Devops MK 10-02-2016
Logging logs with Logstash - Devops MK 10-02-2016
Steve Howe
NoSQL: Why, When, and How
NoSQL: Why, When, and How
BigBlueHat
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
Laura M. Castro
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
Ehsan Asgarian
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Sencha
Why databases cry at night
Why databases cry at night
Michael Yarichuk
Introduction to MongoDB
Introduction to MongoDB
Justin Smestad
Using Couchbase and ElasticSearch for real-time data analytics
Using Couchbase and ElasticSearch for real-time data analytics
SirKetchup
Not only SQL
Not only SQL
Niklas Gustavsson
Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)
toamitkumar
Intro to RavenDB
Intro to RavenDB
Alonso Robles
CSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web Tutorial
LeeFeigenbaum
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Marco Parenzan
Database story by DevOps
Database story by DevOps
Anton Martynenko
Couchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
Kelum Senanayake
MongoDB.local Berlin: Atlas for your Enterprise
MongoDB.local Berlin: Atlas for your Enterprise
MongoDB
Ruby on rails
Ruby on rails
chamomilla
Making Django and NoSQL Play Nice
Making Django and NoSQL Play Nice
Alex Gaynor
A rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkits
Belighted
Stacktrace Berlin RC.2
Stacktrace Berlin RC.2
Oliver Seemann
Similar to Raven db byexample
(20)
Logging logs with Logstash - Devops MK 10-02-2016
Logging logs with Logstash - Devops MK 10-02-2016
NoSQL: Why, When, and How
NoSQL: Why, When, and How
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
Deep dive to ElasticSearch - معرفی ابزار جستجوی الاستیکی
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Why databases cry at night
Why databases cry at night
Introduction to MongoDB
Introduction to MongoDB
Using Couchbase and ElasticSearch for real-time data analytics
Using Couchbase and ElasticSearch for real-time data analytics
Not only SQL
Not only SQL
Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)
Intro to RavenDB
Intro to RavenDB
CSHALS 2010 W3C Semanic Web Tutorial
CSHALS 2010 W3C Semanic Web Tutorial
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Azure Weekly - 2015.01.20 - Marco Parenzan - Data Opportunities with Azure
Database story by DevOps
Database story by DevOps
Couchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
MongoDB.local Berlin: Atlas for your Enterprise
MongoDB.local Berlin: Atlas for your Enterprise
Ruby on rails
Ruby on rails
Making Django and NoSQL Play Nice
Making Django and NoSQL Play Nice
A rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkits
Stacktrace Berlin RC.2
Stacktrace Berlin RC.2
Recently uploaded
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
gurkirankumar98700
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Sujit Pal
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Recently uploaded
(20)
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Raven db byexample
1.
Raven DB by
Example
2.
3.
4.
SELECT DISTINCT ...
LEFT JOIN ... LEFT JOIN ... LEFT JOIN ... WHERE ... AND… OR…
5.
What’s in this
talk? WorkingsofRaven DB WorkingwithRaven DB Someexamples
6.
Whythis talk? Documentdatabases
is not onlyabout web scalability.
7.
Whoam I? Emil
Cardell Web developer Valtech Sweden @emilcardell www.unwillingcoder.com
8.
Howdoes it work?
9.
Howdoes it work?
10.
Howdoes it work?
Value
11.
Howdoes it work?
Metadata Content
12.
Howdoes it work?
Metadata Content Blobstorage
13.
Whatdoesthis gives us?
Fast reads Fast writes Full consistency
14.
Whataboutqueries?
15.
Whataboutqueries? Document store
16.
Whataboutqueries? Lucene Index
Document store
17.
Whataboutqueries? Lucene Index
Document store Background workers
18.
Whataboutqueries? Lucene Index
Document store Background workers
19.
Whataboutqueries? Lucene Index
Document store Background workers
20.
Whataboutqueries? Lucene Index
Document store Background workers
21.
Whatdoesthis gives us?
Fast queries Full free text search Eventualconsistency
22.
How do youworkwith
it? HTTP/REST JSON Lucene Queries Linq
23.
Whatsuniqe? Dynamicqueries Transactions
(DTC) Batching Live projections
24.
How do youmodel?
25.
The opposite! No
referentialintegritry Denomalize Duplicate Isolate by change
26.
Show me the
code! Event publishing
27.
Content Management public
interfaceIContent { stringId { get; set; } stringParentId { get; set; } string[] AncestorsId { get; set; } stringSlug { get; set; } stringUrl { get; set; } }
28.
Content Management varstore
= newDocumentStore { Url= "http://localhost:8080", Conventions = { FindTypeTagName =type=> typeof(IContent).IsAssignableFrom(type) ?typeof(IContent).Name : null } };
29.
Content Management public
classHierarchyTrigger: AbstractPutTrigger { public overrideVetoResultAllowPut(...) { //Check for hierachical loops } public overridevoidOnPut(...) { //Calculateancestors //Calculateurl } }
30.
Content Management varresults=documentSession.Query<IContent>()
.Where(x =>x.Ancestors.Any(pageid=> pageid== ”pages/myUniqeId"));
31.
If I wantcomments?
varcontent= Session.Load<IContent>(_pageId); varcomments = Session.Load<PostComments>(_pageId); varcomment= newComment { Id = Guid.NewGuid(), Author= _commentInput.Name, //... }; content.CommentsCount++; comments.Comments.Add(comment);
32.
Document databases is
not only about web scalability.
33.
Emil Cardell emil.cardell@valtech.se
@emilcardell RavenDB: www.ravendb.net Images: Photo © 2011 Britta Heise