apple/foundationdb

FoundationDB - the open source, distributed, transactional key-value store

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 36 minutes ago
Added to GitGenius on April 8th, 2021
Created on December 14th, 2017
Open Issues & Pull Requests: 774 (+0)
Number of forks: 1,550
Total Stargazers: 16,638 (+1)
Total Subscribers: 295 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.8 days
Mean response time: 496.0 days
90th percentile: 1592.0 days
Tracked items: 332

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 84% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 22% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 697
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,979 days
Stale 30+ days: 689
Stale 90+ days: 677

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 2
Events in 7 days: 5

Top labels

  • nightly correctness bugs (155)
  • bug (63)
  • documentation (46)
  • operations (44)
  • build cop (40)
  • data distribution (40)
  • performance (31)
  • good first issue (29)

Detailed Description

FoundationDB is an open source distributed database developed by Apple that functions as a transactional key-value store designed to manage large volumes of structured data across clusters of commodity servers. Written primarily in C++, it organizes data as an ordered key-value store and applies ACID transactions to all operations, making it particularly well-suited for read/write workloads while also delivering strong performance for write-intensive scenarios. Users interact with the database through API language bindings, with the project supporting multiple programming languages through a comprehensive binding system.

The most frequently labeled issues fall into categories of good first issue, operations, and bug reports, indicating an organized approach to issue triage and community contribution.

FoundationDB's release strategy reflects a mature production database with multiple supported branches. Version 7.3.69 represents the current supported production release, while version 7.1.57 receives bug fixes and version 6.3.25 is marked unsupported. The project provides clear upgrade paths for users running older releases, with tested migration sequences such as 6.2.X to 6.3.25 to 7.1.57 to 7.3.69. Binary packages are available for multiple operating systems, and the project supports compilation from source on Linux, macOS, FreeBSD, and Windows platforms.

The build infrastructure relies on CMake version 3.24.2 or higher, Mono, and Ninja, with the project recommending the official foundationdb/build Docker image as the primary compilation method due to extensive dependencies. Local compilation requires at least 8GB of memory, with additional memory needed for parallel builds. The codebase uses the flow language, an extension of C++ that provides coroutine support and transpiles to standard C++ through the actorcompiler tool. This design choice predates C++20 standardization and requires special IDE configuration considerations.

Development practices include automated code quality enforcement through clang-format and clang-tidy running on every pull request, with developers encouraged to run these tools locally before submission. The project provides compilation database support through CMAKE_EXPORT_COMPILE_COMMANDS for integration with development tools like CCLS and CQuery, enabling code completion and navigation capabilities.

Documentation is maintained within the repository and published at apple.github.io/foundationdb, covering API usage, design philosophy, and practical examples. Community discussion occurs on dedicated forums at forums.foundationdb.org, with the project maintaining a Code of Conduct to establish community standards. The project welcomes contributions to the codebase, community forums, and dependent projects built on FoundationDB.