Your SlideShare is downloading. ×
  • Like
Webtech Conference: NoSQL and Web scalability
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Webtech Conference: NoSQL and Web scalability

  • 1,409 views
Published

 

Published in Technology , Business
  • 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,409
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
29
Comments
0
Likes
0

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. 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 – Document databases – Key-value stores – Graph Databases SQL
  • 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 • key = vs
  • 8. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 • key = property1 property2 property3 vs
  • 9. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 • key = property1 property2 property3:: :: vs
  • 10. Access patterns • select * from table where p1 = property1 and p2 = property2 and p3 = property3 • key = MD5( )property1 property2 property3:: :: vs
  • 11. Memcached - workflow
  • 12. Memcached - workflow
  • 13. Memcached - workflow SQL DB
  • 14. Memcached - workflow SQL DB Memcached
  • 15. Sharding
  • 16. Routing requests • A-F • G-N • O-S • T-Z user Foo user Puf user Uwe
  • 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: bae61f3f62f342b3c4d7f0d8dd128365key: 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. Memcached MemcacheDB - workflow SQL DB
  • 22. Memcached MemcacheDB - workflow
  • 23. MemcachedMemcacheDB MemcacheDB - workflow
  • 24. MemcacheDB - performance 0 22500.0 45000.0 67500.0 90000.0 read/s write/s MySQL MemcacheDB Memcached key: 16 value: 100B
  • 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