首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么分开写和读更好?

为什么分开写和读更好?
EN

Stack Overflow用户
提问于 2012-09-05 02:46:11
回答 2查看 1.1K关注 0票数 2

我不明白为什么单独写和读比在一台服务器上写和读更好。

例如,我有一个mysql集群,它有三台机器: node1、node2、node3。

一种可能的架构是:

  • 所有的请求都写到node1,但是所有的请求都读取到node2和node3。

第二种可能的架构是:

  • 这三个节点都同时处理写和读。

在体系结构中,我们可以看到,对node1的写入压力很大,所以我更喜欢架构2。

此外,为什么mongodb分离对主节点的写入和对次要节点的读取。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-05 03:27:50

对于MySQL和MongoDB来说,这都是一个规模问题。在具有小数据集和低通信量的最简单的应用程序中,让所有的写和读都转到一台服务器上可以提供一个简单的体系结构。在具有低容量写入的非常高容量的读取应用程序中,一个复制到多个读取节点的单个写节点可以通过添加另一个节点来扩展您的读取。在一个高读写量的应用程序中,您可能会考虑分片(在MySQL中,您自己做,或者找到一个帮助工具),在mongodb中,您可以运行mongos来为您处理分片。切分将根据您定义的某个键将记录放在特定实例上。键将确定每个记录应该存储在哪个实例上。您可以想象,与单个服务器进行读写访问相比,分片管理起来要复杂得多。您是对的,即使在mongodb这样的情况下,一旦您定义了一个键(或者只使用默认键),就可以为您进行切分。

票数 2
EN

Stack Overflow用户

发布于 2012-09-05 19:41:31

MySQL集群还支持自动切分-默认情况下对主键进行散列,但是用户可以为自己的密钥提供更多的分发感知。集群中的每个节点都是主节点,内部负载平衡将在各个节点之间分配负载。

虽然级别很高,这里发布的简短演示介绍了在MySQL集群中分片的概念:id=11464419

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12273844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档