常见的是分库分表 分表有什么常见的解决方案? 分库的话怎样解决查询问题?
1
tamer 2018-07-12 22:56:00 +08:00 via Android
亿级流量网站架构核心技术,张开涛
|
2
yanaraika 2018-07-12 22:59:43 +08:00
8102 年了别手动 sharding 了,尝试下 TiDB 等 NewSQL 解决方案
|
3
my3157 2018-07-12 23:02:57 +08:00 2
我的理解是关系型数据库, 可以试试以下两种方案
增加硬件配置 磁盘 HDD 换 SSD, 内存翻倍 单点 ==> 集群 以 mysql 为例, 有很多集群解决方案, 各种云厂商也有云服务, 推荐两种, 一种是 mysql 原生的集群, 主从集群, 同步或异步复制, 可以读写分离提高性能, 不过 client 得做相应的处理, 大多数 client 应该都是支持的, 或者采用 percona cluster, 多主, 也非常成熟, 客户端不用做任何处理 单库 ==> 多库 先把表分下类, 放到几个单独的数据库, 分类的时候注意, 关联性比较强的, 比如需要做关联查询的可以放一个库, 反正就是先别急着横向分表, 后续一大堆麻烦事, 不要轻易尝试, 建议先从以上三个方案着手 |
4
micean 2018-07-12 23:15:38 +08:00
得先从自身找原因吧
慢是慢在哪 |
5
msg7086 2018-07-13 07:21:47 +08:00
也可以看看有些复杂的查询能不能让程序而不是数据库来解决。
比如有些表连接就可以拆分成两个查询然后在程序端组装,这样可以减轻不少数据库上的压力。 |
6
limuyan44 2018-07-13 07:43:51 +08:00 via Android
先查业务,或者看能不能套个缓存,再加配置,加不了配置就加节点。还不行就换个程序员试试,
|