Selecting the Right NoSQL Tool for the Job
-
Upload
dataversity -
Category
Technology
-
view
618 -
download
4
Transcript of Selecting the Right NoSQL Tool for the Job
![Page 1: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/1.jpg)
Choosing a NoSQL Solution
Thursday, August 25, 11
![Page 2: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/2.jpg)
Dave GrijalvaDirector of Platform Technology
Thursday, August 25, 11
![Page 3: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/3.jpg)
NoSQL
Thursday, August 25, 11
![Page 4: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/4.jpg)
Why so many?
Thursday, August 25, 11
![Page 5: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/5.jpg)
Tradeoffs
Thursday, August 25, 11
![Page 6: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/6.jpg)
CAP Theorem
C
PA
Consistency
Partition Tolerance
Availability
Unpossible
Thursday, August 25, 11
![Page 7: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/7.jpg)
Access Patterns
• How much content?
• How many operations?
• Ratios of Insert/Update/Read/Delete?
• How valuable is your data?
Thursday, August 25, 11
![Page 8: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/8.jpg)
Schema and Indexing
• How will you access your data?
• User Requests vs Background Processing
• Secondary Indexes
Thursday, August 25, 11
![Page 9: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/9.jpg)
Clustering
•Where is the sharding done?
• Adding and removing nodes
•Where (in the world) is your data?
• Failure cases
Thursday, August 25, 11
![Page 10: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/10.jpg)
Operations
• Backup and recovery
• Multi-datacenter issues
• Ease of deployment
• Tools integration
• Support
Thursday, August 25, 11
![Page 11: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/11.jpg)
NoSQL @ ngmoco:)
Thursday, August 25, 11
![Page 12: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/12.jpg)
Start Simple
Load Balancer
API Server API Server API Server
MySQL MySQLMemcached
Thursday, August 25, 11
![Page 13: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/13.jpg)
OAuth
• Shared secret based
• Signature validation on every request
• Tokens are per session
• Tokens expire
Thursday, August 25, 11
![Page 14: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/14.jpg)
Redis
• In memory key/value store
• Really fast
• Delayed persistence
• Supports TTL per record
• Values can be blobs, lists, sets, or hashes
Thursday, August 25, 11
![Page 15: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/15.jpg)
Game Data Store
• Per user, per game key/value store
• Exposed via REST API
• Very write heavy
• Keys are usually provided upfront
• High data throughput
Thursday, August 25, 11
![Page 16: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/16.jpg)
Cassandra
• Configurable consistency
• No single write master
• Sharding managed by the cluster
• Built in replication
• Supercolumns!
Thursday, August 25, 11
![Page 17: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/17.jpg)
“The Bank”
• High transaction volume
• ACID a requirement
• Lots of tracking required for revenue calculations
• Five nines uptime
• Insert dominant
Thursday, August 25, 11
![Page 18: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/18.jpg)
Marklogic
• XML Document store
• Transactional
• Insert based persistence
• Temporal
• Clustered
Thursday, August 25, 11
![Page 19: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/19.jpg)
Tips
• Start as simple as possible
• Learn how the systems work
• Try to find success and failure stories
• Explore failure scenarios. Test!
• There is no best solution. Look for a best match solution
Thursday, August 25, 11
![Page 20: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/20.jpg)
ngmoco:) is hiring!ngmoco.com/careers
Thursday, August 25, 11
![Page 21: Selecting the Right NoSQL Tool for the Job](https://reader038.fdocuments.net/reader038/viewer/2022110204/55d53451bb61eb335f8b466a/html5/thumbnails/21.jpg)
Questions?
Thursday, August 25, 11