"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
NoSQL Database in .NET Apps
1. NoSQL databases in
.NET Apps
Shiju Varghese
Blog : http://weblogs.asp.net/shijuvarghese
Twitter : http://twitter.com/shijucv
Email : shiju.varghese@gmail.com
2. About Me
• Microsoft MVP on ASP.NET
• Solution Architect
• Focus on Microsoft Web Platform stack
• Technical focus on ASP.NET MVC
• Blog: http://weblogs.asp.net/shijuvarghese
3. Session Objective
• Introduction to NoSQL and Document databases
• Introduction to Raven DB
• Demonstrate NoSQL demo app using RavenDB and
ASP.NET MVC.
4. Relational database
• Data stored in a structure of rows and columns
• Object-relational impedance mismatch
• Challenges in Scalability & Performance
5. NoSQL
• Stands for Not Only SQL
• Next Generation Databases
• Non-relational data storage systems
• High performance
• open-source
• Schema free
• Scalability
• Modern web-scale databases
6. NoSQL
“NoSQL is a movement promoting a loosely defined class
of non relational data stores that break with a long
history of relational databases. These data stores may not
require fixed table schemas, usually avoid join operations
and typically scale horizontally. Academics and papers
typically refer to these databases as structured storage.” -
Wikipedia
7. Who is using NoSQL
• Facebook
• Twitter
• LinkedIn
• Google
• Amazon
• eBay
• Digg
8. Document Database
• Documents
• Open Formats ( JSON, XML )
• Schema free
• Documents are independent
• Non relational
• Run on large number of machines
• Data is partitioned and replicated among these machines
Eg:
{
"Id":2321816,
"FirstName":"Shiju",
"LastName":"Varghese",
"Title" : "Architect"
}
9. Document Databases
• MongoDB
• Written in C++
• Developed by 10 gen
• RavenDB
• .NET/Windows platform
• Developed by Ayende Rahien
• Transactional
• RESTful
• CouchDB
• Written in Erlang
• Apache project
10. • Designed for .NET ecosystem
• Scalable infrastructure: Raven builds on top of existing,
proven and scalable infrastructure (Supports 16 terrabytes on
a single machine)
• Simple Windows configuration: Raven is simple to setup and
run on windows as either a service or IIS 7 website
• Transactional: Raven support System.Transaction
• Map/Reduce: Easily define map/reduce indexes with Linq
queries
• .NET Client API: Raven comes with a fully functional .NET
client API
• RESTful: Raven is built around a RESTful API
• Dual License: Available in both OSS and commercial licenses