Need advice about which tool to choose?Ask the StackShare community!

FoundationDB

33
79
+ 1
21
RocksDB

136
291
+ 1
11
Add tool

FoundationDB vs RocksDB: What are the differences?

Key differences between FoundationDB and RocksDB

1. Scalability: FoundationDB is designed to scale horizontally, allowing it to handle increasing workloads by adding more nodes to the system. On the other hand, RocksDB is a single-node database system and lacks built-in mechanisms for distributing data and workload across multiple nodes.

2. Consistency models: FoundationDB provides strong ACID (Atomicity, Consistency, Isolation, Durability) guarantees and supports multi-record distributed transactions. RocksDB, on the other hand, is optimized for high-performance and does not provide built-in distributed transaction support or strong consistency guarantees.

3. Storage engine: FoundationDB uses a log-structured merge tree (LSM) storage engine, which is optimized for high write throughput and efficient storage of large datasets. RocksDB, on the other hand, uses a similar LSM tree architecture but with additional optimizations for solid-state drives (SSDs) and in-memory storage.

4. Support for programming languages: FoundationDB provides client APIs for a wide range of programming languages, including Java, Python, Ruby, and C++. RocksDB, on the other hand, primarily focuses on providing a C++ interface, although bindings for other languages are available.

5. Fault tolerance and availability: FoundationDB is designed to be highly fault-tolerant and provides built-in mechanisms for automatic data replication and failure recovery. It can tolerate node failures and network partitions without sacrificing data consistency. RocksDB, on the other hand, lacks built-in replication and recovery mechanisms, and relies on external systems for achieving fault tolerance and high availability.

6. Community and ecosystem: FoundationDB has a vibrant and active community with a growing ecosystem of tools, libraries, and frameworks built around it. It is backed by a major tech company and benefits from ongoing development and support. RocksDB, on the other hand, has a smaller but still dedicated community and a more limited ecosystem of third-party tools and libraries.

In summary, FoundationDB and RocksDB differ in terms of scalability, consistency models, storage engines, language support, fault tolerance and availability, and community and ecosystem.

Advice on FoundationDB and RocksDB
Needs advice
on
HBaseHBaseMilvusMilvus
and
RocksDBRocksDB

I am researching different querying solutions to handle ~1 trillion records of data (in the realm of a petabyte). The data is mostly textual. I have identified a few options: Milvus, HBase, RocksDB, and Elasticsearch. I was wondering if there is a good way to compare the performance of these options (or if anyone has already done something like this). I want to be able to compare the speed of ingesting and querying textual data from these tools. Does anyone have information on this or know where I can find some? Thanks in advance!

See more
Replies (1)
Emily Kurze
Recommends

You've probably come to a decision already but for those reading...here are some resources we put together to help people learn more about Milvus and other databases https://zilliz.com/comparison and https://github.com/zilliztech/VectorDBBench. I don't think they include RocksDB or HBase yet (you could could recommend on GitHub) but hopefully they help answer your Elastic Search questions.

See more
Decisions about FoundationDB and RocksDB
Karan Kaushik
Senior Software Developer at Shyplite · | 5 upvotes · 36.9K views

So, we started using foundationDB for an OLAP system although the inbuilt tools for some core things like aggregation and filtering were negligible, with the high through put of the DB, we were able to handle it on the application. The system has been running pretty well for the past 6 months, although the data load isn’t very high yet, the performance is fairly promising

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of FoundationDB
Pros of RocksDB
  • 6
    ACID transactions
  • 5
    Linear scalability
  • 3
    Multi-model database
  • 3
    Key-Value Store
  • 3
    Great Foundation
  • 1
    SQL Layer
  • 5
    Very fast
  • 3
    Made by Facebook
  • 2
    Consistent performance
  • 1
    Ability to add logic to the database layer where needed

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is FoundationDB?

FoundationDB is a NoSQL database with a shared nothing architecture. Designed around a "core" ordered key-value database, additional features and data models are supplied in layers. The key-value database, as well as all layers, supports full, cross-key and cross-server ACID transactions.

What is RocksDB?

RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

Need advice about which tool to choose?Ask the StackShare community!

What companies use FoundationDB?
What companies use RocksDB?
See which teams inside your own company are using FoundationDB or RocksDB.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with FoundationDB?
What tools integrate with RocksDB?
    No integrations found

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Jan 26 2022 at 4:34AM

    Pinterest

    Amazon EC2RocksDBOpenTSDB+3
    3
    720
    GitHubPythonReact+42
    49
    40723
    What are some alternatives to FoundationDB and RocksDB?
    CockroachDB
    CockroachDB is distributed SQL database that can be deployed in serverless, dedicated, or on-prem. Elastic scale, multi-active availability for resilience, and low latency performance.
    MongoDB
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    Cassandra
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    Redis
    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
    Couchbase
    Developed as an alternative to traditionally inflexible SQL databases, the Couchbase NoSQL database is built on an open source foundation and architected to help developers solve real-world problems and meet high scalability demands.
    See all alternatives