Questions tagged [foundationdb]

FoundationDB is a new-generation database built to support a diverse set of applications and data models while delivering exceptional performance, data consistency, and operational resilience.

FoundationDB is a new-generation database built to support a diverse set of applications and data models while delivering exceptional performance, data consistency, and operational resilience.

FoundationDB's core is a simple key-value API with useful properties and strong guarantees. Features in the core are deliberately kept to a minimum. We choose to expose additional data models and features via "layers".

Scalable

FoundationDB adapts to efficiently support applications with diverse performance requirements. By using a shared-nothing distributed architecture, FoundationDB scales out by adding more machines to a cluster rather than just scaling up by increasing the capacity of a single machine. Best of all, the hard work of managing data redundancy, partitioning, caching, etc., is all handled automatically.

Read more about our scalability→

ACID transactions

All reads and writes in FoundationDB are accomplished using transactions. These transactions are fully ACID (Atomic, Consistent, Isolated, and Durable) and span multiple machines with high performance. FoundationDB's isolation is the highest available—transactions appear to occur sequentially. FoundationDB's durability is the strongest—all transactions are redundantly stored to disk before they are considered committed.

Fault tolerance

A system designed to be distributed across many machines must be highly fault tolerant because the likelihood of hardware and network failures increases with the number of machines involved. FoundationDB has been designed and relentlessly tested to provide exceptionally high levels of fault tolerance. We've gone much further than designing for "no single point of failure". FoundationDB has also been designed and tested to guarantee that all ACID properties are preserved, even under catastrophic failures.

Read more about our fault tolerance→

Replicated storage

FoundationDB stores each piece of data on multiple servers. If a server containing one of the copies is lost, FoundationDB will automatically heal, finding a new location for the lost copy. For read operations, clients communicate directly to the servers with the replicas, requesting a specific version to ensure a consistent view of the data.

Ordered key-value API

Simple can be powerful. FoundationDB uses an ordered key-value store data model. Each "row" within the database consists of a key that is used to reference the row and a value which stores data associated with the key. No specific format for the keys or values is required; they are simply binary data. Because keys are kept in lexicographical (sorted) order, ranges of key-value pairs can be read efficiently.

OLTP and OLAP

FoundationDB is optimized for online transaction processing (OLTP) workloads consisting of many small reads and writes. However, because it is an ordered key-value store, FoundationDB can use range reads to efficiently scan large swaths of data. Thus, FoundationDB can be effectively used for online analytical processing (OLAP) workloads as well.

Visit http://www.foundationdb.com/ for more details.

38 questions
1
vote
0 answers

Unable to delete an Fdb record entry

Refer to below code: When I try to remove a record that has been saved as tuple.Tuple{"key1", "key2"), The function executes without error but the record is not removed from the database. Foundationdb.Transact(func(tr fdb.Transaction){ …
M Aqib Naeem
  • 139
  • 1
  • 8
1
vote
1 answer

How to use fdb-document-layer with kubernetes?

I have a fdb cluster using https://github.com/FoundationDB/fdb-kubernetes-operator and now trying to raise a pod with https://github.com/FoundationDB/fdb-document-layer The result is CrashLoopBackOff of the pod The description of the pod: Name: …
1
vote
2 answers

FoundationDb: What is meaning of FDBException: Transaction is too old to perform reads or be committed

I am trying to execute a getRange command in fdbCli but it fails with FDBException: Transaction is too old to perform reads or be committed What is the meaning of this particular exception? Does it mean by query took more than 5 sec to complete?
Nischal Kumar
  • 492
  • 7
  • 15
1
vote
1 answer

FoundationDB RAM requirements

According to the website FoundationDB requires 4GB https://apple.github.io/foundationdb/configuration.html#system-requirements Can someone explain why it needs so much and what would happen if I only have 1 GB with SSD mode? Also wouldn't the…
lfmunoz
  • 822
  • 1
  • 9
  • 16
1
vote
2 answers

getKey in FoundationDB returns unexpected result

I trying to find a key in some Subspace at FoundationDB with getKey and KeySelector. In case if result exists in Subspace it works pretty well. val key = new Tuple().add(3) val subspace = new Subspace(new…
1
vote
2 answers

FoundationDB authentication

FoundationDB cluster can be configured to use SSL/TLS but is it possible to connect to a cluster without knowing cluster's fdb.cluster file? In other words, is fdb.cluster file equivalent to username/password security scheme in other database…
Jakub Fedyczak
  • 2,174
  • 1
  • 13
  • 15
1
vote
2 answers

How to implement deterministic single threaded network simulation

I read about how FoundationDB does its network testing/simulation here: http://www.slideshare.net/FoundationDB/deterministic-simulation-testing I would like to implement something very similar, but cannot figure out how they actually did implement…
kitomer
  • 33
  • 1
  • 7
1
vote
1 answer

NoSQL. How much data lost on server crash?

If my server was powered off, assuming all writes to disk succeeded, how many "confirmed" writes would I lose? Redis: the lesser of 10k writes or 15 mins. See config MongoDB: < 100ms (~30ms in practice) with default journaling enabled RethinkDB:…
Michael Cole
  • 15,473
  • 7
  • 79
  • 96
1
vote
1 answer

Using FoundationDB in a WebApi 2 project

I'm currently experimentig with FoundationDB in a .Net WebApi 2 project. The WebApi controller performs a simple getrange against the foundationdb cluster, and everything works fine ... if I run the project just once. The second time I run it, I get…
Save
  • 11,450
  • 1
  • 18
  • 23
1
vote
2 answers

FoundationDB, the layer: Is it hosted on client application or server nodes?

Recently I was reading about concept of layers in FoundationDB. I like their idea, the decomposition of storage from one side and access to it from other. There are some unclear points regarding implementation of the layers. Especially how they…
neleus
  • 2,230
  • 21
  • 36
0
votes
1 answer

Installing foundationdb k8s operator with helm is failing

I am trying to install fdb k8s operator with helm chart. But when i try to add the repo, getting below error. helm repo add fdb-kubernetes-operator https://foundationdb.github.io/fdb-kubernetes-operator/ Error: looks like…
TechHunter
  • 73
  • 7
0
votes
1 answer

Safely delete foundationdb directory

I want to delete a foundationDB directory and all it's contents. However, DirectoryLayer::remove states: Warning: Clients that have already opened the directory might still insert data into its contents after it is removed. Is there a way for me…
user1413793
  • 9,057
  • 7
  • 30
  • 42
0
votes
1 answer

FDB Client failing to start on macOS Catalina (v10.15.6)

while trying to do a setup of local installation of janusgraph-fdb on my local MacBook. But after the setup as I started gremlin-server.sh, I am getting this issue. steps I followed: Installed FoundationDB.pkg (v6.2.20) on macOS Catalina (v10.15.6)…
0
votes
2 answers

Foundation db Python client bidding version

I'm getting the following exception when I use python binding. I thought client binding apis are backward compatible. If not how/where can I get the python library corresponding to the version 610 fdb.api_version(610) File…
Haneef Ali
  • 15
  • 5
0
votes
1 answer

How to do fuzzy string matching of bigger than memory dictionary in an ordered key-value store?

I am looking for an algorithm and storage schema to do string matching over a bigger than memory dictionary. My initial attempt, inspired from https://swtch.com/~rsc/regexp/regexp4.html, was to store trigams of every word of the dictionary for…
amirouche
  • 7,682
  • 6
  • 40
  • 94