MyRocks

Last updated
MyRocks
Developer(s) Facebook, Inc.
Initial release2015;9 years ago (2015)
Repository github.com/facebook/mysql-5.6
Written in C++
Type Database engine
License GPL 2.0
Website myrocks.io

MyRocks is open-source software developed at Facebook in order to use MySQL features with RocksDB implementations. It is based on Oracle MySQL 5.6.

Contents

Starting from version 10.2.5, MariaDB includes MyRocks as an alpha-stage storage engine. [1] [2] MariaDB 10.3.7 includes MyRocks as a storage engine. [3] MyRocks is also shipped with Percona Server.

The library is maintained by the Facebook Database Engineering Team.

Features

RocksDB is optimized for fast, low-latency storage, and MyRocks is aimed at keeping the storage savings efficient.

MyRock's efficiency focuses on better space efficiency, better write efficiency, and better read efficiency. [4]

Benchmarks

Benchmark tests against 3 different instances – MyRocks (compressed), InnoDB (uncompressed), and InnoDB (compressed, 8 KB page size) – found: [4]

With SSD database storage, this means less space used and a higher endurance of the storage over time.

Support platforms

The officially supported subset of platforms are:

Compiler toolsets we verify our builds with:

Best effort is made to support the following OSs:

See also

Related Research Articles

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

zlib DEFLATE codec library

zlib is a software library used for data compression as well as a data format. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also a crucial component of many software platforms, including Linux, macOS, and iOS. It has also been used in gaming consoles such as the PlayStation 4, PlayStation 3, Wii U, Wii, Xbox One and Xbox 360.

The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

InnoDB is a storage engine for the database management system MySQL and MariaDB. Since the release of MySQL 5.5.5 in 2010, it replaced MyISAM as MySQL's default table type. It provides the standard ACID-compliant transaction features, along with foreign key support. It is included as standard in most binaries distributed by MySQL AB, the exception being some OEM versions.

MyISAM was the default storage engine for the MySQL relational database management system versions prior to 5.5 released in December 2009. It is based on the older ISAM code, but it has many useful extensions.

Falcon is a discontinued transactional storage engine being developed for the MySQL relational database management system. Development was stopped after Oracle purchased MySQL. It was based on the Netfrastructure database engine. Falcon was designed to take advantage of Sun's ZFS file system.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

Aria is a storage engine for the MariaDB and MySQL relational database management systems. Its goal is to make a crash-safe alternative to MyISAM. It is not transactional.

HBase is an open-source non-relational distributed database modeled after Google's Bigtable and written in Java. It is developed as part of Apache Software Foundation's Apache Hadoop project and runs on top of HDFS or Alluxio, providing Bigtable-like capabilities for Hadoop. That is, it provides a fault-tolerant way of storing large quantities of sparse data.

Amazon Relational Database Service is a distributed relational database service by Amazon Web Services (AWS). It is a web service running "in the cloud" designed to simplify the setup, operation, and scaling of a relational database for use in applications. Administration processes like patching the database software, backing up databases and enabling point-in-time recovery are managed automatically. Scaling storage and compute resources can be performed by a single API call to the AWS control plane on-demand. AWS does not offer an SSH connection to the underlying virtual machine as part of the managed service.

This is a comparison between notable database engines for the MySQL database management system (DBMS). A database engine is the underlying software component that a DBMS uses to create, read, update and delete (CRUD) data from a database.

A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model.

Aerospike Database is a real-time, high performance NoSQL database. Designed for applications that cannot experience any downtime and require high read & write throughput. Aerospike is optimized to run on NVMe SSDs capable of efficiently storing large datasets. Aerospike can also be deployed as a fully in-memory cache database. Aerospike offers Key-Value, JSON Document, and Graph data models. Aerospike is open source distributed NoSQL database management system, marketed by the company also named Aerospike.

Aerospike is the company behind the Aerospike open source NoSQL distributed database management system. Citrusleaf, a Mountain View, California based company which rebranded to Aerospike in August 2012, announced the product in 2011. The software is used by developers to deploy real-time big data applications.

Percona Server for MySQL is a distribution of the MySQL relational database management system created by Percona.

Amazon Aurora is a relational database service developed and offered by Amazon Web Services beginning in October 2014. Aurora is available as part of the Amazon Relational Database Service (RDS).

Percona XtraDB is a storage engine for the MariaDB and Percona Server databases, and is intended as a drop-in replacement to InnoDB, which is the default engine in MySQL.

The following outline is provided as an overview of and topical guide to MySQL:

<span class="mw-page-title-main">RocksDB</span> Embedded key-value database

RocksDB is a high performance embedded database for key-value data. It is a fork of Google's LevelDB optimized to exploit multi-core processors (CPUs), and make efficient use of fast storage, such as solid-state drives (SSD), for input/output (I/O) bound workloads. It is based on a log-structured merge-tree data structure. It is written in C++ and provides official language bindings for C++, C, and Java. Many third-party language bindings exist. RocksDB is free and open-source software, released originally under a BSD 3-clause license. However, in July 2017 the project was migrated to a dual license of both Apache 2.0 and GPLv2 license. This change helped its adoption in Apache Software Foundation's projects after blacklist of the previous BSD+Patents license clause.

References

  1. "Thoughts on MariaDB Server 10.3 from MariaDB Developers Meeting in Amsterdam, part 1 - MariaDB.org". MariaDB.org. 2016-10-10. Retrieved 2017-01-06.
  2. "MyRocks alpha storage engine added - MariaDB 10.2.5 Release Notes". MariaDB.org. 2017-04-05. Retrieved 2017-08-31.
  3. "MariaDB 10.3.4 Release Notes". MariaDB.com. 2018-01-18. Retrieved 2018-01-19.
  4. 1 2 "MyRocks: A space- and write-optimized MySQL database". Facebook Code. 2016-08-31. Retrieved 2017-01-06.