[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16814466#comment-16814466
 ] 

David Mollitor commented on ZOOKEEPER-3352:
-------------------------------------------

Ya, my drive here for using a third-party library on this is that ZK should not 
be writing its own data store.  ZK would benefit from a lot of the work that 
these specialized projects are doing.

 

As a start, I was thinking that the ZK Transaction Log could be replaced with 
Level/RocksDB.
 * Compression: faster writes
 * TTL for each record: TXN log entries expire automatically

 

Since TXN logs are not read that often (as I understand it), the 'read' buffer 
for the DB would be disabled.

 

However, as an entire database system for ZK, I think these key/value stores 
are probably a good fit for ZK since they keep everything sorted. For example, 
for the following znodes, if the storage key is the path,
 * /service/lock-001
 * /service/lock-002
 * /service/lock-003

To perform an 'ls' on the {{/service}} ZNode would only require a quick scan

 

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

Reply via email to