机票业务(单实例 2700万行/s return)数据库架构设计 - 阿里云RDS PostgreSQL最佳实践

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

机票业务(单实例 2700万行/s return)数据库架构设计 - 阿里云RDS PostgreSQL最佳实践

德哥 2017-07-29 22:28:36 浏览1944
展开阅读全文

背景

机票业务的某个模块,数据量10亿+,写、更新、删除量较低。根据KEY查询一些数据,每次查询返回1万条左右的记录。

就是这样简单的需求,业务方发现读成为了巨大的瓶颈,每次返回1万条,100个并发请求,每秒就是100万条(500MB左右),主要的瓶颈:

1、网络是个较大的开销。

2、不同KEY的数据可能是分散存放的,存在查询时的IO放大,可能有一定的性能影响。

3、每次请求的返回记录数较多,数据库search buffer调用可能开销会上升。

就这几个问题,我们来看看如何优化或解决业务方的问题。

建模

1、建表

create table test(    
  id int,       
  info text,    -- 一些属性,我这里用一个字段代表它     
  typeid int,   -- 类别,也是用户的查询过滤条件,约10万

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB