Your SlideShare is downloading. ×
Nosql and newsql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Nosql and newsql

1,748
views

Published on

Introduction to NoSQL and NewSQL

Introduction to NoSQL and NewSQL

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,748
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
141
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. NoSQL and NewSQL Zhongke Chen May 28, 2012Sunday, June 3, 12
    • 2. Agenda What’s NoSQL Typical NoSQL Models What’s NewSQL Popular NoSQL and NewSQL DBMSes DiscussionSunday, June 3, 12
    • 3. Problems with SQL Scale out Performance & SizeSunday, June 3, 12
    • 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. 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. CAP TheoremSunday, June 3, 12
    • 7. NoSQL Models Key-Value Column Family Document GraphSunday, June 3, 12
    • 8. NoSQL Models: Key-Value key -> value Examples: memcached, redis, Berkeley DB, DynamoSunday, June 3, 12
    • 9. NoSQL Model: Column Family Row key, Column key -> Value Examples: BigTable, Cassandra, HBaseSunday, June 3, 12
    • 10. NoSQL Model: Document Key -> Document (JSON, XML) Examples: MongoDB, CouchDBSunday, June 3, 12
    • 11. NoSQL Model: Graph Examples: Neo4j, OrientDBSunday, June 3, 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. 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. 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. 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. Cassandra Column family model Decentralized Tunable Consistency Use cases: Facebook Twitter NetflixSunday, June 3, 12
    • 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. 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. 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. Q&A The End! Thank you!Sunday, June 3, 12