No Sql Introduction


Published on

Published in: Technology

No Sql Introduction

  1. 1. NoSQL Re-thinK the world
  2. 2. NoSQL Not Only SQL next-generation databases modern web-scale databases
  3. 3. RDBMs Problem Design for ACID Hard to scale Availability? Flexibility
  4. 4. Possible Solutions Oracle/Sybase Mysql/PostgreSQL Cluster/Replica Super-powered Computer
  5. 5. Unnecessarily Complex but just better
  6. 6. Characteristics Non-Relational Distributed Horizontal Scalability Schema-less/Schema-free Eventual Consistency
  7. 7. Category Key-Value stores Document stores Column-oriented stores Graph Databases
  8. 8. Key-Value Store hash Memcached Dynamo Redis Riak Tokyo Cabinet
  9. 9. Document Stores semi-structure IBM Lotus MongoDB CouchDB
  10. 10. Column-Oriented Stores semi-structure BigTable (inspiration source) HBase Cassandra Hypertable
  11. 11. Graph Database InfoGrid Neo4j
  12. 12. Ruby/Rails Integration NoSQL Database Ruby Rails Redis redis-rb ohm Riak riak Tokyo Cabinet tokyo-cabinet MongoDB mongo-ruby-driver MongoMapper CouchDB CouchRest CouchRest-Rails HBase hbase-ruby rhino Cassandra cassandra cassandra_object Neo4j neo4j (jruby)
  13. 13. Brewer’s CAP Theorem Consistency Availability Partitions Tolerance You can have at most two of the properties for any shared-data system
  14. 14. Decision? Consistency Availability ? ? Partitions Tolerance
  15. 15. BigTable Cassandra HBase SimpleDB Consistency Availability MongoDB CouchDB Redis Riak Partitions Tolerance
  16. 16. Activities Google Facebook Yahoo Twitter GitHub
  17. 17. Services Google App Engine Amazon SimpleDB MongoHQ CouchIO VMWare?
  18. 18. Example by Intridea, Inc Powered by MongoDB, Sinatra, TweetStream
  19. 19. Thanks for your patience! Email: Twitter: @yedingding GitHub: