关于mysql cluster适用场景的分析

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 前言: mysql cluster作为mysql官方的一个集群软件,一直是不温不火的存在,用的较多的仍是mysql-server,本文就基于mysql cluster的特性,分析一下什么场景下适合使用mysql cluster。

前言:

mysql cluster作为mysql官方的一个集群软件,一直是不温不火的存在,用的较多的仍是mysql-server,本文就基于mysql cluster的特性,分析一下什么场景下适合使用mysql cluster。

1.介绍

MySQL Cluster 是一个高性能、可扩展、集群化数据库产品,其研发设计的初衷就是要满足电信业中许多的业界最严酷应用要求。这些电信应用中经常要求数据库运行的可靠性要达到99.999%。

不过目前的MySQL Cluster已经不仅仅应用于传统的电信业务中,它还被广泛的应用在VOIP、网络计费,session管理,电子商务网站,搜索引擎,甚至是传统的内勤应用中。

简单的说,MySQLCluster实际上是在无共享存储设备的情况下实现的一种完全分布式数据库系统,具备高可用、高冗余的特性。它由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster的数据节点,管理服务器,以及(可能)专门的数据访问程序。

MySQL Cluster主要通过NDBCluster(简称NDB)存储引擎来实现,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

从市场来看,使用mysql cluster的公司也不在少数:

2.mysql cluster的部分特性

1)可扩展性强,支持在线扩容

2)数据一致性好

3)通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求

4) 99.999 %的高可用性

5)快速的自动失效切换

6)灵活的分布式体系结构,没有单点故障

7)高吞吐量和低延迟

8)支持nosql

9)符合 ACID 要求的事务型数据库

10)自动数据分片

3.mysql cluster的缺点

1)不支持外键

2)数据行不能超过8K

3)部署、管理、配置很复杂

4)占用内存较大

5)备份恢复不便

6)复杂的SQL查询性能一般

7)因节点间通过网络实现通讯和数据同步、查询等操作,整体性受网络速度影响较大

8)内存中的数据有丢失的风险

4.mysql cluster与NOSQL(MongoDB)的比较

1)mysql cluster拥有完整的ACID属性,遵守SQL标准,可以在RDBMS间无缝迁移,部署配置复杂,索引组织表。

2)MongoDB使用集合表示数据,不拥有ACID属性,无类型,支持快速部署及快速开发,堆组织表。

5.mysql cluster与memory存储引擎的比较

1)mysql cluster支持行锁,能更好的支持并发,数据可存储到磁盘,分布式的特性保证无单点故障,高可用性,数据自动分片,支持变长数据类型。

2)memory存储引擎支持表锁,并发性能不好,数据只能存储到内存中,有丢失的风险。不支持变长数据类型,操作、运维较方便。

6.总结:

综上所述,mysql cluster适合的场景为:具有非常高的并发需求,对可用性要求较高,或是数据需要分片的遵守SQL标准的传统RDBMS系统。

如下是较理想的应用环境:

大容量 OLTP

实时分析

支持欺诈检测的电子商务和金融交易

移动和小额支付

会话管理和缓存

串流派送、分析和推荐

内容管理和交付

大型多人在线游戏

通信和位置服务

使用者/用户资料管理和授权

7.参考资料

1.MySQL Cluster初步学习资料 

2.MySQL Cluster 与 MongoDB集群 

3.Memory 与 MySQL Cluster的比较 http://www.cnblogs.com/isenhome/archive/2013/03/25/db.html

4.MySQL Cluster集群探索与实践 http://www.searchtb.com/2012/07/mysql-cluster.html

5.MySQL Cluster 常见问题解答 http://www.mysql.com/products/cluster/faq.html

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
505 158
|
6月前
|
存储 消息中间件 监控
MySQL 到 ClickHouse 明细分析链路改造:数据校验、补偿与延迟治理
蒋星熠Jaxonic,数据领域技术深耕者。擅长MySQL到ClickHouse链路改造,精通实时同步、数据校验与延迟治理,致力于构建高性能、高一致性的数据架构体系。
MySQL 到 ClickHouse 明细分析链路改造:数据校验、补偿与延迟治理
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
531 156
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
635 161
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
764 6
|
8月前
|
存储 关系型数据库 MySQL
深入理解MySQL索引类型及其应用场景分析。
通过以上介绍可以看出各类MySQL指标各自拥有明显利弊与最佳实践情墁,在实际业务处理过程中选择正确型号极其重要以确保系统运作流畅而稳健。
259 12
|
9月前
|
存储 SQL 关系型数据库
MySQL的Redo Log与Binlog机制对照分析
通过合理的配置和细致的管理,这两种日志机制相互配合,能够有效地提升MySQL数据库的可靠性和稳定性。
314 10
|
10月前
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
9月前
|
SQL 关系型数据库 MySQL
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
|
存储 关系型数据库 MySQL
MySQL在企业内部应用场景有哪些
【10月更文挑战第17天】MySQL在企业内部应用场景有哪些
669 0

推荐镜像

更多