架构设计互联网系统架构与应用

高并发,大数据量系统的数据结构优化思路

2018-06-14  本文已影响213人  fantuanjiaozi

1.互联网浪潮面临的问题

大数据量

设计及测试阶段,由于数据量小,很难发现薄弱之处。

高并发

系统投产初期,由于负荷低,可以满足常规的使用要求,不易发现问题。

随着业务量逐渐增大,各种营销活动的开展。数据性能问题成为系统运行的主要瓶颈。

2.常规的解决手段

2.1数据库连接池

2.2读写分离

2.3数据库设计

2.3.1分库分表

水平拆分
拆分原则:3年内,oracle单表达2000w,mysql单表达500万
垂直拆分
拆分原则:按业务

2.3.2适度的反范式设计

2.3.3尽量不用sequence做主键

2.4优化查询

第1级:订单数据和支付流水数据;这两块数据对实时性和精确性要求很高,所以不添加任何缓存,读写操作将直接操作数据库。

第2级:用户相关数据;这些数据和用户相关,具有读多写少的特征,所以可使用redis进行缓存。

第3级:支付配置信息;这些数据和用户无关,具有数据量小,频繁读,几乎不修改的特征,所以我们使用本地内存进行缓存。

3.微服务面临的问题

3.1数据一致性问题

推荐消息确保和saga

3.2连接数过多问题

4.附录

数据类型对比

Mysql Oracle Java 说明
BIGINT NUMBER java.lang.Long
CHAR CHAR java.lang.String 定长
DECIMAL NUMBER java.math.BigDecimal 金额(分)
VARCHAR VARCHAR2 java.lang.String
FLOAT FLOAT java.lang.Float
INT NUMBER java.lang.Integer
TIMESTAMP TIMESTAMP java.sql.Timestamp

参考资料:https://blog.csdn.net/chenpeng19910926/article/details/51789934

上一篇 下一篇

猜你喜欢

热点阅读