NoSQL and NewSQL                         Zhongke Chen                         May 28, 2012Sunday, June 3, 12
Agenda                     What’s NoSQL                     Typical NoSQL Models                     What’s NewSQL        ...
Problems with SQL                     Scale out                     Performance & SizeSunday, June 3, 12
What’s NoSQL                     NoSQL is a term used to designate                     databases which differ from classic...
Pros                     It may have a distributed, fault-                     tolerant architecture                     s...
CAP TheoremSunday, June 3, 12
NoSQL Models                     Key-Value                     Column Family                     Document                 ...
NoSQL Models:                           Key-Value                     key -> value                     Examples: memcached...
NoSQL Model:                         Column Family                     Row key, Column                     key -> Value   ...
NoSQL Model:                            Document                     Key -> Document (JSON, XML)                     Examp...
NoSQL Model:                             Graph                     Examples: Neo4j, OrientDBSunday, June 3, 12
What’s NewSQL                     NewSQL preserves SQL and offer high                     performance and scalability, whi...
Redis                     Key-Value                     In-Memory Cache                     Rich Data Types and Operations...
MongoDB                     JSON like (BSON) Document Store                     Auto Sharding                     Global L...
CouchDB                     JSON Document Store                     Written in Erlang                     Master-Master Re...
Cassandra                     Column family model                     Decentralized                     Tunable Consistenc...
Neo4J                     Graph database                     Small Footprint                     Scalability              ...
VoltDB                     Speak SQL                     Stored Procedures                     Partitioning Table and     ...
How To Choose                     MongoDB: If you need dynamic queries. If you prefer to define                     indexe...
Q&A                     The End!                     Thank you!Sunday, June 3, 12
Upcoming SlideShare
Loading in...5
×

Nosql and newsql

1,845

Published on

Introduction to NoSQL and NewSQL

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,845
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
144
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Nosql and newsql

    1. 1. NoSQL and NewSQL Zhongke Chen May 28, 2012Sunday, June 3, 12
    2. 2. Agenda What’s NoSQL Typical NoSQL Models What’s NewSQL Popular NoSQL and NewSQL DBMSes DiscussionSunday, June 3, 12
    3. 3. Problems with SQL Scale out Performance & SizeSunday, June 3, 12
    4. 4. What’s NoSQL NoSQL is a term used to designate databases which differ from classic relational databases in some way. It does not use SQL as its query language (no relational model, no JOIN) It may not give full ACID guaranteesSunday, June 3, 12
    5. 5. Pros It may have a distributed, fault- tolerant architecture significant gains in performance for certain data models It deals with huge quantities of data Schema-less DesignSunday, June 3, 12
    6. 6. CAP TheoremSunday, June 3, 12
    7. 7. NoSQL Models Key-Value Column Family Document GraphSunday, June 3, 12
    8. 8. NoSQL Models: Key-Value key -> value Examples: memcached, redis, Berkeley DB, DynamoSunday, June 3, 12
    9. 9. NoSQL Model: Column Family Row key, Column key -> Value Examples: BigTable, Cassandra, HBaseSunday, June 3, 12
    10. 10. NoSQL Model: Document Key -> Document (JSON, XML) Examples: MongoDB, CouchDBSunday, June 3, 12
    11. 11. NoSQL Model: Graph Examples: Neo4j, OrientDBSunday, June 3, 12
    12. 12. What’s NewSQL NewSQL preserves SQL and offer high performance and scalability, while preserving the traditional ACID notion for transactions. Examples: VoltDB, NimbusDB, Clustrix, DrizzleSunday, June 3, 12
    13. 13. Redis Key-Value In-Memory Cache Rich Data Types and Operations Optional Persistence Master-Slave Replication Transaction Use cases: weibo.com dianping.comSunday, June 3, 12
    14. 14. MongoDB JSON like (BSON) Document Store Auto Sharding Global Lock, Only one node writable Replica Sets Replication Eventual Consistency Mongo Query Language (Friendly to SQL users) Use cases: dianping.com 盛大 Cloud FoundrySunday, June 3, 12
    15. 15. CouchDB JSON Document Store Written in Erlang Master-Master Replication MVCC Eventual Consistency Compaction Offline HTTP/REST API View (query tool) Use cases: Ubuntu One Meebo Some Facebook AppsSunday, June 3, 12
    16. 16. Cassandra Column family model Decentralized Tunable Consistency Use cases: Facebook Twitter NetflixSunday, June 3, 12
    17. 17. Neo4J Graph database Small Footprint Scalability A powerful traversal framework Cypher Query Language Gremlin Traversal Language Use cases: Multi-level Marketing EngineSunday, June 3, 12
    18. 18. VoltDB Speak SQL Stored Procedures Partitioning Table and Replication Table Lock free design In-Memory Snapshots and command logging K-safety Linear Scalability Use cases: http://voltdb.com/customersSunday, June 3, 12
    19. 19. How To Choose MongoDB: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks. CouchDB: For accumulating, occasionally changing data, on which pre- defined queries are to be run. Places where versioning is important. Redis: For rapidly changing data with a foreseeable database size (should fit mostly in memory). Neo4J: For graph-style, rich or complex, interconnected data. Neo4j is quite different from the others in this sense. Cassandra: When you write more than you read (logging). If every component of the system must be in Java. ("No one gets fired for choosing Apaches stuff.") VoltDB: If you want to speak SQL and use JOINSunday, June 3, 12
    20. 20. Q&A The End! Thank you!Sunday, June 3, 12
    1. A particular slide catching your eye?

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

    ×