Presentation is loading. Please wait.

Presentation is loading. Please wait.

Look Mom! – NoSQL Charles Nurse | DotNetNuke Corp.

Similar presentations


Presentation on theme: "Look Mom! – NoSQL Charles Nurse | DotNetNuke Corp."— Presentation transcript:

1 Look Mom! – NoSQL Charles Nurse | DotNetNuke Corp

2 Who Am I www.devreach.com

3 Who Am I www.devreach.com

4 Who Am I www.devreach.com

5 Who Am I ASP.NET MVP (since Jan 2007) ASPInsider (since Jan 2008) Senior Architect, DotNetNuke Corporation Web: www.dotnetnuke.com Blog: www.charlesnurse.com Email: charles.nurse@dnncorp.com Twitter: @cnurse www.devreach.com

6 Agenda Intro to NoSQL Databases – CAP Theorem – Map Reduce NoSQL Database Types RavenDB Demo www.devreach.com

7 Intro to NoSQL Databases Driven by the demands of “Big Data” – Google – Facebook – Amazon Huge amounts of data – Distributed Environment – Availability CAP Theorem www.devreach.com

8 CAP Theorem CAP Theorem states – “It is impossible for a distributed computer system to simultaneously provide all three of the guarantees” Consistency Availability Partition Tolerance www.devreach.com

9 CAP Theorem Consistency – All nodes in a distributed system see the same data at the same time eCommerce Weapons Systems Availability – All requests receive a response about whether it was successful or failed Partition Tolerance – The system continues to operate despite arbitrary message loss or failures of part of the system www.devreach.com

10 CAP Theorem Relational Databases emphasize Consistency, so either Availability or Partition Tolerance will suffer NoSQL Databases emphasize Availability and Partition Tolerance – Eventual Consistency Google Searches do not need to show documents created in the last few seconds Facebook News Feed – do not need to show updates from the last few seconds www.devreach.com

11 Map Reduce NoSQL databases support distributed systems Map Reduce helps aggregate data using a pair of functions – Map function Maps input data into its final form Can be executed in parallel on each system – Reduce function Operates on results of the Map functions Executed repeatedly until results are obtained www.devreach.com

12 Map Reduce (Example) Blog Documents { "type": "post", "name": "Raven's Map/Reduce functionality", "blog_id": 1342, "post_id": 29293921, "tags": ["raven", "nosql"], "post_content": "... ", "comments": [ { "source_ip": '124.2.21.2', "author": "martin", "text": "..." }] } Map from post in docs.posts select new { post.blog_id, comments_length = comments.length }; Reduce from agg in results group agg by agg.key into g select new { agg.blog_id, comments_length = g.Sum(x=>x.comments_length) }; www.devreach.com

13 Map Reduce Apply Map www.devreach.com

14 Map Reduce Reduce – Step 1 www.devreach.com

15 Map Reduce Reduce – Step 2 www.devreach.com

16 Map Reduce Reduce – Step 3 www.devreach.com

17 Map Reduce Apply Map www.devreach.com

18 Map Reduce Reduce – Step 1 www.devreach.com

19 Map Reduce Reduce – Step 2 www.devreach.com

20 Map Reduce Reduce – Step 3 www.devreach.com

21 NoSQL Database Types Sorted Ordered Column-Oriented Stores Key/Value Stores Document Databases www.devreach.com

22 NoSQL Database Types Sorted Ordered Column-Oriented Stores Pioneered by Google – BigTable Hbase – Apache Foundation – Used by Facebook, Stumble Upon, Hulu HyperTable – Baidu www.devreach.com

23 NoSQL Database Types Sorted Ordered Column-Oriented Stores Compare with Relational Databases www.devreach.com

24 NoSQL Database Types Sorted Ordered Column-Oriented Stores – Compare Relational Storage www.devreach.com

25 NoSQL Database Types Sorted Ordered Column-Oriented Stores – Column oriented store www.devreach.com

26 NoSQL Database Types Key/Value Stores Membase – built on MemCacheD – Zynga Redis – Craigslist Cassandra – Facebook, Digg, Reddit, Twitter www.devreach.com

27 NoSQL Database Types Document Databases MongoDB – Foursquare – Github CouchDB – Apple, BBC, CERN RavenDB – Built in.NET, with LINQ www.devreach.com

28 RavenDB Document Database – Using JSON Built in.NET LINQ Support Full-text Search – Built on Lucene Two versions – Server – Embedded www.devreach.com

29 RavenDB Demo www.devreach.com

30 Next Steps Get RavenDB – http://ravendb.net/ Get MongoDB – www.mongodb.org/ –.NET driver https://github.com/mongodb/mongo-csharp-driver/downloads – FluentMongo – LINQ for MongoDB https://github.com/craiggwilson/fluent-mongo NoRM http://normproject.org/ www.devreach.com

31 Thank you! @cnurse www.charlesnurse.com ca.linkedin.com/in/charlesnurse Charles Nurse | DotNetNuke Corp


Download ppt "Look Mom! – NoSQL Charles Nurse | DotNetNuke Corp."

Similar presentations


Ads by Google