1 / 25

A Tour of the NoSQL World

A Tour of the NoSQL World. David Cassel, MarkLogic Sr. Consultant 7 Nov 2011. Why NoSQL ?. RDBMSes are familiar. ubiquitous. backed by a body of research. Why NoSQL ?. What is NoSQL ?.

lavi
Download Presentation

A Tour of the NoSQL World

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Tour of the NoSQL World David Cassel, MarkLogic Sr. Consultant7 Nov 2011

  2. Why NoSQL? RDBMSes are • familiar • ubiquitous • backed by a body of research

  3. Why NoSQL?

  4. What is NoSQL? • "NoSQL refers to a class of databases 1) are intended to perform at internet (Facebook, Twitter, LinkedIn) scale and 2) reject the relational model in favor of other (key-value, document, graph) models." -- http://www.greenhornconnect.com/blog/dan-croak-what-nosql • "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable. The original intention has been modern web-scale databases. … Often more characteristics apply as: schema-free, easy replication support, simple API, eventually consistent /BASE (not ACID), a huge data amount, and more." -- http://nosql-database.org/ • "NoSQL (sometimes expanded to "not only SQL") is a broad class of database management systems that differ from classic relational database management systems (RDBMSes)…. These data stores may not require fixed table schemas, usually avoid join operations, and typically scale horizontally." -- Wikipedia

  5. What is NoSQL?

  6. Graph Databases Mark Logic Dave status Dawn Chris

  7. Key-Value Store app_setting_width 450 user1923_color Red user1923_age 18 user3371_color Blue user4344_color Brackish user1923_height 6' 0" user3371_age 34 error_msg_457 There is no file %1 here error_message_1 There is no user with %1 name 1923_name Jim user1923_name Jim Smith user1923_lname Smith Application_Installed true log_errors 1 install_path C:\Windows\System32\Restricted ServerNamelocalhost test test test1 test test123 Brackish devonly wonderwoman value key http://dba.stackexchange.com/questions/607/what-is-a-key-value-store-database

  8. Column Stores 23,Bugs,Bunny,48389 983,Foghorn,Leghorn,19394 420,Marvin,Martian,04829 185,Elmer,Fudd,25749 23,983,420,185 Bugs,Foghorn,Marvin,Elmer Bunny,Leghorn,Martian,Fudd 48389,19394,04829,25749

  9. Document Store <post> … </post> /posts/a-custom-facet-for-the-search-api.xml <post> … </post> /posts/unparsing-a-custom-facet.xml

  10. Querying a Document Store

  11. Querying a Document Store <post> <meta> <title>A custom facet for the Search API</title> <author>David Cassel</author> <published>2011-07-27</published> <summary>…</summary> <tags> <tag>marklogic</tag> <tag>search api</tag> </tags> <category>Software Development</category> </meta> <text>…</text> </post>

  12. Querying a Document Store cts:search(/blog, cts:and-query(( cts:word-query(“facet”) cts:near-query(( cts:word-query(“searchapi”) cts:word-query(“custom”)), 10) )) ) db.things.find({name:"mongo"}) .forEach(printjson);

  13. Scaling Scale Up Scale Out

  14. Growing the database

  15. No Schema • New Requirement: • Our company has acquired a small publishing house. Put their publications in the database with our existing ones.

  16. Does all this help?

  17. ACID properties A C I D tomicity onsistency solation urability

  18. ACID -- Atomicity

  19. ACID -- Consistency /content/foo.xml 1 2

  20. ACID -- Isolation Write Write Done Read t=2 t=0 t=1 t=3 Dirty reads Non-repeatable reads Phantom reads

  21. ACID – Durability RAM Journal Disk

  22. NoSQL Support

  23. Where does MarkLogic fit? A C I D tomicity onsistency solation urability Enterprise Level (100s of terabytes) Express License

  24. The Other Side of the Coin • Variety • Architecture (yay!) • Maturity • Administration • Tool support • Knowledgeable developers • Support • Open Source – support companies • Commercial – MarkLogic

  25. NoSQL means: The Right Tool for the Job Blog: http://blog.davidcassel.net Twitter: @dmcassel

More Related