Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Webtech Conference: NoSQL and Web scalability

on

  • 1,742 views

 

Statistics

Views

Total Views
1,742
Views on SlideShare
1,732
Embed Views
10

Actions

Likes
0
Downloads
28
Comments
0

1 Embed 10

http://blog.mikamai.com 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Webtech Conference: NoSQL and Web scalability Presentation Transcript

  • 1. NoSQL and Web scalability Luca Bonmassar
  • 2. NoSQL - introduction • A database that does not expose an SQL interface (negative definition) • Not a news in the computer science • Many subcategories: – BigData – Column stores SQL – Document databases – Key-value stores – Graph Databases
  • 3. Why NoSQL? performance, scalability
  • 4. Does it fit in my project?
  • 5. Memcached • A key - value storage, data is serialized • No persistent storage, data expires • A new layer between application and database • Application must manage cache explicitely • Performance boost
  • 6. Memcached protocol • Human readable protocol • Set (key, val, expire) • Get (key), mget(key) • Delete (key) • Same logical interface of a Map (hash)
  • 7. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 vs • key =
  • 8. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 vs • key = property1 property2 property3
  • 9. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 vs • key = property1::property2 ::property3
  • 10. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 vs • key = MD5( property1::property2 ::property3 )
  • 11. Memcached - workflow
  • 12. Memcached - workflow
  • 13. Memcached - workflow SQL DB
  • 14. Memcached - workflow Memcached SQL DB
  • 15. Sharding
  • 16. Routing requests • A-F o use r Fo • G-N user Puf use • O-S r Uw e • T-Z
  • 17. NoSQL + sharding • Split data into multiple servers • Use keys as shard entries
  • 18. NoSQL + sharding • Split data into multiple servers • Use keys as shard entries key: bae61f3f62f342b3c4d7f0d8dd128365
  • 19. NoSQL + sharding • Split data into multiple servers • Use keys as shard entries key: bae61f3f62f342b3c4d7f0d8dd128365 shard index data key
  • 20. MemcacheDB • A Memcached server with BerkleyDB storage • Same interface as Memcached, can be used where Memcached is already being used • Performance are comparable to Memcached
  • 21. MemcacheDB - workflow Memcached SQL DB
  • 22. MemcacheDB - workflow Memcached
  • 23. MemcacheDB - workflow MemcacheDB Memcached
  • 24. MemcacheDB - performance MySQL MemcacheDB Memcached 90000.0 67500.0 45000.0 22500.0 0 key: 16 read/s value: 100B write/s
  • 25. Cons ?
  • 26. NoSQL references • memcachedb.org • memcached.org • nosql.mypopescu.com • technoroy.blogspot.com/2008/07/shard- database-design.html
  • 27. Thank you! Any questions? luca@coderloop.com linkedin.com/in/lucabonmassar www.coderloop.com