Large pages in a b-tree like innodb cause very bad write amplification:
Suppose you only write a few rows to a leaf page before it needs to be flushed to disk (for eviction or checkpoint). You still have to serialize and write the whole page. So if your writes are, say, 1kb and your pages are 16kb, you have a "write amplification" factor of 16. But if your pages are 1MB, then your write amplification factor is 1000!
Write amplification is a measure of how many actual bytes are written to disk in proportion to the number of "user data bytes" written to the database.
In TokuDB, because writes are buffered high in the tree, we usually overwrite a large portion of a page when we do need to flush it. So, the per-node write amplification (total size / size of changes applied) is very low. But, in a b-tree a write only happens once, at the leaf (for all practical purposes), while in a fractal tree (much like an LSM tree), a single key write does get duplicated at each level as it's flushed down the tree.
For random-access workloads larger than RAM, a fractal tree will have much better (lower) write amplification than a b-tree. For sequential or heavily focused workloads (e.g. high-α Pareto distributions), b-trees do very well (because they can accumulate many writes per page before needing to flush), but TokuDB has optimizations for these types of workloads ("promotion") and actually does quite well for those workloads as well, by skipping the upper levels and injecting messages close to the leaves of the tree. I am not aware of any LSM-tree with similar optimizations.
This is a very long story to say: b-trees exhibit catastrophic write amplification with large page sizes. But write-optimized data structures like fractal trees and LSM-trees can afford large pages because their amortization benefits ameliorate the write amplification issues, and so reap the fragmentation benefits of large pages.
--
Cheers,
Leif