OneSQL for PostgreSQL

100%应用兼容,OneSQL在PostgreSQL开源版本基础上进行定制。融合了十多年在互联网电商与支付行业的数据库管理和架构经验,优化PostgreSQL在高并发连接下的性能和稳定性,使得更多的客户可以享受到互联网行业开源数据库的技术红利。仅需要安装OneSQL for PostgreSQL软件包,并用原有的数据文件进行起动,无须进行数据导入导出。正在使用PostgreSQL数据库,并且遇到性能或连接数过高等并发问题困扰的用户,强烈推荐测试和偿试OneSQL分支,无须额外增加pgbouncer/pg pool等Proxy层,无效重起切回源生版本即可。

资源隔离机制,OneSQL内置多个运行队列,可以将数据库操作按类型进行并发控制,以避免读写相互干扰,或者复杂的SQL语句将资源用尽,影响业务稳定性。此功能对应用完全透明,无须更改任何应用代码,也不需要应用对不同操作进行排队,简化应用开发要求,提升系统稳定性。有效节约CPU资源,使得单物理机可布署更多的PostgreSQL实例。

并发控制机制,OneSQL可以限制并发工作的连接数,从而做到数千连接下性能衰减不超过20%,从而杜绝高并发请求下的应用雪崩,影响业务连续性。此功能对应用完全透明,无须更改任何应用代码,也不需要应用对不同操作进行排队,简化应用开发要求,提升系统稳定性。热点商品队列可以在关系数据库上完美解决高并发和数据准确性的问题,确保库存或账户余额准确性。

Prepared模式

OneSQL For PostgreSQL引入了OneSQL for MySQL的多队列线程池,可以让PostgreSQL在CPU资源不够并且高并发的情况下,无需引入独立的PG Pool或PgBounder等中间件,就可保持稳定优异的性能。

使用pgbench工具进行事务模式测试,采用Prepared协议,scale参数为50。结果如图所示,当压测的并发连接数从256上升到2048的过程中,开源版本性能急剧下降,而OneSQL定制版本只是缓慢下降,到2048个并发时,仍有非常高的并发性能。

采用OneSQL定制版本解决高并发性能问题,对应用完全透明,无须应用做任何修改,对应用也无任何限制,可以让PostgreSQL更加适应互联网高并发业务场景。

/

Extended模式

/

OneSQL For PostgreSQL引入了OneSQL for MySQL的多队列线程池,可以让PostgreSQL在CPU资源不够并且高并发的情况下,无需引入独立的PG Pool或PgBounder等中间件,就可保持稳定优异的性能。

使用pgbench工具进行事务模式测试,采用Extended协议(模拟官方JDBC协议),scale参数为50。结果如图所示,当压测的并发连接数从256上升到2048的过程中,开源版本性能急剧下降,而OneSQL定制版本只是缓慢下降,到2048个并发时,仍有非常高的并发性能。

采用OneSQL定制版本解决高并发性能问题,对应用完全透明,无须应用做任何修改,对应用也无任何限制,可以让PostgreSQL更加适应互联网高并发业务场景。

Simple模式

OneSQL For PostgreSQL引入了OneSQL for MySQL的多队列线程池,可以让PostgreSQL在CPU资源不够并且高并发的情况下,无需引入独立的PG Pool或PgBounder等中间件,就可保持稳定优异的性能。

使用pgbench工具进行事务模式测试,采用Simple协议(直接拼接SQL语句,类似MySQL数据库),scale参数为50。结果如图所示,当压测的并发连接数从256上升到2048的过程中,开源版本性能急剧下降,而OneSQL定制版本只是缓慢下降,到2048个并发时,仍有非常高的并发性能。

采用OneSQL定制版本解决高并发性能问题,对应用完全透明,无须应用做任何修改,对应用也无任何限制,可以让PostgreSQL更加适应互联网高并发业务场景。

/

秒杀场景

/

OneSQL For PostgreSQL引入了OneSQL for MySQL的多队列线程池,可以让PostgreSQL在CPU资源不够并且高并发的情况下,无需引入独立的PG Pool或PgBounder等中间件,就可保持稳定优异的性能。

OneSQL For PostgreSQL在秒杀场景下(DML集中在少数行上)也有着相当优异的表现。模拟测试工具为sysbench,场景为update non index,表数量为1,记录数为10。测试结果如图所示。 OneSQL定制版本可一直维持非常稳定的TPS值,而源生版本的表现则是极差,相对有数十倍的提升。