MySQL Cluster

MySQL Cluster
Developer(s)Oracle
Initial releaseNovember 2004
Stable release
8.4.3 / October 16, 2024; 2 months ago (2024-10-16) [1]
Operating systemCross-platform[which?]
Available inEnglish
TypeRDBMS
LicenseGNU General Public License (version 2, with linking exception) or commercial EULA
Website[2]

MySQL Cluster , also known as MySQL Ndb Cluster is a technology providing shared-nothing clustering and auto-sharding for the MySQL database management system. It is designed to provide high availability and high throughput with low latency, while allowing for near linear scalability.[3] MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL ("NDB" stands for Network Database).

Architecture

MySQL Cluster is designed around a distributed, multi-master ACID compliant architecture with no single point of failure. MySQL Cluster uses automatic sharding (partitioning) to scale out read and write operations on commodity hardware and can be accessed via SQL and Non-SQL (NoSQL) APIs.

Replication

Internally MySQL Cluster uses synchronous replication through a two-phase commit mechanism in order to guarantee that data is written to multiple nodes upon committing the data. Two copies (known as replicas) of the data are required to guarantee availability. MySQL Cluster automatically creates “node groups” from the number of replicas and data nodes specified by the user. Updates are synchronously replicated between members of the node group to protect against data loss and support fast failover between nodes. Cluster replication differs from "MySQL Replication", which is instead asynchronous.

It is also possible to replicate asynchronously between clusters; this is sometimes referred to as "MySQL Cluster Replication" or "geographical replication". This is typically used to replicate clusters between data centers for IT disaster recovery or to reduce the effects of network latency by locating data physically closer to a set of users. Unlike standard MySQL replication, MySQL Cluster's geographic replication uses optimistic concurrency control and the concept of Epochs to provide a mechanism for conflict detection and resolution,[4] enabling active/active clustering between data centers.

Starting with MySQL Cluster 7.2, support for synchronous replication between data centers was supported with the Multi-Site Clustering feature.[5]

Horizontal data partitioning (auto-sharding)

MySQL Cluster is implemented as a fully distributed multi-master database ensuring updates made by any application or SQL node are instantly available to all of the other nodes accessing the cluster, and each data node can accept write operations.

Data within MySQL Cluster (NDB) tables is automatically partitioned across all of the data nodes in the system. This is done based on a hashing algorithm based on the primary key on the table, and is transparent to the end application. Clients can connect to any node in the cluster and have queries automatically access the correct shards needed to satisfy a query or commit a transaction. MySQL Cluster is able to support cross-shard queries and transactions.

Users can define their own partitioning schemes. This allows developers to add “distribution awareness” to applications by partitioning based on a sub-key that is common to all rows being accessed by high running transactions. This ensures that data used to complete transactions is localized on the same shard, thereby reducing network hops.

Hybrid storage

MySQL Cluster allows datasets larger than the capacity of a single machine to be stored and accessed across multiple machines.

MySQL Cluster maintains all indexed columns in distributed memory. Non-indexed columns can also be maintained in distributed memory or can be maintained on disk with an in-memory page cache. Storing non-indexed columns on disk allows MySQL Cluster to store datasets larger than the aggregate memory of the clustered machines.

MySQL Cluster writes Redo logs to disk for all data changes as well as check pointing data to disk regularly. This allows the cluster to consistently recover from disk after a full cluster outage. As the Redo logs are written asynchronously with respect to transaction commit, some small number of transactions can be lost if the full cluster fails, however this can be mitigated by using geographic replication or multi-site cluster discussed above. The current default asynchronous write delay is 2 seconds, and is configurable. Normal single point of failure scenarios do not result in any data loss due to the synchronous data replication within the cluster.

When a MySQL Cluster table is maintained in memory, the cluster will only access disk storage to write Redo records and checkpoints. As these writes are sequential and limited random access patterns are involved, MySQL Cluster can achieve higher write throughput rates with limited disk hardware compared to a traditional disk-based caching RDBMS. This checkpointing to disk of in-memory table data can be disabled (on a per-table basis) if disk-based persistence isn't needed.

Shared nothing

MySQL Cluster is designed to have no single point of failure. Provided that the cluster is set up correctly, any single node, system, or piece of hardware can fail without the entire cluster failing. Shared disk (SAN) is not required. The interconnects between nodes can be standard Ethernet, Gigabit Ethernet, InfiniBand, or SCI interconnects.

SQL and NoSQL APIs

As MySQL Cluster stores tables in data nodes, rather than in the MySQL Server, there are multiple interfaces available to access the database:

MySQL Cluster Manager

Part of the commercial MySQL Cluster CGE, MySQL Cluster Manager is a tool designed to simplify the creation and administration of the MySQL Cluster CGE database by automating common management tasks, including on-line scaling, upgrades, backup/restore and reconfiguration. MySQL Cluster Manager also monitors and automatically recovers MySQL Server application nodes and management nodes, as well as the MySQL Cluster data nodes.

MySQL Ndb Operator

The open source MySQL Ndb Operator simplifies the deployment and operation of MySQL Cluster on a Kubernetes cluster. Ndb Operator deploys containerized MySQL Cluster Data, Management and SQL nodes in a number of StatefulSets with data stored in Persistent Volumes. Kubernetes mechanisms extend the high availability features of MySQL Cluster, for example automatically restoring HA redundancy after hardware failures by migrating pods to new hardware. Operating MySQL Cluster on Kubernetes allows a full stack of cloud native software to be operated in the same way on private or public clouds.

NDB Cluster

NDB Cluster is the distributed database system underlying MySQL Cluster. It can be used independently of a MySQL Server with users accessing the Cluster via the NDB API (C++). "NDB" stands for Network Database.

From the MySQL Server perspective the NDB Cluster is a Storage engine for storing tables of rows.

From the NDB Cluster perspective, a MySQL Server instance is an API process connected to the Cluster. NDB Cluster can concurrently support access from other types of API processes including Memcached, JavaScript/Node.JS, Java, JPA and HTTP/REST. All API processes can operate on the same tables and data stored in the NDB Cluster.

MySQL Cluster uses the MySQL Server to provide the following capabilities on top of Ndb Cluster:

  • SQL parsing / optimising / execution capability
    • Connectors to applications via JDBC, ODBC etc.
  • Cross-table join mechanism
  • User authentication and authorisation
  • Asynchronous data replication to other systems

All API processes including the MySQL Server use the NDBAPI[6] C++ client library to connect to the NDB Cluster and perform operations.

Implementation

MySQL Cluster uses three different types of nodes (processes) :

  • Data node (ndbd/ndbmtd process): These nodes store the data. Tables are automatically sharded across the data nodes which also transparently handle load balancing, replication, failover and self-healing.
  • Management node (ndb_mgmd process): Used for configuration and monitoring of the cluster. They are required only to start or restart a cluster node. They can also be configured as arbitrators, but this is not mandatory (MySQL Servers can be configured as arbitrators instead).[7]
  • Application node or SQL node (mysqld process): A MySQL server (mysqld) that connects to all of the data nodes in order to perform data storage and retrieval. This node type is optional; it is possible to query data nodes directly via the NDB API, either natively using the C++ API or one of the additional NoSQL APIs described above.

Generally, it is expected that each node will run on a separate physical host, VM or cloud instance (although it is very common to co-locate Management Nodes with MySQL Servers). For best practice, it is recommended not to co-locate nodes within the same node group on a single physical host (as that would represent a single point of failure).

Versions

From the 8.0 release onwards, MySQL Cluster is based directly on the corresponding releases of the MySQL Server. Previously, MySQL Cluster version numbers were decoupled from those of MySQL Server - for example MySQL Cluster 7.6 was based on/contained the server component from MySQL 5.7.

Higher versions of MySQL Cluster include all of the features of lower versions, plus some new features. Currently available versions:

  • MySQL Cluster 9.X Innovation Release series
  • MySQL Cluster 8.4 LTS based on MySQL 8.4 LTS release
Add support for TLS on cluster internal connections
  • MySQL Cluster 8.0 based on MySQL 8.0
