mysql ndb存储引擎_NDB存储引擎 | 学步园

为什么我们会选择NDB引擎呢?

我想可能有这么两点需求:

1.我们需要高可用,传说中的FIVE NINE

2.我们需要高性能,多SQL节点提供更好的并发服务

由此出发,看起来NDB引擎都能满足。可是为啥真正使用CLUSTER之后,发现,其实并不是像想象中的那么美好?我们从MYSQL CLUSTER的架构上来看看。

MySQL Cluster  由三类节点组成:

1、 数据节点(Data Nodes) 存储所有属于 MySQL Cluster 的数据。这些数据在数据

节点之间被复制以保证在一个或多个节点出现故障时集群仍然持续可用。 而且数据节点也管

理数据库的事务处理。 随着数据复制份数的增加整个系统的数据冗余性相应提高。 应用程序

使用 NDB API 直接访问数据节点,而不是通过 MySQL 服务器。

2、 管理节点(Management Server Nodes)   控制系统启动时的初始配置,在集群设置

发生改变时又被重新利用。通常只需配置一个管理节点;然而为了排除单点故障需要,有可

能的话,请增加管理节点的数量。以提供管理操作的高可用性。

管理节点只在集群启动和系统重配置后起作用, 集群启动以后, 无论管理节点处于什么状态,

整个集群都将保持其在线和可用状态。

3、 MySQL 节点(MySQL Server Nodes)   用于存取集群数据节点上的数据,给软件开

发者提供了一个标准的 SQL 语言编程接口。MySQL 服务节点负责向数据节点传送访问请

求,这使 MySQL 使用者无需知道具体的集群过程,也无需进行数据库操作的底层编程。特

别是通过增加 MySQL  服务节点数量,就可以提高集群系统性能。这种设计给 MySQL 增

加可扩展性、数据规模和系统性能提供了更广的方法和措施。

应用程序如果对实时性能要求较高, 请直接使用 NDB API, 而不是通过 MySQL 节点。

现在可以使用 C++,Java,HTTP 版本的 NDB API, 这给开发人员提供了极大的方便, 并且使

得 MySQL 集群可以应用于广泛的 web 和企业级应用。

数据库在内部被分割为一个个分区,   这些分区分布于数据节点之间。 为了避免单点故

障,至少会有两个以上的节点会用于存储特定分区的数据,这些节点组成一个节点组。

节点之间的数据交互是使用网络的,7.0之后加强了这个功能。各表数据是水平分割的,由此数据切分整合的性能瓶颈出现了。由这个架构,我们可以推论出,mysql cluster在执行类似where a=1且a唯一这样的查询时,由于其水平分割,并行处理,可以获得相对较好的性能。但当其执行类似where

a>10这样的范围查询则不可避免的会执行多个NDB节点的记录集union,多表查询时多个NDB节点记录集的join,union。显而易见的,这样的应用并不适合在CLUSTER上去跑。

我们注意到,引擎的选用是根据业务的特点来的,根据的业务选择合适引擎,这个才是王道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL动物信息管理系统是一个使用MySQL数据库和Java编程语言开发的动物信息管理系统。该系统可以帮助动物管理员管理动物信息,包括动物种类、数量、饲养情况等。 胖子是一个由淘宝开发的分布式数据库中间件,可以将多个MySQL数据库组成一个分布式数据库集群,提供高可用性、高并发性和可扩展性。MySQL NDBMySQL提供的一种高可用性、高性能的分布式数据库存储引擎,也可以用于构建分布式数据库集群。 在使用MySQL动物信息管理系统时,可以选择使用胖子或MySQL NDB来构建分布式数据库集群,以提高系统的可用性和性能。具体选择哪种方案需要根据实际情况进行评估和比较,包括数据量、访问量、负载情况、可用性要求等因素。 ### 回答2: MySQL动物信息管理系统是一个用于管理动物内动物信息的系统。管理员通过该系统可以轻松地查看、添加、编辑和删除内动物的相关信息。在这个系统中,MySQL NDB(Network DataBase)被用作数据库引擎。 MySQL NDBMySQL的一种特殊的存储引擎,它特别适用于高可用性和高可扩展性的应用场景。相比其他存储引擎MySQL NDB具有更好的数据复制和分区能力,并且可以在不同的服务器上实现数据的同步和共享。对于一个动物管理员来说,MySQL NDB的特性对于动物信息管理系统非常有用。 首先,由于动物中的动物信息是实时更新的,管理员需要能够及时地获取最新的信息。而MySQL NDB可以实现数据的实时同步和复制,在多个服务器上保持数据的一致性和即时性。这意味着管理员可以在任何时间和任何地点访问到最新的动物信息。 其次,动物中的动物数量可能非常庞大,而MySQL NDB拥有良好的可扩展性。它可以以分布式集群的形式运行,将数据分片存储在多个节点上,并实现负载均衡和故障恢复。这就意味着即使在大规模的动物信息管理系统中,MySQL NDB也能保持良好的性能和可靠性。 最后,由于管理员可能需要进行复杂的查询和统计操作,MySQL NDB的分区功能可以使数据库更加高效。管理员可以根据动物的种类、栖息地、饲养情况等因素进行分区,从而提高查询速度和效率。此外,由于MySQL NDB支持并行查询处理,在高负载情况下可以更好地处理管理员的请求。 总之,MySQL NDB作为动物信息管理系统的数据库引擎,具有高可用性、高可扩展性和高效率的特点,能够帮助管理员轻松地管理动物内的动物信息。 ### 回答3: MySQL动物信息管理系统是一个用于管理动物基本信息的数据库系统。管理员可以通过该系统进行动物的录入、查询、更新和删除等操作。 在管理员使用MySQL NDBMySQL Cluster)作为数据库引擎时,会有一些与传统MySQL数据库不同的特点和优势。 首先,MySQL NDB是一个分布式数据库引擎,能够将数据库分布在多台计算机上,实现高可用性和容错性。这对于动物信息管理系统来说是非常重要的,因为即使其中一台计算机发生故障,系统仍然可以继续正常运行,管理员可以继续对动物信息进行管理。 其次,MySQL NDB支持数据库的自动分片(sharding)和自动数据重分布。这意味着当数据库的数据增长超过一台计算机的处理能力时,管理员无需手动进行数据分片和迁移操作,系统会自动将数据分散存储在多台计算机上,以平衡负载,并在需要时对数据进行重分布。 此外,由于MySQL NDB采用了内存数据库(in-memory database)的设计思路,因此具有非常高的读写性能,适合处理大量的并发请求。在动物信息管理系统中,管理员可以通过MySQL NDB迅速查找和修改动物信息,使系统响应更加迅捷。 然而,MySQL NDB也存在一些限制。例如,MySQL NDB不支持某些传统MySQL数据库提供的功能,如全文搜索和外键约束等。管理员在设计和开发动物信息管理系统时需要考虑到这些限制,并根据实际需求进行权衡和选择。 总的来说,MySQL NDB作为数据库引擎对于动物信息管理系统来说是一种可行的选择,能够提供高可用性、容错性和良好的性能。管理员可以通过合理使用MySQL NDB的特性和优势来设计和实现功能完善的动物信息管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值