Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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 分散データベース

10,795 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×