Increase in max row size to 30kB, Support for up to 144 data nodes, Improved distributed filtering and joining, Support for parallel outer joins and semi joins, Improved schema and ACL handling, Online column rename, Simplified configuration, Multithreaded parallel backup and restore, Disk data performance improvements, Enhanced support for 3 and 4 replica configurations, Support for multi socket mesh networking, Support for restore transformations, Improved Blob write performance, Backup encryption, Support for IPv6, Threading autoconfiguration, Improved recovery performance, Improved query multithreading. [8]
  • MySQL Cluster 7.6 based on MySQL 5.7
Improved restart and recovery times, reduced disk space usage, improved join performance, new import tool, shared memory communication, improved topology awareness for cloud.[9]

Older versions (no longer in development):

  • MySQL Cluster 8.1 based on MySQL 8.1 Innovation release
  • MySQL Cluster 8.2 based on MySQL 8.2 Innovation release
  • MySQL Cluster 8.3 based on MySQL 8.3 Innovation release
  • MySQL Cluster 7.5 based on MySQL 5.7
Includes support for bigger datasets(more than 128TB per node), improved read scalability through read optimized tables, improved SQL support.[10]
  • MySQL Cluster 7.4 based on MySQL 5.6
Includes enhanced conflict detection and resolution, improved node restart times, new Event API.[11]
  • MySQL Cluster 7.3 based on MySQL 5.6
Includes support for foreign key constraints, Node.js / JavaScript API and an auto-installer.[12]
  • MySQL Cluster 7.2 based on MySQL 5.5
Includes Adaptive Query Localization (pushes JOIN operations down to the data nodes), Memcached API, simplified Active/Active Geographic replication, multi-site clustering, data node scalability enhancements, consolidated user privileges.[13]
  • MySQL Cluster 7.1 based on MySQL 5.1.D
Includes ClusterJ and ClusterJPA connectors
  • MySQL Cluster 7.0 based on MySQL 5.1.C
Includes multi-threaded data nodes (ndbmtd), Transactional DDL, Windows support.
  • MySQL Cluster 6.3 based on MySQL 5.1.B
Includes compressed backup + LCP, circular replication support, conflict detection/resolution, table optimization etc.
  • MySQL Cluster 6.2 based on MySQL 5.1.A
First 'telco' or 'carrier grade edition' release. Supports 255 nodes, online table alter, replication latency and throughput enhancements etc.
  • Ndb included in MySQL 5.1.X source tree

Requirements

For evaluation purposes, it is possible to run MySQL Cluster on a single physical server. For production deployments, the minimum system requirements are for 3 x instances / hosts:

  • 2 × Data Nodes
  • 1 × Application / Management Node

or

  • 2 × Data Node + Application
  • 1 × Management Node

Configurations as follows:

  • OS: Linux, Solaris, Windows. macOS (for development only)
  • CPU: Intel/AMD x86/x86-64, UltraSPARC
  • Memory: 1GB
  • HDD: 3GB
  • Network: 1+ nodes (Standard Ethernet - TCP/IP)

Tips and recommendations on deploying highly performant, production grade clusters can be found in the MySQL Cluster Evaluation Guide and the Guide to Optimizing Performance of the MySQL Cluster Database.

History

MySQL AB acquired the technology behind MySQL Cluster from Alzato, a small venture company started by Ericsson. NDB was originally designed for the telecom market, with its high availability and high performance requirements.[14]

MySQL Cluster based on the NDB storage engine has since been integrated into the MySQL product, with its first release being in MySQL 4.1.

Books

MySQL Cluster 7.5 inside and out.[15] Book written by Mikael Ronström, the founder of the NDB technology.

Pro MySQL NDB Cluster.[16] Book written by Jesper Wisborg Krogh and Mikiya Okuno, support engineers of MySQL.

Support

MySQL Cluster is licensed under the GPLv2 license. Commercial support is available as part of MySQL Cluster CGE, which also includes non-open source addons such as MySQL Cluster Manager, MySQL Enterprise Monitor, in addition to MySQL Enterprise Security and MySQL Enterprise Audit.

