上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

10-唐成-我为PostgreSQL生态开发的几个开源软件.pdf

编号:155549 PDF 22页 947.18KB 下载积分:VIP专享
下载报告请您先登录!

10-唐成-我为PostgreSQL生态开发的几个开源软件.pdf

1、我为PostgreSQL生态开发的几个开源软件唐成中启乘数科技&联合创始人01.01.我做开源软件的一个历程我做开源软件的一个历程02.02.开源连接池软件开源连接池软件ZQPoolZQPool03.03.开源开源PostgreSQLPostgreSQL高可用软件高可用软件CLupCLup04.04.几个开源小工具几个开源小工具如把表永远cache在文件系统缓冲中的工具filecache,清理一个文件的缓冲的工具fincache,拷贝数据块的工具blkcpy,修改数据块中事务状态的工具pg_fix分享内容分享内容PART 01:PART 01:我做开源软件的一个历程我做开源软件的一个历程我做开

2、源软件的一个历程我做开源软件的一个历程开源的初衷爱好编程提升自我使用开源,回馈开源一些认识开源不是免费,也可以是一个商业模式开放心态:不要担心自己开源的东西被被人抄去促进自我提升我做开源软件的一个历程我做开源软件的一个历程0102030405先做一些小的工具参与社区开发慢慢做一些功能更多的模块做开源之前,要充分了解是否已经有类似功能的开源软件在公司里做开源,与公司一起成长PART 02:PART 02:开源连接池软件开源连接池软件ZQPoolZQPool开源连接池软件开源连接池软件ZQPoolZQPool为什么要开发为什么要开发ZQPoolZQPool?Java应用已经有了连接池C3P0、DB

3、CP,为啥还需要数据库侧的连接池软件?已经有了pgbouncer和pgpool-II,为啥需要ZQPool?先说pgpool-II:pgpool-II虽然名字中有pool,实际上起不到连接池作用?是不是很诧异?通常连接池是需要解决到数据库本身连接太多的问题前面到pgpool-II有1万个连接,pgpool-II到数据库中就需要有1万个连接?pgpool-II是一个伪装成连接池的读写分离的软件那么pgbouncer呢?pgbouncer是一个真实的连接池软件但其通常情况下不能减少java应用到数据库上的连接压力?为什么呢?听我给大家娓娓道来开源连接池软件开源连接池软件ZQPoolZQPool有了

4、C3P0、DBCP等等java应用侧的连接池,软件是否还需要数据库侧的连接池软件?应用的机器数目远远超过数据库机器。C3P0、DBCP等等这些应用侧的连接池并不能跨机器复用假设应用的台数300台,每台机器上的应用C3P0或DBCP的连接数给30,这样到数据库的连接数就为300*30=9000应用机器1应用机器2应用机器3应用机器n开源连接池软件开源连接池软件ZQPoolZQPool应用机器1应用机器2应用机器3应用机器n改进方法是在应用和数据库之间加入一个数据库侧连接池软件,假设应用的台数300台的9000个连接到数据库侧连接池软件上,然后连接池软件通过连接复用的机制,把连接从9000个聚合成

5、300个,然后再连接到数据库上,这样就大大的降低了数据库上的连接数。数据库侧连接池软件pgpoolpgpool-II:II:一个伪装成连接池的读写分离的软件一个伪装成连接池的读写分离的软件应用到pgpool-II有1万个连接,pgpool-II到数据库中也会产生1万个连接也就是pgpool-II不能减少到数据库上的连接pgpool-II目前主要做为透明读写分离的软件使用?pgbouncerpgbouncer的缺点的缺点两大缺点:难以减少java应用到数据库的连接数是单线程程序,单个pgbouncer无法支持海量的查询pgbouncer适合于短连接应用,如php使用了高性能的libevent,单

6、线程内处理的效率是很高的,如果超过了单核性能,会立即进入瓶颈pgbouncerpgbouncer难以难以减少减少javajava应用到数据库的连接数原因应用到数据库的连接数原因与绑定变量有关,jdbc执行SQL是分两个步骤的:先使用Prepare的SQL,即:“prepare S_1 as select*from test01 where id=$1;”然后再“execute S1(1);”这两个步骤必须一个连接中执行,但pgbouncer连接池不能跟踪的这两个步骤,有可能把这两个步骤分到两个不同的数据库连接中执行,导致了执行错误org.postgresql.util.PSQLExceptio

