【MySQL】 NDB 集群概述

news/2024/7/8 2:33:11 标签: mysql, 数据库, sql

MySQL NDB(Network Database)是MySQL的一个存储引擎,也称为NDB Cluster存储引擎。它主要用于构建高可用性、高可扩展性和高性能的分布式数据库集群。NDB Cluster是MySQL的一个特殊版本,专门设计用于处理大规模的分布式数据存储和处理需求。

【重点】​ MySQL NDB Cluster 不支持 InnoDB Cluster,必须使用 MySQL ServerInnoDB 存储引擎以及 NDB Cluster 发行版中未包含的其他应用程序来部署 InnoDB Cluster。MySQL Server 9.0 二进制文件不能与 MySQL NDB Cluster 一起使用。 ​

NDB Cluster 二进制文件和源代码包下载地址

MySQL :: Download MySQL NDB Cluster

特点和概念:

分布式架构

NDB Cluster采用分布式架构,数据可以分布在多个节点上,每个节点都可以处理读写请求。

这种架构使得NDB Cluster能够水平扩展,通过增加节点来提高处理能力和存储容量。

高可用性

NDB Cluster提供高可用性,通过数据复制和自动故障转移机制,确保在节点故障时数据仍然可用。

数据在多个节点之间进行同步复制,确保数据的冗余和一致性。

实时性能

NDB Cluster针对实时应用进行了优化,提供低延迟和高吞吐量的数据访问。

它适用于需要快速数据访问和高并发处理的应用场景。

事务支持

NDB Cluster支持ACID事务,确保数据的完整性和一致性。

它使用两阶段提交协议来保证分布式事务的一致性。

数据分片

NDB Cluster支持数据分片(sharding),可以将数据分布在多个节点上,提高查询性能和可扩展性。

数据分片可以根据表的主键或其他属性进行自动分配。

管理工具

  • NDB Cluster提供了一系列管理工具和命令行接口,用于配置、监控和管理集群。

  • 这些工具可以帮助管理员进行集群的部署、维护和故障排除。

支持的平台

9.x8.4
长期支持
8.07.67.5
操作系统建筑学
Oracle Linux / Red Hat / CentOS / Rocky Linux
Oracle Linux 9 / Red Hat Enterprise Linux 9 / Rocky Linux 9x86_64
Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 8x86_64
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7x86_64
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6x86_32、x86_64
Oracle Solaris
Solaris 11(更新 4+)SPARC_64
典范
Ubuntu 24.04 LTSx86_64
Ubuntu 22.04 LTSx86_64
Ubuntu 20.04 LTSx86_64
SUSE
SUSE 企业版 Linux 15 / OpenSUSE 15 (15.5)x86_64
SUSE Enterprise Linux 12(12.5+)x86_64
Debian
Debian GNU/Linux 12x86_64
微软 Windows 服务器
Microsoft Windows 2022 服务器x86_64
微软 Windows 2019 服务器x86_64
Microsoft Windows 2016 服务器x86_64
微软Windows
微软 Windows 11x86_64
微软 Windows 10x86_64
苹果
macOS 14x86_64,arm64
macOS 13x86_64,arm64

 NDB群集组件

 NDB 集群安装文档地址:MySQL :: MySQL 9.0 Reference Manual :: 25.3 NDB Cluster Installation

集群节点共有三种类型:

  • 管理节点:此类节点的作用是管理NDB Cluster内的其他节点,执行提供配置数据、启动和停止节点以及运行备份等功能。由于此节点类型管理其他节点的配置,因此应先启动此类型的节点,然后再启动任何其他节点。管理节点使用命令ndb_mgmd启动。
  • 数据节点:此类节点存储集群数据。数据节点的数量与片段副本的数量乘以片段的数量相同。例如,对于两个片段副本,每个副本有两个片段,您需要四个数据节点。一个分片副本足以存储数据,但不提供冗余;因此,建议有两个(或更多)片段副本以提供冗余,从而提供高可用性。数据节点使用命令ndbd 或 ndbmtd启动。   NDB Cluster 表通常完全存储在内存中而不是磁盘上(这就是我们将 NDB Cluster 称为 内存数据库的原因)。但是,一些 NDB Cluster 数据可以存储在磁盘上
  • SQL节点:这是访问集群数据的节点。在NDB集群中,SQL节点是使用NDBCLUSTER存储引擎的传统MySQL服务器。SQL节点是由--ndbcluster和--ndb-connectstring选项启动的sql>mysqld进程。SQL 节点实际上只是一种特殊类型的 API 节点,它指定访问 NDB Cluster 数据的任何应用程序

NDB 集群多计算机设置





http://www.niftyadmin.cn/n/5536068.html

相关文章

行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代,我们每天都在使用各种应用,从社交娱乐到工作学习,应用已经成为我们生活中不可或缺的一部分。然而,你是否知道,在这些便捷的背后,隐藏着巨大的安全风险? 近年来,应用…

卡尔曼滤波Q和R怎么调

卡尔曼滤波器是一种有效的估计算法,主要用于在存在噪声的环境中估计动态系统的状态。它通过结合预测模型(系统动态)和观测数据(包括噪声)来实现这一点。在卡尔曼滤波中,调整过程噪声协方差矩阵 ( Q ) 和测量…

C++ 学习笔记一

C 学习笔记 使用空参数列表而不是void来指示函数没有参数。现代机器上的内存通常被组织成字节大小的单元,每个内存字节都有一个唯一的地址。为了确定特定机器上数据类型的大小,C 提供了一个名为sizeof的运算符。sizeof运算符是一个一元运算符&#xff0…

【Linux】GNU是什么

GNU是一个自由软件项目,其全称是“GNUs Not Unix!”,由理查德斯托曼(Richard Stallman)于1983年发起。GNU项目的目标是创建一个完全自由的操作系统,包括一整套完全自由的软件工具,以取代Unix系统。这里的“…

BeanUtils拷贝List数据

工具类: package com.ssdl.baize.pub;import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; import org.springframework.beans.BeanUtils;public class BeanConvertUti…

顶级10大AI测试工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

WebRtc实现1V1音视频通话

WebRtc实现1V1音视频通话 简介应用场景共享桌面的基本原理传统共享桌面WebRTC 共享桌面 相关API基本使用调用本地摄像头播放约束设置 媒体协商过程协议协议的交换与传输 WebRTC 通信过程ICE Candidate(ICE 候选者) 1V1视频通话 简介 WebRTC,名…

浏览器向客户端提供文件下载(Java实现)

场景: 某一系统需上传黑白名单时,需向用户提供导入模板,这时候需要为客户端提供文件模板下载,用户按照该模板格式填写内容。 package com.wyw.learn.upOrdownload.service;import lombok.RequiredArgsConstructor; import org.spr…