MongoDB SF Python

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    4 Favorites

    MongoDB SF Python - Presentation Transcript

    1. open-source, high-performance, schema-free, document-oriented database
    2. RDBMS • Great for many applications • Shortcomings • Scalability • Flexibility
    3. CAP Theorem • Consistency • Availability • Tolerance to network Partitions • Pick two http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
    4. ACID vs BASE • Atomicity • Basically Available • Consistency • Soft state • Isolation • Eventually consistent • Durability
    5. Schema-free • Loosening constraints - added flexibility • Dynamically typed languages • Migrations
    6. BigTable • Single master node • Row / Column hybrid • Versioned
    7. BigTable • Open-source clones: • HBase • Hypertable
    8. Dynamo • Simple Key/Value store • No master node • Write to any (many) nodes • Read from one or more nodes (balance speed vs. consistency) • Read repair
    9. Dynamo • Open-source clones • Project Voldemort • Cassandra - data model more like BigTable • Dynomite
    10. memcached • Used as a caching layer • Essentially a key/value store • RAM only - fast • Does away with ACID
    11. Redis • Like memcached • Different • Values can be strings, lists, sets • Non-volatile
    12. Tokyo Cabinet + Tyrant • Key/value store with focus on speed • Some more advanced queries • Sorting, range or prefix matching • Multiple storage engines • Hash, B-Tree, Fixed length and Table
    13. • A lot in common with MongoDB: • Document-oriented • Schema-free • JSON-style documents
    14. • Differences • MVCC based • Replication as path to scalability • Query through predefined views • ACID • REST
    15. • Focus on performance • Rich dynamic queries • Secondary indexes • Replication / failover • Auto-sharding • Many platforms / languages supported
    16. Good at • The web • Caching • High volume / low value • Scalability
    17. Less good at • Highly transactional • Ad-hoc business intelligence • Problems that require SQL
    18. PyMongo • Python driver for MongoDB • Pure Python, with optional C extension • Installation • Use setuptools: easy_install pymongo
    19. Basics • Connect: • Insert: • Query:
    20. Document values • None • Special values: • bool • SON • int • Binary • float • ObjectId • string / unicode • DBRef • dict • datetime.datetime • compiled re
    21. • Schema-free: • Query with selectors:
    22. Advanced queries • Sorting: • Limit: • Range:
    23. • $gt, $lt, $gte, $lte, $ne, $all, $in, $nin • where() • count() • group()
    24. GridFS • File storage in MongoDB • File-like API for Python • Initialize: • Write: • Read:
    25. Other cool stuff • Capped collections • Upserts • Multikeys
    26. Demo
    27. • Download MongoDB http://www.mongodb.org • Install PyMongo • Try it out!
    28. • http://www.mongodb.org • irc.freenode.net#mongodb • mongodb-user on google groups • @mongodb • mike@10gen.com
    SlideShare Zeitgeist 2009

    + Mike DirolfMike Dirolf Nominate

    custom

    653 views, 4 favs, 0 embeds more stats

    MongoDB presentation for SF Python's June meetup. R more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 653
      • 653 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 16
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories