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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

FleetDB

90 点作者 bgray超过 15 年前

8 条评论

tedunangst超过 15 年前
Perhaps a little editorializing of the headline is appropriate when it's one word that doesn't tell me a single thing about the link?
评论 #1032267 未加载
z8000超过 15 年前
This looks rather neat!<p>I like to think that I know enough Clojure to decipher that the database and metadata is locked during compaction. Is this true? See <a href="http://github.com/mmcgrana/fleetdb/blob/master/src/clj/fleetdb/embedded.clj#L99" rel="nofollow">http://github.com/mmcgrana/fleetdb/blob/master/src/clj/fleet...</a><p>I wrote something called LogStore based on the general notion of log-structured data (then learned about the work of Ousterhout et al. in the 90s). For what it's worth, I avoided the need to lock the metadata and the database during compaction, allowing the log to grow during compaction.<p>Instead of working through the locked metadata (offset per entry) and rewriting the entries to a new file, the compactor works from the end of the log file to the start of the log file. Each record descriptor is actually written after the record data to help the compactor easily skip over older versions of records it has processed already during the compaction iteration.<p>Once the compactor reaches the start of the file, it checks to see if the file grew (more appends, new data) since the beginning of the compaction, and starts over from the new EOF but stopping at the previous EOF. This repeats until the compactor fully catches up.<p>Then the database is temporarily locked, the new metadata is swapped in, and the existing log file is overwritten with the compacted log file.
评论 #1031838 未加载
DrJokepu超过 15 年前
So what does this offer over a key-value store (such as BerkeleyDB) other than the JSON query/object abstraction layer?
patrickgzill超过 15 年前
What happens if/when the database runs out of RAM? Does the OS then start swapping to disk?
评论 #1031859 未加载
va_coder超过 15 年前
It looks like the first schema-free database written in Clojure has arrived
评论 #1031660 未加载
netghost超过 15 年前
Looks neat, certainly something to watch.
mhendric超过 15 年前
congrats mark!
admn_is_traitor超过 15 年前
Stopped reading at "optimized for agile development."..