【发布时间】:2019-03-09 05:55:51
【问题描述】:
您能否分享您对可扩展性的见解?
假设我有一个简单的 MySQL/RDBMS db 用于树状讨论:
表格:
- 讨论(ID,网址)
- 评论(id、discussionId、parentCommentId、slug)
- comment_vote(discussionId、commentId、userId、值)
这个想法是在这个 RDBMS 结构中执行不太频繁的写入(与更频繁的读取相反),然后在写入重建缓存以将整个讨论写入某个读取缓存(可能是文档数据库)中,其中存储了可以提供的格式无需进一步处理给客户。
- 我们预计每天有 250MB 的新数据或每分钟 1000 个请求(90% 读取)。
- 在comment_vote 中,我们应该以某种方式确保对于特定评论,每个用户最多有1 票。
- db 使用 DiscussionId 键进行分片,并且我们的数据库集群具有任意数量的节点
1./ 这种布局在现实中能走多远?我的意思是,我们这里只有 3 张桌子。有没有明显的瓶颈?比如重建索引,一些表级锁定,......在表中的每个插入上,应该有数百 GB 甚至更多?
2./ 将文档数据库也用于写入是否更合理,因为例如他们可以为较小的零件处理更好的物理锁定?
3./ 还有其他想法/更好的解决方案吗?
非常感谢。
【问题讨论】:
-
使用Master - Slave Replication架构;将所有读取查询定向到从服务器;而 DML 操作掌握。
标签: mysql scalability high-availability