diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-04-02 10:28:17 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-04-02 10:28:17 -0600 |
commit | 76acd60ff33648fcf8e761d36198c32caed8227a (patch) | |
tree | 88013c9f65cb5a4eaa0fb478d7f565c451cb498b | |
parent | Merge branch 'master' of https://github.com/boltdb/bolt (diff) | |
download | dedo-76acd60ff33648fcf8e761d36198c32caed8227a.tar.gz dedo-76acd60ff33648fcf8e761d36198c32caed8227a.tar.xz |
README
Remove the 'Internals' section since it is half-assed right now.
-rw-r--r-- | README.md | 31 |
1 files changed, 1 insertions, 30 deletions
@@ -46,37 +46,8 @@ So why use Bolt? The goal of Bolt is provide a simple, fast data store that is e Below is a list of public, open source projects that use Bolt: -* [Skybox Analytics](https://github.com/skybox/skybox) +* [Skybox Analytics](https://github.com/skybox/skybox) - A standalone funnel analysis tool for web analytics. * [DVID](https://github.com/janelia-flyem/dvid) - Added Bolt as optional storage engine and testing it against Basho-tuned leveldb. If you are using Bolt in a project please send a pull request to add it to the list. - -## Internals - -The Bolt database is meant to be a clean, readable implementation of a fast single-level key/value data store. -This section gives an overview of the basic concepts and structure of the file format. - -### B+ Tree - -Bolt uses a data structure called an append-only B+ tree to store its data. -This structure allows for efficient traversal of data. - -TODO: Explain better. :) - - -### Pages - -Bolt stores its data in discrete units called pages. -The page size can be configured but is typically between 4KB and 32KB. - -There are several different types of pages: - -* Meta pages - The first two pages in a database are meta pages. These are used to store references to root pages for system buckets as well as keep track of the last transaction identifier. - -* Branch pages - These pages store references to the location of deeper branch pages or leaf pages. - -* Leaf pages - These pages store the actual key/value data. - -* Overflow pages - These are special pages used when a key's data is too large for a leaf page and needs to spill onto additional pages. - |