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!

Like this? Share it with your network

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

Views

Total Views
1,794
On Slideshare
1,784
From Embeds
10
Number of Embeds
1

Actions

Shares
Downloads
28
Comments
0
Likes
0

Embeds 10

http://blog.mikamai.com 10

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. 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