Tokyo Cabinet

2,144 views

Published on

tokyo cabinet database overview

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

No Downloads
Views
Total views
2,144
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tokyo Cabinet

  1. 1. or LOL
  2. 2. Tokyo
  3. 3. Cabinet
  4. 5. Runs in... Runs on Linux, Solaris, Mac OS X
  5. 6. tokyo cabinet storage <ul><li><key, value> database manager DBM </li></ul>Persisted in file system Tokyo Cabinet <k, v> <k, v>
  6. 7. Why Tokyo? <ul><li>space efficiency : small database file size. </li></ul><ul><li>time efficiency : fast processing speed. </li></ul><ul><li>parallelism : high performance in multi-thread environment. </li></ul><ul><li>usability : simple API’s. </li></ul><ul><li>64-bit architecture : enormous memory space and database file are available. </li></ul><ul><li>No-SQL  </li></ul>
  7. 8. <ul><li>Database Structures: </li></ul>- Hash - B+ Tree - Fixed-Length - Table
  8. 9. Hash Database
  9. 10. B+ Tree Database <ul><li>slower than hash database  </li></ul><ul><li>Logical sorted (Last Recent Used) </li></ul><ul><li>Stands in a Hash Database </li></ul>
  10. 11. Fixed-length Database <ul><li>natural number keys </li></ul><ul><li>extremely fast </li></ul>
  11. 12. Table Database <ul><li>expresses a structure like a table of relational database. </li></ul><ul><li>column based </li></ul><ul><li>flexible structure </li></ul><ul><li>query mechanism </li></ul><ul><li>column indexes </li></ul>
  12. 14. Tokyo Cabinet is 31 times faster than MySQL! <ul><li>Total time used to write 10000 records and retrieve them back Tokyo Cabinet: 18.87s MySQL: 562.21s </li></ul>
  13. 15. Advantages Disadvantages NO-SQL Windows platform is not supported Speed not durable (isn’t crash safe) high scalability: No actual limit size of a database file (to 8 exabytes) LOCK ( only one transaction can be activated with the database at the same time) Tokyo Cabinet is written in the C language, and provided as API of C, Perl, Ruby, Java, and Lua. high concurrency Write-ahead logging: (log transaction status-> succeeded, half-succeeded, or failed)
  14. 16. Thank You!

×