NoSQLEU: Different NoSQL tools in Production

  • 4,768 views
Uploaded on

Matt has followed the development of NoSQL databases with great interest and used them to solve many problems. In this talk, he will share his experiences of working with NoSQL whilst building web …

Matt has followed the development of NoSQL databases with great interest and used them to solve many problems. In this talk, he will share his experiences of working with NoSQL whilst building web applications at Bit Zesty.

He will evaluate the different databases he has encountered, as well as discuss the drawbacks in this emergent technological field.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,768
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
24
Comments
0
Likes
2

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

Transcript

  • 1. Notes from the field: Different NoSQL tools in production Matthew Ford
  • 2. We've used: Key Value Stores: Document Stores: Redis MongoDB Tokyo Cabinet CouchDB
  • 3. Redis Project: Gnip Filter Requirements: Users can filter realtime data streams by keywords. Solution: redis.set_add('ipad', 'client_id') In the background we filter the data stream, when a keyword matches, we push that piece of data to all the client ids. redis.set_members('ipad')
  • 4. Redis Benefits: Drawbacks: Fast Not fault tolerant Simple model No replication Sets are useful Whole data set in memory O(1) for set add/remove
  • 5. Tokyo Cabinet Project: tweetarium Requirement: Store tweets from a user to build up twitter lists Solution: Serialized JSON from the twitter API, and arrays of twitter ids for the lists. Running on a small slicehost slice (poor mans memcached) Live at http://tweetarium.com/
  • 6. Tokyo Cabinet Benefits: Drawbacks: Still Fast Documentation mostly in Japanese Persistent Kyoto Cabinet (successor) Space efficient
  • 7. CouchDB Project: Project management app Requirements: Everything needed to have version tracking (snapshots of the entire project and all of it's associations). Solution: Hybrid system, removed version control from SQL and pass a JSON representation of the project data to CouchDB.
  • 8. CouchDB Benefits: Drawbacks: Flexible Library support (at the time) Simplify architecture JS Views, with changing schema Robust HTTP not a fast as binary protocol
  • 9. MongoDB Project: feesability Problem: Case estimation and planning tool, with the need to 'clone cases'. Solution: All cases data is embedded within the case document (with some references to other documents). This enables us to easily clone an entire case.
  • 10. MongoDB Benefits: Drawbacks: Flexible Replication not here yet Fast Libraries are playing catch up Ad-Hoc queries Durability Trade-off Easy to query embedded documents
  • 11. Conclusion Use the right tools for the job
  • 12. Thanks! More info http://blog.bitzesty.com General NoSQL news http://nosql.mypopescu.com/