0
Cassandra

                          Eric Evans
                     eevans@rackspace.com
                          @jeric...
Cassandra
decentralized
1
..


..
2


3
..


4
..
• 7
•
• IRC   100
•
• 3           2
•
1
..


..
2


3
..


4
..
Cassandra   ...




• O(1) DHT (                        )
•          (Eventual consistency)
•
...




•
•   /
•       (   )
• get():
• multiget():
• get slice():
    •
    •
• multiget slice():


• get count:
• get range slice():
• TimeUUID
• LexicalUUID
• UTF8
• Long
• Bytes
• ...
• insert():            /    (          )
• batch insert():                  /       (       )
• remove():
• batch mutate()...
(Consistency)



CAP               (Consistency)   (Availability)
          (Partition tolerance)            2
 • Zero
 • ...
API


• Thrift (12                 )
• Ruby
    • http://github.com/fauna/cassandra/tree/master
    • http://github.com/NZ...
MySQL      (50GB)




• MySQL
   • 300ms
   • 350ms

• Cassandra
    • 0.12ms
    • 15ms
...



•
•
•
• 1
•
•
•     (   )
...




•
•
•
1
..


..
2


3
..


4
..
1: Digg




Digg




Alexa.com   98
Digg
•


•
•
•
•
•   Cassandra
•
2: Twitter




Twitter          140



Alexa.com   12
Twitter
MySQL




•   ˜1,000,000 ops/s
•
•
•
•
3: Facebook




Facebook




Alexa.com   2
Inbox Search




• 100TB
• 160
• 1     5   2
4: Mahalo




Mahalo.com



 Mahalo
MySQL




•   1,600
•


•
•
1
..


..
2


3
..


4
..
0.6


• batch mutate
•
•                      ANY
•
•                I/O         64   jvm
•                       HH
•
•
•...
0.7


•
•
• SSTable
• SSTable
•
•
• remove key range
•
•
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Cassandra 分散データベース
Upcoming SlideShare
Loading in...5
×

Cassandra 分散データベース

9,679

Published on

Eric Evansさんの「Slideshow from Cassandra presentation @ FOSDEM 2010」 の日本語訳です。

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,679
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
51
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Cassandra 分散データベース"

  1. 1. Cassandra Eric Evans eevans@rackspace.com @jericevans FOSDEM 2010 2 7 Japanese translation by http://oss.infoscience.co.jp/
  2. 2. Cassandra
  3. 3. decentralized
  4. 4. 1 .. .. 2 3 .. 4 ..
  5. 5. • 7 • • IRC 100 • • 3 2 •
  6. 6. 1 .. .. 2 3 .. 4 ..
  7. 7. Cassandra ... • O(1) DHT ( ) • (Eventual consistency) •
  8. 8. ... • • / • ( )
  9. 9. • get(): • multiget(): • get slice(): • • • multiget slice(): • get count: • get range slice():
  10. 10. • TimeUUID • LexicalUUID • UTF8 • Long • Bytes • ...
  11. 11. • insert(): / ( ) • batch insert(): / ( ) • remove(): • batch mutate(): batch insert() (0.6 batch insert() ) •
  12. 12. (Consistency) CAP (Consistency) (Availability) (Partition tolerance) 2 • Zero • One • Quorum ((N / 2) + 1) • All
  13. 13. API • Thrift (12 ) • Ruby • http://github.com/fauna/cassandra/tree/master • http://github.com/NZKoz/cassandra object/tree/master • Python • http://github.com/digg/lazyboy/tree/master • http://github.com/driftx/Telephus/tree/master (Twisted) • Scala • http://github.com/viktorklang/Cassidy/tree/master • http://github.com/nodeta/scalandra/tree/master
  14. 14. MySQL (50GB) • MySQL • 300ms • 350ms • Cassandra • 0.12ms • 15ms
  15. 15. ... • • • • 1 • • • ( )
  16. 16. ... • • •
  17. 17. 1 .. .. 2 3 .. 4 ..
  18. 18. 1: Digg Digg Alexa.com 98
  19. 19. Digg
  20. 20. • • • •
  21. 21. • • Cassandra •
  22. 22. 2: Twitter Twitter 140 Alexa.com 12
  23. 23. Twitter
  24. 24. MySQL • ˜1,000,000 ops/s • • • •
  25. 25. 3: Facebook Facebook Alexa.com 2
  26. 26. Inbox Search • 100TB • 160 • 1 5 2
  27. 27. 4: Mahalo Mahalo.com Mahalo
  28. 28. MySQL • 1,600 • • •
  29. 29. 1 .. .. 2 3 .. 4 ..
  30. 30. 0.6 • batch mutate • • ANY • • I/O 64 jvm • HH • • • •
  31. 31. 0.7 • • • SSTable • SSTable • • • remove key range • •
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×