nosql database in .net apps
DESCRIPTION
TRANSCRIPT
NoSQL databases in .NET Apps
Shiju VargheseBlog : http://weblogs.asp.net/shijuvargheseTwitter : http://twitter.com/shijucvEmail : [email protected]
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
Session Objective
• Introduction to NoSQL and Document databases• Introduction to Raven DB • Demonstrate NoSQL demo app using RavenDB and
ASP.NET MVC.
Relational database
• Data stored in a structure of rows and columns• Object-relational impedance mismatch• Challenges in Scalability & Performance
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
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
Who is using NoSQL
• Facebook• Twitter• LinkedIn• Google• Amazon• eBay• Digg
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" }
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
• 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
Demo
• RavenDB - http://ravendb.net• ASP.NET MVC – http://asp.net/mvc
Source Code
• RavenDB & ASP.NET MVC http://ravenmvc.codeplex.com• MongoDB & ASP.NET MVC
http://mongomvc.codeplex.com
Thanks