ad08fbad5b
Backport consistencycheck fixes from release-6.0 |
||
---|---|---|
FDBLibTLS | ||
bindings | ||
build | ||
design | ||
documentation | ||
fdbbackup | ||
fdbcli | ||
fdbclient | ||
fdbmonitor | ||
fdbrpc | ||
fdbserver | ||
fdbservice | ||
flow | ||
layers | ||
packaging | ||
recipes | ||
tests | ||
.gitignore | ||
ACKNOWLEDGEMENTS | ||
LICENSE | ||
Makefile | ||
README.md | ||
foundationdb.sln | ||
versions.target |
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
- Check out this repo on your Mac.
- Install the Xcode command-line tools.
- Download version 1.52 of Boost.
- Set the BOOSTDIR environment variable to the location containing this boost installation.
- Install Mono.
- Install a JDK. FoundationDB currently builds with Java 8.
- Navigate to the directory where you checked out the foundationdb repo.
- Run
make
.
Linux
- Install [Docker] (https://www.docker.com/).
- Build Linux docker image using the file
Dockerfile
located in thebuild
source directory. - Check out the foundationdb repo.
- 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
- Navigate to the mounted directory containing the foundationdb repo.
cd /docker/dir/path/foundationdb
- 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.