7、n:ERROR:prepared statement S_1 already exists 而ZQPool通过跟踪这两个步骤,解决了此问题。ZQPoolZQPool解决了解决了pgbouncerpgbouncer单核单核不支持高并发查询的缺陷不支持高并发查询的缺陷在一台2颗 Intel(R)Xeon(R)Silver 4210R CPU 2.40GHz的物理机上做的测试:使用命令:pgbench-h 10.197.160.18-p 6432-Uu01 -S-P 2 -T 30-c 32pgbouncer最多到3万每秒就上不去了。ZQPool的tps可以到10万每秒PART 03:PART 03

8、:开源开源PostgreSQLPostgreSQL高可用软件高可用软件CLupCLupCLupCLup是一款是一款开源的带开源的带WEBWEB管理界面的高可用软件管理界面的高可用软件特点:WEB界面简单易用除高可用用功能外,还有一些其它的功能:启停数据库修改数据库的参数.开源开源PostgreSQLPostgreSQL高可用软件高可用软件CLupCLup对比维度RepmgrPatroni+etcdCLup软件性质开源软件开源软件开源软件支持情况国外支持国外支持国内支持PostgreSQL版本的适用限制PostgreSQL9.3及以上版本PostgreSQL 9.4以上PostgreSQL9.5

9、以上操作系统不支持windows,不支持国产操作系统,支持CentOS、Rhel、Debian,不支持windows,不支持国产操作系统,支持CentOS、Rhel、Debian,不支持windows,支持CentOS、Rhel、Debian以及国产操作系统UOS、银河麒麟容灾管理无,切换后,需手工调整无,切换后,需手工调整有,切换后无需任何手工工作级联流复制的管理功能无弱强,任意级联关系,管理简单WEB管理不支持有限支持,二次开发支持多套集中管理不支持不支持支持是否有VIP无,需自己写脚本无,需自己写脚本是,自动开源开源PostgreSQLPostgreSQL高可用软件高可用软件CLupCL

10、up对比维度RepmgrPatroni+etcdCLup切换方式自动/手动自动/手动自动/手动切换可靠性中等,Repmgr整个程序是部署在数据库主机上,如果主机出现问题,Repmgr探测进程可能会不可用中等,etcd是golang编写的,而patroni是python写的,etcd的python客户端有一些问题,在特殊的网络与etcd的配合不是太好高,通过连接主库去更新心跳表是否成功来判断数据库是否可用复杂切换逻辑的支持弱,需要自己写脚本无强FailBack(原主库重新加回集群)手工,需要写脚本,操作有一定的风险手工,需要写脚本,操作有一定的风险一键加回,无风险。配置复杂度中等1 安装Repm

11、gr包2 配置Repmgr参数文件复杂在参数文件中配置集群的名称监控地址、集群切换的时间点、PostgreSQL数据库的信息等十几个配置参数即可启动。参数文件为平面文件,使用与Python相同的缩进格式。WEB向导,简单备机可用性备机只读备机只读备机只读,自动负载均衡查询功能备机提供只读服务弱,高可用切换后需要自行处理只读服务弱,高可用切换后需要自行处理只读服务可提供只读VIP和负载均衡切换时间3分钟30秒30秒故障环境是否可自动恢复机可靠性否是,但有风险。默认可自动进行修复,可实现基于主节点自动恢复,即使备机数据文件全部删除,也可自动恢复,不需要人为干预。是,无风险。默认为手动一键恢复,也可以设置为自动进行修复。ssh通道安全需要打通主备库机器之间的ssh免密登陆,有一定安全风险无需要打通主备库机器之间的ssh免密登陆无需要打通主备库机器之间的ssh免密登陆,无安全风险PART 04:PART 04:几个开源小工具几个开源小工具几个开源小工具几个开源小工具asbench https:/ sysbench 同样的测试模型,可以同时测试oracle、postgresql、mysqlodbc_fdw的改进版本https:/ https:/ https:/

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(10-唐成-我为PostgreSQL生态开发的几个开源软件.pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部