MySQL集群问题

前端之家收集整理的这篇文章主要介绍了MySQL集群问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经阅读了很多MySQL Cluster文档和一些教程,但我仍然有一些不清楚的东西,现在主要的是:

>当数据节点重新启动(崩溃并再次启动)时,它的数据是否仍然可用?更新/添加将照常工作?它会“同步”吗?
>集群的运行速度是否比独立运行速度快?特别是,我多次更新行,但一次更新一行,这意味着网络延迟可能会对性能产生影响.我可以遵循哪些模式来加快速度,例如添加更多sql节点或添加模式数据节点?

关于问题#2,行的更新采用以下语法:

UPDATE db_accounts.tbl_items SET items=items+%lld WHERE id_account=%u

“id_account”是一个索引(唯一).

最佳答案
MysqL Cluster是一个内存数据库(虽然有些列可以存储在磁盘上,但索引列不能存储).如果拔下插头,您的数据就会消失.重新加入群集的节点的恢复过程是它从幸存的节点中拉出丢失的数据(需要节点之间良好的快速链接),然后小心地应用复制事件,直到它赶上并可以主动参与.如果最近的备份可用,则可以从该备份而不是另一个节点重建备份,但原理是相同的:必须从头开始重新填充节点.

MysqL Cluster基本上是一个分布式哈希表.保存特定数据行的NDB节点由应用于主键的散列算法确定.假设您的数据在节点之间很好地传播,则通过添加节点来提高性能.如果查询必须触及多个节点,性能会受到严重影响 – 即.复杂的连接 – 但是在给定主键的情况下检索特定的行是快速的.

显然,鉴于节点是分布式的,缓慢或拥塞的网络将严重影响性能.

原文链接:https://www.f2er.com/mysql/432994.html

猜你在找的MySQL相关文章