TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

FoundationDB: A distributed, unbundled, transactional key value store [pdf]

283 pointsby wwilsonalmost 4 years ago

22 comments

monstradoalmost 4 years ago
Have nothing but praise for FoundationDB. It has been by far the most rock solid distributed database I have ever had the pleasure of using. I used to manage HBase clusters, and the fact that I have never once had to worry about manually splitting &quot;regions&quot; is such a boon for administration...let alone JVM GC tuning.<p>We run several FDB clusters using 3-DC replication and have never once lost data. I remember when we wanted to replace all of the FDB hardware (one cluster) in AWS, and so we just doubled the cluster size, waited for data shuffling to calm down, and just started axing the original hardware. We did this all while performing over 100K production TPS.<p>One thing that makes the above seamless for all existing connections is that clients automatically update their &quot;cluster file&quot; in the event that new coordinators join or are reassigned. That alone is amazing...as you don&#x27;t have to track down every single client and change &#x2F; re-roll with new connection parameters.<p>Anyway, I talk this database up every chance I get. Keep up the awesome work.<p>- A very happy user.
评论 #27430452 未加载
rubyn00biealmost 4 years ago
Here&#x27;s one of my favorite articles on FoundationDB, where it (FDB) passes Jepsen first try: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20150312112556&#x2F;http:&#x2F;&#x2F;blog.foundationdb.com&#x2F;foundationdb-vs-the-new-jepsen-and-why-you-should-care" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20150312112556&#x2F;http:&#x2F;&#x2F;blog.found...</a><p>&gt; I ran FoundationDB Key-Value Store through every nemesis in Jepsen - including those that found failures in other databases - and FoundationDB passed all of them with flying colors.<p>FoundationDB is one of the coolest pieces of technology I&#x27;ve used in the past decade. The tuple keyspace is incredibly useful, so are the multi-key transactions. I&#x27;ve physically killed the power on an FDB node and FDB cluster; multiple times (heh, home servers)... and <i>every</i> time the cluster or node just comes back.
评论 #27426604 未加载
评论 #27427219 未加载
ryanworlalmost 4 years ago
Two quotes from the paper that I think will motivate people to read it:<p>&quot;Rigorous correctness testing via simulation makes FDB extremely reliable. In the past several years, CloudKit [59] has deployed FDB for more than 0.5M disk years without a single data corruption event. Additionally, we constantly perform data consistency checks by comparing replicas of data records and making sure they are the same. To this date, no inconsistent data replicas have ever been found in our production clusters.&quot;<p>&quot;For example, early versions of FDB depended on Apache Zookeeper for coordination, which was deleted after real-world fault injection found two independent bugs in Zookeeper (circa 2010) and was replaced by a de novo Paxos implementation written in Flow. No production bugs have ever been reported since.&quot;
评论 #27424924 未加载
评论 #27425212 未加载
评论 #27424975 未加载
评论 #27424937 未加载
davgoldinalmost 4 years ago
Only great things to say about FoundationDB. We&#x27;ve been using it for about a year now. Got a tiny, live cluster of 35+ commodity machines (started with 3 a year ago), about 5TB capacity and growing. Been removing and adding servers (on live cluster) without a glitch. We&#x27;ve got another 100TB cluster in testing now. Of all the things, we&#x27;re actually using it as a distributed file system.<p>We&#x27;ve tried Ceph, GlusterFS, HDFS, MinIO and some others, and eventually decided on a custom FDB solution. It&#x27;s a breeze to setup, and seems to eclipse others in performance [0] and reliability - Kyle (aphyr) the author of Jepsen series on distributed systems correctness, said: &quot;haven&#x27;t tested foundation in part because their testing appears to be waaaay more rigorous than mine.&quot; [1]<p>The way we use FDB, if anyone is interested, is we simply split files into small chunks (per FDB data design recommendations), and store all file&#x27;s &amp; folder&#x27;s meta data in FDB such as byte count, create&#x2F;access&#x2F;write times, permissions, and a lot more. Folders are handled by the builtin Directory layer [2].<p>[0] <a href="https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;performance.html" rel="nofollow">https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;performance.html</a><p>[1] <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20150312112552&#x2F;http:&#x2F;&#x2F;blog.foundationdb.com&#x2F;call-me-maybe-foundationdb-vs-jepsen" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20150312112552&#x2F;http:&#x2F;&#x2F;blog.found...</a><p>[2] <a href="https:&#x2F;&#x2F;forums.foundationdb.org&#x2F;t&#x2F;whats-the-purpose-of-the-directory-layer&#x2F;677" rel="nofollow">https:&#x2F;&#x2F;forums.foundationdb.org&#x2F;t&#x2F;whats-the-purpose-of-the-d...</a>
评论 #27432908 未加载
评论 #27432060 未加载
jorangreefalmost 4 years ago
Markus Pilman from Snowflake did an awesome talk on FoundationDB&#x27;s testing at CMU&#x27;s Quarantine Tech Talks (2020), How I Learned to Stop Worrying and Trust the Database:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=OJb8A6h9jQQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=OJb8A6h9jQQ</a>
评论 #27425421 未加载
georgelyonalmost 4 years ago
FDB is an awesome and unique piece of software (I attribute quite a bit of Snowflake&#x27;s success to FDB). I&#x27;ve also had the pleasure of meeting some folks from the original team and they are true engineers. Does anyone know if&#x2F;when Redwood (the new storage engine) has landed &#x2F; will land?
评论 #27427284 未加载
评论 #27426089 未加载
eyelovewealmost 4 years ago
CouchDB 4 is built upon Foundation FWIW
评论 #27427430 未加载
jwralmost 4 years ago
I just implemented a database with changefeeds using FoundationDB (in Clojure), to eventually replace RethinkDB in my system. Very impressed so far.
评论 #27429447 未加载
Meaialmost 4 years ago
Personally I don&#x27;t understand how you can call a database robust if it can&#x27;t scale down nodes after you scaled them up once. What am I supposed to do if I ever deploy to 50 nodes and then it turns out that I only need 5. Shut the business down? Pay to run database servers forever that I don&#x27;t even need anymore? Also the database configuration has a lot of gotchas and is very opaque. You might be waiting for 30sec for your CLI to connect to your <i>localhost</i> cluster of two processes and you have no idea what is happening or why it is taking that long. It just never felt so safe and robust as people claim it to be. I don&#x27;t know, these were just my findings on the brief tests I did with it.<p>Also you better get familiar with a whole bunch of hidden &quot;knobs&quot; that are apparently configurable and very important somewhere and then get printed out into xml logs but of course there is no log viewer so you have to write your own. Maybe this isn&#x27;t a problem for large companies but I&#x27;m providing feedback as a single user here.<p>I also don&#x27;t understand how people can praise the c++ DSL. They should rewrite that into standard c++ coroutines as soon as possible so their entire build and dev environment isn&#x27;t so hard to understand. As a user of open source software I generally like to be able to debug through the projects I use and figure out problems I have. It&#x27;s much harder when a project uses their own custom language. I certainly tried to set it all up correctly but there always seemed to be some problems in regards to Intellisense within the IDE.
评论 #27430657 未加载
jFriedensreichalmost 4 years ago
I am pretty sure that the new cloudant transaction&#x2F;storage engine is also based on foundationDB, which powers a lot of things behind the scenes at ibm. And couchdb 4 with foundationDB storage engine is hopefully not too far out either. Lets see how long this whole transition takes, but i am still hopeful that the mindshare and motivation of apple, snowflake, ibm and apache community will lead to something great.
z77dj3klalmost 4 years ago
This is a really good document:<p><a href="https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;data-modeling.html" rel="nofollow">https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;data-modeling.html</a><p>I have been studying these key-value stores with efficient range iteration lately (such as LevelDB, RocksDB, BigTable, FoundationDB, etc). This is a great reference on how to make such a simple abstraction do a lot of useful things.
twoodfinalmost 4 years ago
Did they ever implement a SQL layer? They seemed like one of the only NoSQL products with the architecture to make it plausible to do so.
评论 #27441284 未加载
评论 #27440303 未加载
AtlasBarfedalmost 4 years ago
They got acquihired by apple, didn&#x27;t they? Was. Fdb ever oss&#x27;d?<p>Is it CP or AP? Comments seem to imply AP
评论 #27426368 未加载
评论 #27427302 未加载
e12ealmost 4 years ago
This seems like a good place to ask - are there any new and exiting FOSS &quot;application&quot; worth checking out? I recall from the initial publication of the source - there was references to a great sql layer? I don&#x27;t know if a FOSS work-a-like ever materialized? Other things I&#x27;d hoped for was a network filesystem&#x2F;blob layer, like maybe s3&#x2F;nfs&#x2F;webdavfs compatible? What are people building on top of foundationdb today?<p>Ed: i suppose various document&#x2F;db applications - like IMAP might be a good fit too?
评论 #27428112 未加载
评论 #27427616 未加载
评论 #27425645 未加载
acjohnson55almost 4 years ago
Am I right that this is like a distributed form of something like LevelDB or RocksDB, which would be the underlying storage engine for a full database product?<p>And&#x2F;or would it be comparable to DynamoDB?
one2three4almost 4 years ago
&gt;&gt; In its newest release, CouchDB [2] (arguably the firstNoSQL system) is being re-built as a layer on top of FoundationDB.<p>That is impressive. Like a framework for implementing noSQL DBs.
评论 #27443987 未加载
dinedalalmost 4 years ago
Does anyone know of the&quot;sqlite connector&quot; mentioned in this post ?<p><a href="https:&#x2F;&#x2F;opensourceconnections.com&#x2F;blog&#x2F;2013&#x2F;05&#x2F;06&#x2F;does-foundationdb-beat-the-cap-conjecture-hackathon-on-friday&#x2F;" rel="nofollow">https:&#x2F;&#x2F;opensourceconnections.com&#x2F;blog&#x2F;2013&#x2F;05&#x2F;06&#x2F;does-found...</a><p>It would be really cool to find it, if it&#x27;s still out there.
jbverschooralmost 4 years ago
It&#x27;s unfortunate that they went silent for years after the Apple acquisition. That period was key for database adoption. I have the feeling everybody kind of settled for pgsql.
评论 #27428181 未加载
评论 #27427481 未加载
strangattractoralmost 4 years ago
With little or no admin and monitoring tools.
polskibusalmost 4 years ago
What is the backup &#x2F; restore story in FoundationDB? How does it compare to postgresql?
评论 #27426549 未加载
gigatexalalmost 4 years ago
Didn&#x27;t couchbase move to FDB for their underlying engine?
jtdevalmost 4 years ago
I’d love to see a good primer on data models and scenarios that are well suited to FDB.
评论 #27425090 未加载
评论 #27425469 未加载