FoundationDB
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/09/06 01:33 UTC 版)
| 開発元 | Apple |
|---|---|
| 初版 | 2013年3月4日 |
| リポジトリ | https://github.com/apple/foundationdb |
| プログラミング 言語 |
C++(拡張言語Flow) |
| 対応OS | Linux、macOS、Microsoft Windows |
| 種別 | NoSQL(キーバリューストア) |
| ライセンス | Apache License 2.0 |
| 公式サイト | https://www.foundationdb.org/ |
FoundationDB(ファウンデーションDB)は、Appleが開発するオープンソースの分散データベース管理システムである[1]。順序付きのキーバリューストアを中核とし、クラスタ内の複数のマシンにまたがるキーの読み書きをACID特性を満たすトランザクションとして実行できる[2]。Apache License 2.0の下で公開されている[1]。
沿革
FoundationDBの開発は2009年に始まった[2]。開発元の同名の企業は、Nick Lavezzo、David Scherer、David Rosenthalの3人が、前身の企業Visual Sciencesでの経験をもとに設立したもので、約3年半の開発期間を経て2013年3月4日に製品を公開した[3]。
2015年3月24日、Appleが同社を買収したことが報じられた[4]。買収に伴い、同社のサイトにはソフトウェアのダウンロード提供を終了する旨の告知が掲示された[4]。
2018年4月19日、AppleはFoundationDBをApache License 2.0の下でオープンソース化し、コミュニティ主導のプロジェクトとして開発を続ける方針を表明した[5][1]。あわせて、FoundationDBの上に構造化データを格納するライブラリであるRecord Layer(後述)もオープンソースとして提供されている[6]。
2021年には、AppleとSnowflakeの技術者らがFoundationDBの設計を解説する論文を国際会議SIGMOD 2021で発表した[2]。
技術的特徴
順序付きキーバリューストアとトランザクション
FoundationDBの中核は、キーが辞書順に並ぶ順序付きのキーバリューストアであり、MultiVersion Concurrency Controlと楽観的並行性制御を組み合わせたトランザクション機構により、厳密な直列化可能性(strict serializability)を保証する[2]。トランザクションは複数のマシンに格納された複数のキーにまたがることができる[5]。
レイヤー
FoundationDBは、意図的に機能を絞った中核部の上に「レイヤー」と呼ばれる拡張を重ねる設計を採る。レイヤーは中核のキーバリューストアを利用して、特定のデータモデルやアクセスパターンに応じた機能を追加するもので、同一クラスタ上で複数のレイヤーを動かすこともできる[5]。
代表的なレイヤーであるRecord Layerは、FoundationDBの上に関係データベースに似た意味論を持つレコード指向のデータストアを提供するオープンソースのライブラリで、スキーマ管理・クエリ・インデックスの機能を備え、大規模なマルチテナント環境を想定して設計されている[6]。
決定論的シミュレーションテスト
FoundationDBの開発では、データベース本体の実装に先立って、相互作用するプロセス群のネットワークと多様な障害を再現できる決定論的なシミュレーションフレームワークが構築され、新機能はこのシミュレーション上で多数の障害シナリオにさらしてテストされる[2]。このテスト手法は、FoundationDBを採用する側からも信頼性の根拠として言及されている[7]。
採用例
SIGMOD 2021の論文では、FoundationDBはAppleやSnowflakeなどのクラウドインフラストラクチャの基盤になっているとされる[2]。
脚注
- 1 2 3 “apple/foundationdb: FoundationDB - the open source, distributed, transactional key-value store” (英語). GitHub. 2026年8月22日閲覧。
- 1 2 3 4 5 6 Zhou, Jingyu; Xu, Meng; Shraer, Alexander; et al. (2021). “FoundationDB: A Distributed Unbundled Transactional Key Value Store” (PDF). Proceedings of the 2021 International Conference on Management of Data (SIGMOD '21) (英語). doi:10.1145/3448016.3457559. 2026年8月22日閲覧.
- ↑ Farr, Christina (2013年3月4日). “SQL or NoSQL: FoundationDB launches a 'best of both worlds' database” (英語). VentureBeat. 2021年10月16日時点のオリジナルよりアーカイブ。2026年8月22日閲覧。
- 1 2 Panzarino, Matthew (2015年3月24日). “Apple Acquires Durable Database Company FoundationDB” (英語). TechCrunch. 2026年8月22日閲覧。
- 1 2 3 “FoundationDB is Open Source” (英語). FoundationDB (2018年4月19日). 2026年8月22日閲覧。
- 1 2 3 “FoundationDB Record Layer: A Multi-Tenant Structured Datastore” (英語). arXiv (2019年1月14日). 2026年8月22日閲覧。
- 1 2 “Introducing Husky, Datadog's Third-Generation Event Store” (英語). Datadog (2022年5月17日). 2026年8月22日閲覧。
- ↑ Motivala, Ashish (2018年4月19日). “How FoundationDB Powers Snowflake Metadata Forward” (英語). Snowflake. 2026年8月22日閲覧。
外部リンク
- FoundationDBのページへのリンク