postgresql 中间件pgoneproxy支持范围(range)分库分表 http://my.oschina.net/u/918218/blog/715768

 

今天来给大家讲解下postgresql数据库的商业中间件pgoneproxy支持范围分表的问题。这种分表的方式在很多场景中会被使用到。比如在电商,电信等行业,需要把每个月的数据存放到不同的月份,就可以使用range这个功能。

先看看针对一级分表的情况下的配置情况:

上面配置的含义是:id<100的存放到trange_100这张表中,id >=100并且id < 1000的数据存放到trange_1000的表中。

如果需要根据时间来配置范围,则需要修改type为timestamp。再修改value为对应的时间即可。

在很多场景中需要二级分表,比如在电商行业中,需要把用户编号为0结尾的用户在7月份产生的订单放到以_0_201607结尾的表中。下面讲解的例子没有以这种场景来讲解,举了用户注册信息的例子,同样按照用户编号和年份分割。配置如下所示:

通过上面的配置来创建bigrange 表,则可以得到如下所示的表:

根据配置是需要把在2015-01-01 00:00:00以前的用户放到bigrange_0_2015或者bigrang_1_2015的两张表中。在2015-01-01 00:00:01~2016-01-01 00:00:01注册的用户存放到bigrange_0_2016, bigrange_1_2016的两张表中。

下面是简单的操作bigrange表的情况:

更多请访问平民软件的官方网站。