Go to file
Alvin Moore bc1098d889 Changed python binding classifier to that on approved list: https://pypi.org/pypi?%3Aaction=list_classifiers 2018-07-13 07:58:08 -07:00
FDBLibTLS Changed the name of the TLS artifact to fdb-libressl-plugin.so 2018-05-07 16:47:46 -07:00
bindings Changed python binding classifier to that on approved list: https://pypi.org/pypi?%3Aaction=list_classifiers 2018-07-13 07:58:08 -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 Merge pull request #403 from richardalow/fix-docs-build 2018-06-11 16:54:23 -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 fix: transactions created in fdbcli did not wait on the result of committing 2018-04-11 11:24:24 -07:00
fdbclient Compile on macOS 10.13.4: Use ASSERT_ABORT in destructors. Import fstream 2018-05-15 12:55:02 -07:00
fdbmonitor fix fdbmonitor help message output ; fix spelling error Ratekeeper.actor.cpp 2018-05-07 16:19:50 -07:00
fdbrpc Compile on macOS 10.13.4: Use ASSERT_ABORT in destructors. Import fstream 2018-05-15 12:55:02 -07:00
fdbserver Fix case of newSeverity detail in StderrSeverity trace event 2018-06-08 10:24:12 -07:00
fdbservice Fix typo: orginal > original 2018-04-20 09:27:19 -07:00
flow Use ASSERT_ABORT in destructor 2018-05-15 12:55:22 -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 Removed extraneous element from Windows installer 2018-04-24 14:37:35 -07:00
recipes remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
tests Add missing available_bytes fields to test status schemas 2018-03-09 14:17:20 -08: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 updated versions.target for 5.1.8 2018-04-18 20:40:36 -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.