See also

  • Galera Cluster, a generic synchronous multi-master replication library for transactional databases, for MySQL and MariaDB. [2]
  • Percona XtraDB Cluster, also is a combination of Galera replication library and MySQL supporting multi master.
  • RonDB A fork of MySQL Cluster maintained by Hopsworks.[17]

References

  1. ^ "MySQL NDB Cluster 8.4 Release Notes". mysql.com.
  2. ^ Cluster CGE. MySQL. Retrieved on 2013-09-18.
  3. ^ Oracle Corporation. "MySQL Cluster Benchmarks: Oracle and Intel Achieve 1 Billion Writes per Minute". mysql.com. Retrieved June 24, 2013.
  4. ^ MySQL :: MySQL 5.6 Reference Manual :: 17.6.11 MySQL Cluster Replication Conflict Resolution. Dev.mysql.com. Retrieved on 2013-09-18.
  5. ^ Synchronously Replicating Databases Across Data Centers – Are you Insane? (Oracle's MySQL Blog). Blogs.oracle.com (2011-10-03). Retrieved on 2013-09-18.
  6. ^ [1] The MySQL Cluster API Developer Guide
  7. ^ Jon Stephens, Mike Kruckenberg, Roland Bouman (2007): "MySQL 5.1 Cluster DBA Certification Study Guide", pp. 86
  8. ^ "MySQL :: MySQL 8.0 Reference Manual :: 22.1.4 What is New in NDB Cluster". dev.mysql.com.
  9. ^ MySQL Cluster 7.6 is now Generally Available, Oracle's MySQL Blog, 1 June 2018
  10. ^ MySQL Cluster 7.5 Is Now GA!, Oracle's MySQL Blog, 18 October 2016
  11. ^ MySQL Cluster 7.4 GA: 200 Million QPS, Active-Active Geographic Replication and more, MySQL Cluster 7.4 Summary
  12. ^ MySQL Cluster 7.3 is now Generally Available – an overview, MySQL Cluster 7.3 Summary
  13. ^ New features of MySQL Cluster 7.2, MySQL Developer Zone
  14. ^ Todd R. Weiss (October 14, 2003). "MySQL acquiring data management system vendor Alzato". Computerworld.com. Retrieved November 5, 2012.
  15. ^ Mikael Ronström (February 12, 2018). " "MySQL Cluster 7.5 inside and out". bod.se. Retrieved August 1, 2022.
  16. ^ Jesper Wisborg Krogh, Mikiya Okuno (2017). Pro MySQL NDB Cluster. apress.com. doi:10.1007/978-1-4842-2982-8. ISBN 978-1-4842-2981-1. S2CID 10326666. Retrieved August 1, 2022.
  17. ^ "RonDB Announcement". Retrieved August 1, 2022.

MySQL

Other

Read other articles:

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Kuil Semua Agama Храм всех религийAgamaAfiliasiBeberapa agamaLokasiLokasiMakrodistrik Staroye Arakchino, Kazan, RussiaKoordinat55°48′2″N 48°58′30″E / 55.80056°N 48.97500°E / 55.80056; 48.97500Koordinat...

 

 

Olivia d'AboOlivia d'Abo pada Juli 2010LahirOlivia Jane d'Abo22 Januari 1969 (umur 55)London, InggrisPekerjaanPemeran, penyanyi, penulis laguTahun aktif1984–kiniSuami/istriPatrick Leonard ​ ​(m. 2002; bercerai 2012)​Anak1Orang tuaMike d'Abo (bapak)Situs webwww.oliviadabo.net Olivia Jane d'Abo (/ˈdɑːboʊ/; lahir 22 Januari 1969)[1] adalah seorang pemeran, penyanyi dan penulis lagu Inggris-Amerika. Ia dikenal atas perannya ...

 

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2023. Ruben LigeonInformasi pribadiNama lengkap Ruben Ewald Ligeon[1]Tanggal lahir 24 Mei 1992 (umur 31)[2]Tempat lahir Amsterdam, BelandaPosisi bermain BekInformasi klubKlub saat ini AjaxNomor 32Karier junior SV de Meteoor OSV2000-2011...

Medieval social phenomena This article is about the social phenomenon sometimes formerly called St. Vitus' dance. For the infection resulting in jerking movements more often called by that name, see Sydenham's chorea. Dancing mania on a pilgrimage to the church at Sint-Jans-Molenbeek, a 1642 engraving by Hendrick Hondius after a 1564 drawing by Pieter Brueghel the Elder Dancing mania (also known as dancing plague, choreomania, St. John's Dance, tarantism and St. Vitus' Dance) was a social phe...

 

 

Russian politician In this name that follows Eastern Slavic naming customs, the patronymic is Vladimirovich and the family name is Shilkin. Grigory ShilkinMPГригорий ШилкинMember of the State Duma (Party List Seat)IncumbentAssumed office 12 October 2021 Personal detailsBorn (1976-10-20) 20 October 1976 (age 47)Arkhangelsk, RSFSR, USSRPolitical partyNew PeopleEducationAll-Russian Correspondence Financial and Economic Institute Grigory Vladimirovich Shilkin (Russian: ...

 

 

Chronologies Données clés 1954 1955 1956  1957  1958 1959 1960Décennies :1920 1930 1940  1950  1960 1970 1980Siècles :XVIIIe XIXe  XXe  XXIe XXIIeMillénaires :-Ier Ier  IIe  IIIe Chronologies géographiques Afrique Afrique du Sud, Algérie, Angola, Bénin, Botswana, Burkina Faso, Burundi, Cameroun, Cap-Vert, République centrafricaine, Comores, République du Congo, République démocratique du Congo, Côte d'Ivoire, Djibouti, Égyp...

Reduction of image size to save storage and transmission costs This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2010) (Learn how and when to remove this template message) Image compression is a type of data compression applied to digital images, to reduce their cost for storage or transmission. Algorithms may take advantage of visual perception and the s...

 

 

Process of purging former communist high officials and eliminating communist symbols Not to be confused with Lustration. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Decommunization – news · newspapers · books · scholar · JSTOR (August 2017) (Learn how and when to remove this template message) One of the ...

 

 

President of Guatemala since 2024 In this Spanish name, the first or paternal surname is Arévalo and the second or maternal family name is de León. His ExcellencyBernardo ArévaloOfficial portrait, 202452nd President of GuatemalaIncumbentAssumed office 15 January 2024Vice PresidentKarin HerreraPreceded byAlejandro GiammatteiMember of the Congress of GuatemalaIn office14 January 2020 – 14 January 2024ConstituencyNational ListGuatemalan Ambassador to SpainIn office1995�...

Pour les articles homonymes, voir Fry. Varian Fry Nom de naissance Varian Mackey Fry Naissance 15 octobre 1907New York (État de New York), États-Unis Décès 13 septembre 1967 (à 59 ans)Redding (Connecticut), États-Unis Nationalité  Américain Profession Journaliste Autres activités Emergency Rescue Committee Années d'activité 1935-1953 Distinctions honorifiques Juste parmi les nations, Ordre national de la Légion d'honneur, Médaille de la Résistance française, Médaill...

 

 

星洲网网站类型新闻网站语言简体中文總部 马来西亚雪兰莪州八打灵再也Semangat路19号(星洲日报总部)持有者世华多媒体有限公司編輯卜亚烈网址www.sinchew.com.my商业性质是注册选择性(个人新闻空间)推出时间2000年4月21日,​24年前​(2000-04-21)內容許可保有版权 星洲网,是一家马来西亚线上免费综合新闻网站,也是马来西亚销售量最高的中文报《星洲日报》...

 

 

Val SerianaPanorama sulla media Valle Seriana vista dal Monte FarnoStati Italia Regioni Lombardia Province Bergamo Località principaliVedi apposita sezione Comunità montanaComunità montana della Valle Seriana Altitudineda 280 a 3 052 m s.l.m. CartografiaMappa della Valle Sito web Modifica dati su Wikidata · ManualeCoordinate: 45°55′00.01″N 9°55′00.01″E / 45.91667°N 9.91667°E45.91667; 9.91667 La Val Seriana (Àl Seriàna o àl Heri�...

20th and 21st-century Norwegian bishop The Right ReverendFinn WagleBishop Emeritus of NidarosFormer Primate of the Church of NorwayFinn WagleChurchChurch of NorwayIn office1991–2008PredecessorKristen Kyrre BremerSuccessorTor SingsaasOrdersConsecration28 April 1991by Andreas AarflotPersonal detailsBorn (1941-06-19) 19 June 1941 (age 82)Oslo, NorwayDenominationLutheranOccupationBishopEducationcand.theol. (1968)Alma materMF Norwegian School of Theology Finn Wagle (born 19 June 1941) ...

 

 

American college football season 2002 Miami RedHawks footballConferenceMid-American ConferenceDivisionEast DivisionRecord7–5 (5–3 MAC)Head coachTerry Hoeppner (3rd season)Defensive coordinatorJon Wauford (5–3 season)Home stadiumYager StadiumSeasons← 20012003 → 2002 Mid-American Conference football standings vte Conf Overall Team   W   L     W   L   East Division No. 24 Marshall x$   7 – 1     11 R...

 

 

Japanese high-speed train type 300 series300 series train on the Tokaidō Shinkansen in January 2008In service1 March 1992; 32 years ago (1992-03-01) – 16 March 2012; 12 years ago (2012-03-16)ManufacturerHitachi, Kawasaki Heavy Industries, Kinki Sharyo, Nippon SharyoReplaced100 seriesConstructed1990–1998Scrapped2007–2012Number built1,104 vehicles (69 sets)Number preserved2 vehiclesNumber scrapped1,102 vehiclesFormation16 cars per trainsetFleet...

صحفي   تسمية الإناث صحافية  فرع من محترف إعلامي  [لغات أخرى]‏،  ومؤلف،  ومهنة الإعلام  [لغات أخرى]‏  المجال صحافة  تعديل مصدري - تعديل   الصحفي هو الشخص الذي يزاول مهنة الصحافة إما منطوقة أو مكتوبة،[1] وعمل الصحفي هو جمع ونشر المعلومات عن ا�...

 

 

  لمعانٍ أخرى، طالع أتلانتيس (توضيح). أتلانتيسمعلومات عامةجزء من برنامج مكوك الفضاءمهمة فضائيةAtlantis Building (en) (2012 – ) الاسم الأصل Space Shuttle Atlantis (بالإنجليزية) الكتلة 77٬550 كيلوغرام[1] سُمِّي باسم RV Atlantis (en) [2][3] البلد الولايات المتحدة تقع في التقسيم الإداري مقاطعة �...

 

 

Questa voce sull'argomento calciatori statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Jakes MulhollandNazionalità Stati Uniti Calcio RuoloDifensore Termine carriera19?? CarrieraNazionale 1924 Stati Uniti2 (0) 1 I due numeri indicano le presenze e le reti segnate, per le sole partite di campionato.Il simbolo → indica un trasferimento in prestito.   Modifica dati su Wikidata...

Species of fish Pterophyllum leopoldi Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Actinopterygii Order: Cichliformes Family: Cichlidae Genus: Pterophyllum Species: P. leopoldi Binomial name Pterophyllum leopoldi(J. P. Gosse, 1963) Synonyms Plataxoides leopoldi J. P. Gosse, 1963 Pterophyllum leopoldi, also referred to as the teardrop angelfish, Leopold's angelfish[1] dwarf angelfish, or roman-nosed angelfish,[2] is an angelfish spe...

 

 

2015 studio album by Hollywood UndeadDay of the DeadStudio album by Hollywood UndeadReleasedMarch 31, 2015Recorded2014Genre Rap rock alternative rock electronic rock hip hop nu metal Length46:13LabelInterscopeProducer Griffin Boice Sean Gould Jordon Charlie Scene Terrell Jorel J-Dog Decker Hollywood Undead studio album chronology Notes from the Underground(2013) Day of the Dead(2015) Five(2017) Singles from Day of the Dead Day of the DeadReleased: October 21, 2014 Usual SuspectsRelea...