Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

cloudant/couch_ngen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

couch_ngen

This is an alternative storage engine implementation for CouchDB. It relies on all of the 45918-pluggable-storage-engine branches to function correctly.

This storage engine has three major changes from the legacy engine. First, it uses nifile for performing all IO (rather than the builtin Erlang file module). Secondly, it uses a system of three files (one for data, one for the three btree indexes, and one for commit data). This is to avoid requiring the make_blocks and related functions in couch_file. Thirdly it stores the same pointer to #full_doc_info{} records in both the id_tree and seq_tree to avoid duplicating data on disk.

Some initial micro benchmarks at the storage engine API layer suggest this is a faster implementation than the legacy engine.

Releases

No releases published

Packages

No packages published

Languages