FoundationDB vs MySQL

Get Advice Icon

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

FoundationDB
FoundationDB

9
19
+ 1
12
MySQL
MySQL

23.9K
18.5K
+ 1
3.7K
Add tool

FoundationDB vs MySQL: What are the differences?

What is FoundationDB? Multi-model database with particularly strong fault tolerance, performance, and operational ease. 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 MySQL? The world's most popular open source database. The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.

FoundationDB and MySQL can be primarily classified as "Databases" tools.

"ACID transactions" is the top reason why over 2 developers like FoundationDB, while over 777 developers mention "Sql" as the leading cause for choosing MySQL.

MySQL is an open source tool with 3.91K GitHub stars and 1.54K GitHub forks. Here's a link to MySQL's open source repository on GitHub.

- 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 MySQL?

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
Get Advice Icon

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

Why do developers choose FoundationDB?
Why do developers choose MySQL?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use FoundationDB?
    What companies use MySQL?

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

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

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

      What are some alternatives to FoundationDB and MySQL?
      CockroachDB
      Cockroach Labs is the company building CockroachDB, an open source, survivable, strongly consistent, scale-out SQL database.
      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.
      Redis
      Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
      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.
      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
      Decisions about FoundationDB and MySQL
      StackShare Editors
      StackShare Editors
      MySQL
      MySQL
      Vitess
      Vitess

      They're critical to the business data and operated by an ecosystem of tools. But once the tools have been used, it was important to verify that the data remains as expected at all times. Even with the best efforts to prevent errors, inconsistencies are bound to creep at any stage. In order to test the code in a comprehensive manner, Slack developed a structure known as a consistency check framework.

      This is a responsive and personalized framework that can meaningfully analyze and report on your data with a number of proactive and reactive benefits. This framework is important because it can help with repair and recovery from an outage or bug, it can help ensure effective data migration through scripts that test the code post-migration, and find bugs throughout the database. This framework helped prevent duplication and identifies the canonical code in each case, running as reusable code.

      The framework was created by creating generic versions of the scanning and reporting code and an interface for the checking code. The checks could be run from the command line and either a single team could be scanned or the whole system. The process was improved over time to further customize the checks and make them more specific. In order to make this framework accessible to everyone, a GUI was added and connected to the internal administrative system. The framework was also modified to include code that can fix certain problems, while others are left for manual intervention. For Slack, such a tool proved extremely beneficial in ensuring data integrity both internally and externally.

      See more
      Kir Shatrov
      Kir Shatrov
      Production Engineer at Shopify · | 12 upvotes · 78.4K views
      atShopifyShopify
      Rails
      Rails
      MySQL
      MySQL
      Memcached
      Memcached
      Redis
      Redis

      As is common in the Rails stack, since the very beginning, we've stayed with MySQL as a relational database, Memcached for key/value storage and Redis for queues and background jobs.

      In 2014, we could no longer store all our data in a single MySQL instance - even by buying better hardware. We decided to use sharding and split all of Shopify into dozens of database partitions.

      Sharding played nicely for us because Shopify merchants are isolated from each other and we were able to put a subset of merchants on a single shard. It would have been harder if our business assumed shared data between customers.

      The sharding project bought us some time regarding database capacity, but as we soon found out, there was a huge single point of failure in our infrastructure. All those shards were still using a single Redis. At one point, the outage of that Redis took down all of Shopify, causing a major disruption we later called “Redismageddon”. This taught us an important lesson to avoid any resources that are shared across all of Shopify.

      Over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

      See more
      Kir Shatrov
      Kir Shatrov
      Production Engineer at Shopify · | 13 upvotes · 146.4K views
      atShopifyShopify
      Docker
      Docker
      Kubernetes
      Kubernetes
      Google Kubernetes Engine
      Google Kubernetes Engine
      MySQL
      MySQL
      Redis
      Redis
      Memcached
      Memcached

      At Shopify, over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, Memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

      As we grew into hundreds of shards and pods, it became clear that we needed a solution to orchestrate those deployments. Today, we use Docker, Kubernetes, and Google Kubernetes Engine to make it easy to bootstrap resources for new Shopify Pods.

      See more
      Jake Stein
      Jake Stein
      CEO at Stitch · | 15 upvotes · 61.9K views
      atStitchStitch
      Clojure
      Clojure
      MySQL
      MySQL
      PostgreSQL
      PostgreSQL

      The majority of our Clojure microservices are simple web services that wrap a transactional database with CRUD operations and a little bit of business logic. We use both MySQL and PostgreSQL for transactional data persistence, having transitioned from the former to the latter for newer services to take advantage of the new features coming out of the Postgres community.

      Most of our Clojure best practices can be summed up by the phrase "keep it simple." We avoid more complex web frameworks in favor of using the Ring library to build web service routes, and we prefer sending SQL directly to the JDBC library rather than using a complicated ORM or SQL DSL.

      See more
      Gregory Koberger
      Gregory Koberger
      MongoDB
      MongoDB
      MySQL
      MySQL
      PostgreSQL
      PostgreSQL
      MongoDB Atlas
      MongoDB Atlas