2. What is TokuMX?
!
• TokuMX = MongoDB with improved storage
!
• Drop in replacement for MongoDB v2.4 applications
• Including replication and sharding
• Same data model
• Same query language
• Drivers just work
• No Full Text or Geospatial
!
• Open Source
– http://github.com/Tokutek/mongo
®
3. B-tree Limitations
Performance is IO limited when bigger than RAM:
try to fit all internal nodes and some leaf nodes
RAM
22
10
99
RAM
DISK
2, 3, 4
10,20
22,25
99
Plus, mmap.
®
8. TokuMX : Raw Compression
bittorrent data, size on disk, ~31 million inserts (lower is better)
TokuMX achieved
11.6:1 compression
8
®
9. TokuMX : Compression : Field Names
synthetic data, size on disk, 100 million inserts (lower is better)
TokuMX is substantially
smaller, even without
compression
9
®
10. TokuMX : Compression : Field Names
synthetic data, size on disk, 100 million inserts (lower is better)
MongoDB was ~10%
smaller
In TokuMX, field name length has
almost no impact on size due to
compression
10
®
11. TokuMX : ACID + MVCC
• ACID
– In MongoDB, multi-insertion operations allow for partial
success
o Asked to store 5 documents, 3 succeeded
– In TokuMX, offer “all or nothing” behavior (atomic)
• MVCC
– In MongoDB, queries can be interrupted by writers.
o The effect of these writers are visible to the reader
– We offer MVCC
o Reads are consistent as of the operation start
11
®