我们知道,MySQL Cluster 产品用的主要的引擎为:NDB。 很多人说对于NDB来说,执行SQL语句的性能很差。但是我觉得主要是没有仔细的探索。
对于数据库来说,要判断他的性能如何,无非是要看两点:
1. 对于数据库的写操作,这里涉及到INSERT, DELETE,UPDATE, DROP等实实在在的语句。
2. 对于数据库的读操作,这里主要是用来查询的SELECT语句。
那么,我们怎么样才能对这些语句,也就是说让这些语句在用在他们擅长的场合呢?首先我们来看看初步看看写操作的优化。
对于写来说,要优化有以下几点:
1. 选择合适的字段类型。 比如:你要存储3个字节的字符到NDB,那么你应该选择VARCHAR(3), 而不是VARCHAR(4)或者
VARCHAR(5)。
因为对于NDB来讲,每一行的每一列都要对应的以4个字节的倍数来存储,所以对于VARCHAR(3)来说,对于4个字节,那么对于VARCHAR(4)
呢,就得等于8个字节了。
2. 选择合适的索引, 删除不必要的索引。 大家都知道,NDB自身可用的索引类型为T-TREE和HASH。 对于任何主键和唯一索引,都以HASH结构来存放。对于其他的索引,都以T-TREE来存放。那么我们来看下面的这个简单的表结构:
create table ytt_1 (id int not null, primary key (id)) engine ndb;
create table ytt_2 (id int not null, primary key (id) using hash) engine ndb;
大家觉得上面两个表结构的写性能哪个好呢?答案是ytt_2. 这个可以好好思考下为什么!
那么对于读呢?怎么优化?
有的人会问,我看到一大堆大堆得人把NDB 和 INNODB 以及MYISAM这些传统的引擎来对比。 这无疑是一种大大的错误! 其实说白了,他们的处理方式是一样的。但是你的对比硬件环境是否允许?
1. NDB 为什么叫NDB? NETWORK DATABASE。网络数据库。也就是说NDB的每项操作都要跟网络相关。特别是对于他不擅长的JOIN操作。
2. 对于单表而且是根据主键来查找,那速度可是来的非常快!
其实最重要的一点就是NDB能保证数据5个9的可靠性,其他引擎能吗?
分享到:
相关推荐
【NDB代码分析1】 1. 概述 NDB(Network Database)是MySQL Cluster中的分布式事务存储引擎,它提供高可用性和数据复制。NDB协议交互模式涉及到MySQL服务器节点...深入理解这些细节对于优化和调试NDB集群至关重要。
MySQL NDB Cluster是一套高可用性的、分布式、内存存储的数据库集群技术,...对于数据库管理员和相关开发人员而言,这本书无疑是一个宝贵的工具,帮助他们更高效地管理和优化NDB Cluster,确保数据库服务的稳定运行。
总之,`ndb`是Node.js开发者提高效率、优化调试流程的有力工具。它将Chrome DevTools的强大功能与Node.js的生态环境相结合,使得在服务器端的JavaScript调试变得更加直观和高效。无论你是初学者还是经验丰富的开发者...
7. **预加载(Preloading)** - 用于在查询前加载相关数据,以优化性能。 8. **异步操作(Asynchronous Operations)** - NDB库支持异步编程模式,允许在等待IO操作完成的同时执行其他任务。 **安装与使用** 要...
- **MySQL权限表存储**:现在可以在集群中存储MySQL权限表,加强了安全性和管理的灵活性。 - **Memcache API集成**:将Memcached的功能融入NDB Engine,使得数据缓存和快速访问成为可能,进一步提升了应用性能。 ##...
【MySQL NDB Cluster 8 on CentOS8 部署详解】 MySQL NDB Cluster是一种高可用性和高性能的数据库解决方案,尤其适合需要数据复制和分布式事务处理的场景。在CentOS8上部署MySQL NDB Cluster 8及Mysql Router 8,...
本手册涵盖了 MySQL 8.0 的所有方面,包括安装、配置、管理、性能优化、安全性和故障排除等。同时,本手册也涵盖了 MySQL NDB Cluster 8.0 的相关内容,包括集群的配置、管理和故障排除等。 MySQL 8.0 的应用场景...
7. 配置复杂性:设置和优化MySQL Cluster NDB需要深入理解和调试大量的配置参数,这增加了管理的复杂性。 8. 网络依赖性:MySQL Cluster NDB高度依赖网络通信,网络延迟和故障会影响集群性能和稳定性。因此,网络...
- **数据库工程师**:负责数据库设计、实施和优化的专业人员可以通过学习本资源了解如何利用 NDB Cluster 实现高可用性。 - **IT 专业人士**:希望提升数据库高可用性的 IT 从业者,无论是初学者还是有一定经验的...
例如,它可能包括对节点间通信协议的优化、改进的负载均衡和故障转移机制、对数据一致性和同步的增强措施等。 此外,MySQL Cluster NDB 7.3还提供了更好的并行查询处理能力和数据压缩选项,使得大数据量的查询能够...
##### 1.1 关于本手册 - **手册范围**:该手册涵盖了 MySQL 8.0 至 8.0.38 版本以及基于 NDB 8.0 至 8.0.38 的 NDB Cluster 相关内容。 - **版本更新**:手册中可能包含了尚未发布的 MySQL 版本的新特性。 - **发布...
关于本手册 本手册是MySQL 8.1参考手册,涵盖了MySQL 8.1(版本8.1.0)以及NDB Cluster 8.1(版本8.1.0-ndb-8.1.0)的相关内容。该手册可能会包括尚未发布的MySQL版本的功能介绍。有关已发布版本的信息,请参阅...
4. 存储引擎管理:MySQL 提供了多种存储引擎,包括 ISAM、MyISAM、InnoDB、Memory、NDBCluster、Merge、FEDERATED、ARCHIVE、BLACKHOLE 和 CSV 等。不同的存储引擎有其特点和应用场景,合理的存储引擎选择可以提高...
查询优化包括避免全表扫描、减少JOIN操作、合理使用索引等。配置参数的调整也很重要,例如调整缓冲池大小、最大连接数等。硬件优化,如使用SSD硬盘、足够的内存,也能提升性能。 总之,MySQL性能优化是一个全面的...
例如,合理设计数据库范式、避免全表扫描、利用索引、减少JOIN操作等都是常见的优化手段。 SQL查询优化是性能提升的重要环节。应避免使用SELECT *,明确指定需要的列;避免在WHERE子句中使用!=或操作符;合理使用...
3. 数据库模式设计和查询优化:深入分析数据库模式设计对性能的影响,包括合理的表结构设计和索引策略,以及针对复杂查询的优化技巧。 4. 服务器设置优化:探讨MySQL服务器的配置选项对性能的影响,如缓冲区大小、...
### MySQL性能优化Workshop——架构与引擎深度剖析 在当今数据驱动的世界中,数据库的性能优化成为了企业关注的焦点,而MySQL作为...在后续的实践中,我们还将继续探索更多关于MySQL性能优化的技巧和策略,敬请期待。
除此之外,还有其他引擎如Memory(内存表)、BerkleyDB、NDB Cluster(用于分布式环境)等,可以根据具体需求进行选择。 MySQL的优化是一个复杂的过程,涉及多个层面,包括查询优化、索引优化、配置参数调整、硬件...