微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/mysql/432994.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