[
https://issues.apache.org/jira/browse/ZOOKEEPER-3352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16815030#comment-16815030
]
maoling commented on ZOOKEEPER-3352:
------------------------------------
[~belugabehr]
Plz take another look at the my referece provided above.
- 1.There was a good evalutions from Xiang Li, Why the etcd-v3 choose the
boltDB:
https://github.com/etcd-io/etcd/issues/2646
- 2.Look at this:
https://github.com/boltdb/bolt#comparison-with-other-databases
*LevelDB and its derivatives (RocksDB, HyperLevelDB) are similar to Bolt in
that they are libraries bundled into the application, however, their underlying
structure is a log-structured merge-tree (LSM tree). An LSM tree optimizes
random writes by using a write ahead log and multi-tiered, sorted files called
SSTables. Bolt uses a B+tree internally and only a single file. Both approaches
have trade-offs.*
*If you require a high random write throughput (>10,000 w/sec) or you need to
use spinning disks then LevelDB could be a good choice. If your application is
read-heavy or does a lot of range scans then Bolt could be a good choice.*
*One other important consideration is that LevelDB does not have transactions.
It supports batch writing of key/values pairs and it supports read snapshots
but it will not give you the ability to do a compare-and-swap operation safely.
Bolt supports fully serializable ACID transactions.*
> Use LevelDB For Backend
> -----------------------
>
> Key: ZOOKEEPER-3352
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3352
> Project: ZooKeeper
> Issue Type: New Feature
> Components: server
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Critical
> Fix For: 4.0.0
>
>
> Use LevelDB for managing data stored in ZK (transaction logs and snapshots).
> https://stackoverflow.com/questions/6779669/does-leveldb-support-java
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)