Mongodb

838
-1

Published on

Introduction to MongoDB, includng the motivation behind the nosql databases.

Published in: Self Improvement, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
838
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Mongodb

  1. 1. MongoDB The fast (don’t think about this like an RDBMS) database alternative.Wednesday, August 24, 2011
  2. 2. THE ROAD TO MONGODB PROJECT RDBMS + ORM BUSINESS LOGIC DOMAIN MODELWednesday, August 24, 2011
  3. 3. Object Database Attempted to accommodate the OO languages they were meant to support Inheritance, associations, etc. THEY FAILED Too slow, too complicated, doomed!Wednesday, August 24, 2011
  4. 4. The Google Problem Relational databases are slow and don’t scale well Distribution Replication ACID compliance Vendor lock in Atypical domain model didn’t require ACID transactionsWednesday, August 24, 2011
  5. 5. The Google Solution Big Table http://labs.google.com/papers/bigtable.html email the authors, they’re great! Petabytes of data across thousands of commodity servers Data separate from logicWednesday, August 24, 2011
  6. 6. JSON & BSON Clear, concise and very AJAX friendly Flexible and nestable (you can nest documents) Ubiquitous language supportWednesday, August 24, 2011
  7. 7. JSON & BSON cont. BSON <> JSON translation can be awkward when dealing with language specific data types Dates, _id fields, etc. Well suited to text/numeric data, not much elseWednesday, August 24, 2011
  8. 8. Common pitfalls How to create a view or join Enforce data integrity Define data structure Document vs. Table(s)Wednesday, August 24, 2011
  9. 9. Normalization RDBMS Normalization is intended to... Reduce complexity Discourage duplication of code/data Provide logical mappings for domain elements In mongodb, the document tells the whole story, including a definition of the dataWednesday, August 24, 2011
  10. 10. Maturity Issues No log file rolling mechanism Awkward tools and querying Accustomed to tabular data (try .pretty()) Very little (if any) feedback regarding outcome of commandsWednesday, August 24, 2011
  11. 11. Queues Many steps, each in it’s own collection Keep high volume collections small & fast Maintain large amounts of statistical data in low volume collectionsWednesday, August 24, 2011
  12. 12. Ready for Business? Business logic must exist in code (including querying data) Transaction boundaries and concurrency must exist in code Speed and reliability are a go (so far :)Wednesday, August 24, 2011
  13. 13. Questions?Wednesday, August 24, 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×