TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Embedded Database Design Papers

1 点作者 gfs超过 6 年前
In order to learn more about database design principles I thought it would be great to read papers on embedded databases. I have searched around for material on the popular open source databases like RocksDB, LMDB, or LevelDB but haven't found anything concrete. Aside from reading the source code, how can I teach myself about the data structures and abstractions that these provide? Eventually I would like to write a toy implementation after getting acquainted with a subset of this knowledge.

3 条评论

hyc_symas超过 6 年前
Where have you been looking? LMDB&#x27;s design is fully documented. Aside from the papers<p><a href="https:&#x2F;&#x2F;symas.com&#x2F;lmdb&#x2F;technical&#x2F;#pubs" rel="nofollow">https:&#x2F;&#x2F;symas.com&#x2F;lmdb&#x2F;technical&#x2F;#pubs</a><p>every aspect of the source code is documented with Doxygen.<p><a href="http:&#x2F;&#x2F;www.lmdb.tech&#x2F;doc&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.lmdb.tech&#x2F;doc&#x2F;</a>
SamReidHughes超过 6 年前
RocksDB and LevelDB use a &quot;log-structured merge tree&quot; so you might want to use that as a search term. There is a section &quot;Papers&quot; at the bottom of the web page at <a href="http:&#x2F;&#x2F;leveldb.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;leveldb.org&#x2F;</a> .<p>LMDB uses a B-tree variant, according to Wikipedia. Maybe it&#x27;s a B+ tree as Wikipedia says, but keep your thinking cap on -- it&#x27;s probably not in exactly the form you see described on Wikipedia.<p>If you want to see a <i>toy</i> LSM-tree implementation, I have one at <a href="https:&#x2F;&#x2F;github.com&#x2F;srh&#x2F;nihdb" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;srh&#x2F;nihdb</a> -- it was written as a starter Rust project, not as a fast LSM-tree engine. It&#x27;s almost the simplest plausible LSM-tree. But you&#x27;ll miss out on design considerations relating to concurrency and performance.
philix001超过 6 年前
Goetz Graefe [1] published interesting surveys on B-Trees, query optimization...<p>The Red Book can give you many ideas [2].<p>Mark Callaghan has been published a lot of stuff related to LSM recently [3].<p>[1] <a href="http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.219.7269&amp;rep=rep1&amp;type=pdf" rel="nofollow">http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;viewdoc&#x2F;download?doi=10.1.1.219...</a><p>[2] <a href="http:&#x2F;&#x2F;www.redbook.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.redbook.io&#x2F;</a><p>[3] <a href="https:&#x2F;&#x2F;smalldatum.blogspot.com&#x2F;?m=1" rel="nofollow">https:&#x2F;&#x2F;smalldatum.blogspot.com&#x2F;?m=1</a>
评论 #18949784 未加载