KEMBAR78
NoSQL Database in .NET Apps | PPTX
NoSQL databases in
.NET Apps
Shiju Varghese
Blog : http://weblogs.asp.net/shijuvarghese
Twitter : http://twitter.com/shijucv
Email : shiju.varghese@gmail.com
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

NoSQL Database in .NET Apps

  • 1.
    NoSQL databases in .NETApps Shiju Varghese Blog : http://weblogs.asp.net/shijuvarghese Twitter : http://twitter.com/shijucv Email : shiju.varghese@gmail.com
  • 2.
    About Me • MicrosoftMVP 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 • Introductionto NoSQL and Document databases • Introduction to Raven DB • Demonstrate NoSQL demo app using RavenDB and ASP.NET MVC.
  • 4.
    Relational database • Datastored in a structure of rows and columns • Object-relational impedance mismatch • Challenges in Scalability & Performance
  • 5.
    NoSQL • Stands forNot 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 amovement 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 usingNoSQL • 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
  • 11.
    Demo • RavenDB -http://ravendb.net • ASP.NET MVC – http://asp.net/mvc
  • 12.
    Source Code • RavenDB& ASP.NET MVC http://ravenmvc.codeplex.com • MongoDB & ASP.NET MVC http://mongomvc.codeplex.com
  • 13.