Go to file
Evan Tschannen ad08fbad5b
Merge pull request #580 from alexmiller-apple/consistencycheck-5.2
Backport consistencycheck fixes from release-6.0
2018-07-09 16:42:33 -07:00
FDBLibTLS Add UID and DC as additional subject fields for TLS peer validation 2018-06-19 13:42:18 -07:00
bindings Change tree node state to have references to parent nodes and update merge logic accordinly. 2018-06-27 14:12:51 -07:00
build Changed the name of the TLS artifact to fdb-libressl-plugin.so 2018-05-07 16:47:46 -07:00
design tuple and versionstamp documentation updates 2017-10-24 17:53:16 -07:00
documentation switch module name of ruby domain to sphinxcontrib.rubydomain 2018-06-30 13:26:12 -07:00
fdbbackup remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
fdbcli Identify processes with host:port regardless of if TLS is enabled or not. 2018-06-11 16:49:20 -07:00
fdbclient Change default delete operations per second. Updated release notes. 2018-06-21 11:13:31 -07:00
fdbmonitor fix fdbmonitor help message output ; fix spelling error Ratekeeper.actor.cpp 2018-05-07 16:19:50 -07:00
fdbrpc fix: destroy peers that are inactive 2018-07-09 13:37:06 -07:00
fdbserver Merge pull request #580 from alexmiller-apple/consistencycheck-5.2 2018-07-09 16:42:33 -07:00
fdbservice Fix typo: orginal > original 2018-04-20 09:27:19 -07:00
flow Bug fixes in memory activity logging. 2018-07-06 19:02:42 -07:00
layers remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
packaging Post release steps for 5.2.5 2018-06-21 16:51:54 -07:00
recipes bump API version to 520 2018-03-02 10:30:41 -08:00
tests Add read bytes and read keys info to status. Collect this information directly from StorageMetrics rather than through ratekeeper. 2018-05-04 12:01:40 -07:00
.gitignore Merge pull request #125 from brownleej/go-doc-build-removal 2018-04-13 08:55:35 -07:00
ACKNOWLEDGEMENTS Initial repository commit 2017-05-25 13:48:44 -07:00
LICENSE Initial repository commit 2017-05-25 13:48:44 -07:00
Makefile Merge pull request #151 from alexmiller-apple/tlsplugin51 2018-04-13 16:51:07 -07:00
README.md Updated Linux build instructions 2018-04-18 08:30:41 -07:00
foundationdb.sln removed references to nodejs bindings 2018-04-06 17:17:45 -07:00
versions.target Post release steps for 5.2.5 2018-06-21 16:51:54 -07:00

README.md

FoundationDB

FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers. It organizes data as an ordered key-value store and employs ACID transactions for all operations. It is especially well-suited for read/write workloads but also has excellent performance for write-intensive workloads. Users interact with the database using API language binding.

Building Locally

macOS

  1. Check out this repo on your Mac.
  2. Install the Xcode command-line tools.
  3. Download version 1.52 of Boost.
  4. Set the BOOSTDIR environment variable to the location containing this boost installation.
  5. Install Mono.
  6. Install a JDK. FoundationDB currently builds with Java 8.
  7. Navigate to the directory where you checked out the foundationdb repo.
  8. Run make.

Linux

  1. Install [Docker] (https://www.docker.com/).
  2. Build Linux docker image using the file Dockerfile located in the build source directory.
  3. Check out the foundationdb repo.
  4. Run the docker image interactively [Docker Run] (https://docs.docker.com/engine/reference/run/#general-form) with the directory containing the foundationdb repo mounted [Docker Mounts] (https://docs.docker.com/storage/volumes/). docker run -it -v '/local/dir/path/foundationdb:/docker/dir/path/foundationdb' /bin/bash
  5. Navigate to the mounted directory containing the foundationdb repo. cd /docker/dir/path/foundationdb
  6. Run make.

This will build the fdbserver binary and the python bindings. If you want to build our other bindings, you will need to install a runtime for the language whose binding you want to build. Each binding has an .mk file which provides specific targets for that binding.