blog/201801/20180121

PostgreSQL,阿里云,产品介绍,生态,案例,开发实践,管理实践

PG是一个纯社区化的企业级开源数据库,没有任何一个国家和公司控制PG。开源许可非常友好,在遵循许可(COPY2段话)的情况下可以任意使用和分发。功能、稳定性、性能和ORACLE对齐,是去O的首选数据库。

其他大多数的开源数据库背后都有商业公司控制,开源许可通常不是特别友好,使用不当可能踩坑。

天天象上活动,每个月一场,全国巡回。旨在建立各地企业生态圈子,建立各地企业与PG数据库社区的联系,切实的帮助企业解决技术、商业、生态层面的问题。

xx摩擦、ZxE事件、以及近期某银行收到Oracle6亿罚单等等的热点事件,引发了企业对核心技术安全合规、自主可控的深度思考。对于数据库来说,安全合规、自主可控,成本等也已经成为绝大多数企业迫在眉睫要解决的问题。

什么数据库最适合替代Oracle,同时在技术架构上领先于传统数据库,并且可以支持企业的蓬勃发展?除了需要考虑Oracle兼容性、企业特性(可靠、可用、安全、可扩展、性能、稳定、功能)还需要考虑产品的开源许可,多模特性,混合场景能力等等。

PostgreSQL作为最先进的企业级开源数据库(BSDlike开源许可,自用和分发都不需要担心法律风险,不需要担心PG被收购,不用担心PG被一家独大的公司控制。),覆盖OLTP,OLAP,NoSQL,搜索,时空,流,图,图像等应用场景。应用场景丰富,并且在稳定性、性能、可用性、可靠性、容灾、安全性、扩展性等方面不亚于商用数据库Oracle,被业界称为“开源界的Oracle”。在企业数据库自主可控、安全合规、成本几个方面,PG毫无疑问的成为了企业的最佳选择。

2018年9月开始,《PG天天象上》活动陆续在“杭州,北京,郑州、广州、深圳、上海、南京、合肥、长沙、成都、温州、武汉”等多地开展,活动在线上与线下覆盖人数已达数万人次,出席活动的参会者汇聚了银行,证券,互联网,人工智能,高校,医疗,新制造,电商,游戏,政府,电力,物流等行业的开发者,DBA,架构师,CTO,CIO。

欢迎就近选择参加。

2、阿里云ADAM+PPAS(POLARDBforOracle)的企业去O实践

3、PostgreSQL数据库架构、原理(物理架构、进程结构、逻辑架构、流复制架构、HA架构、多副本架构;权限体系、存储引擎原理、索引结构等)。

4、PostgreSQL理论基础,管理、开发实践,优化方法,PG学习参考资料

5、PostgreSQL在OLTP|OLAP、空间数据管理、图式搜索、全文检索、文本搜索、特征搜索、时序应用、流式数据处理、用户画像分析等场景的应用案例。

案例横跨物联网、电商、生物科技、游戏、传统企业、CRM、ERP、ZF、GA、物流、音视频、BI、社交、金融、证券、手机、天文等行业。

8、企业深入圆桌研讨会议,企业数据库辩论赛

涉及内容较多,案例涉及到详细的架构设计、代码、原理等内容,请参阅本视频提供的PDF内的URL链接。

PostgreSQL中国社区发起人之一、常委、兼任社区大学校长。

30项数据库专利。(截至2018-01)

致力于PostgreSQL数据库在中国的技术落地与推广、人才培养。

重要议题:阿里云PG产品线生态介绍,PG案例,PG的原理、应用场景、优化、管理等内容等。

报名人数:80

参会企业:阿里巴巴、海康威视、亚信、乘数科技、天宇、浙江大学、斯凯网络、大树金科、点我达、中国电信、民生银行、网易、火树医疗、同花顺、等。

参会企业:阿里巴巴、北京联通、邮储银行、华胜天成、优炫软件、炫果壳、四维图新、海康威视、金风科技、中国人寿、国交信通、EnjoyIT、京东、海量数据、智联招聘、神州飞象、万达、南天软件、超图、去哪儿、汽车之家、英泰伟业、华为、九天气象、东方龙马、CETC、云能服、Ylink、等。

报名人数:36

参会企业:阿里巴巴、上海新炬、中原银行、郑州大学、华三、博茂、北京国源、中盟股份、富士康、中移在线、北京许继、华中科技大学、众合景轩、税友、亚信、北京辰安、河南优蓓教育、新天科技股份、郑州商旅、等。

报名人数:69

重要议题1:阿里云PG产品线生态介绍,PG案例,PG的原理、应用场景、优化、管理等内容等。

重要议题2:阿里ADAM+PPAS去O方法论,Oracle迁移上云实践。

重要议题3:企业深入圆桌研讨会议。

参会企业:阿里巴巴、广州云图、网易、玄武、鼎信、广州彩讯科技股份、诺基亚、广东粤铁天福、广州人瑞、万科、广东三维家、北京中亦、等。

报名人数:103

重要议题2:阿里ADAM+PPAS去O方法论,实践。

参会企业:阿里巴巴、人民银行、穆迪信息咨询、华润电力、Morningstar、白骑士、海量、库博商务、金智、亚信、万科、华海乐盈、平安科技、中兴、招商金融、富璟、深圳证券交易所、中国移动、华润银行、人寿保险、大疆、顺丰科技、华为、金蝶、TCL、IBM、恒大等。

报名人数:88

重要议题3:HELLOBIKE,周飞,PG在HELLOBIKE的应用实践。

重要议题4:上海云贝网络科技有限公司,张勤建,PG在电商平台运营决策系统中的应用实践。

重要议题5:乘数科技,董红禹,医疗行业从MSSQL到PG的迁移实践。

重要议题6:企业深入圆桌研讨会议。

参会企业:阿里巴巴、迪卡侬、HELLOBIKE、上海云贝、乘数科技、同花顺、宝胜科技、爱用宝、人保、东方航空、聚水潭、爱树、华东师范、上交所、嘉银金融、银嘉金服、MBB、松鼠AI、易鲸捷、润和、新炬、航信、真旅、小红书、兴业银行、汇信、美味、FP等。

线上线下2200余人次参加。

报名人数:330

重要议题1:PostgreSQL社区生态建设、工作汇报

重要议题2:阿里云PG产品线生态介绍,PG案例,PG的原理、应用场景、优化、管理等内容等。

重要议题3:阿里ADAM+PPAS去O方法论,Oracle迁移上云实践。

重要议题4:天数智芯,赵志强,工业时序数据平台的设计与应用实践。

重要议题6:苏宁,陈华军,PGcitus分库分表架构在苏宁的大规模应用。

重要议题7:中兴,陈河堆,PostgreSQL基于PaaS平台的高可用集群方案。

重要议题8:北京国网富达科技,梅白帆,PostGIS在地理信息行业中的应用。

重要议题9:企业深入圆桌研讨会议。

参会企业:阿里巴巴、中兴、苏宁、亚信、华米科技、三只松鼠、中软、veritas、科大讯飞、新蛋、中石化、南京大学、中科大、南京邮电、南京信息学院、南京理工、南京师范、南京财经、南京工业大学、南京航空航天大学、汉得、神州数码、江苏电信、国家电网、南瑞、IBM、中国电科研究院、百度、云和恩墨、远景、天数智芯、中车、恒舜金融、润和、苏宁银行、等。

线上线下700余人次参加。

报名人数:147

重要议题4:杭州乘数科技,唐成《为什么PostgreSQL是最适合去O的数据库》

重要议题6:PG中国社区主席,赵振平《数据泄露事件与PostgreSQL安全防护》

重要议题7:企业深入圆桌研讨会议。

参会企业:阿里巴巴、邮储银行、农业银行、科大讯飞、惠而浦、思科、国科量子通信、汉和智能物流、云易智能、鸿数科技、CXMT、中国科技大学、省交通运输厅、美林数据、海量、碧桂园、瀚高基础软件、阳光电源、上海大智慧、长鑫存储、上海博辕、神州数码、南瑞、财汇资讯、华米科技、华胜天成、新炬、广博量子、等。

线上线下1000余人次参加。

企业深入圆桌研讨会议小结:

1.1、数据库免维护(软件开发商关心这个问题,可以低成本大批量部署,维护成本低)、

1.2、业界标准的HA方案(企业通用问题,PG可选的HA方案太多,什么好?个人建议用patroni,成熟可靠),

1.4、大数据量(30TB级)场景是否可用PG,可以,PG本身就是HTAP企业级数据库(能同时满足oltp,olap),只要硬件满足即可能存,能跑得很好。(未来在xid,zheap两个方向改进后会更进一步)

1.5、已有很多中小企业拿PG用于分析业务,

2、成立合肥PG分会,选拔来自邮储、长鑫存储(三星量级芯片生产商)的6位志愿者。由到京带领。

报名人数:1xx

重要议题3:阿里云ADAM+PPAS去O方法论,Oracle迁移上云实践。

重要议题4:神州飞象,杨栋《PostgreSQLHA方案patroni》

重要议题5:PG中国社区主席,太阳塔科技,赵振平《Oracle与PostgreSQL对比学习》

重要议题6:企业辩论赛。

参会企业:阿里巴巴、三一重工、飞象科技、太阳塔、天闻数媒、隆平高科、创友数码、郑州大学、华中科技大学、高阳、上海屹恒、科创医疗、京柏医疗、果壳信息、。。。等。

企业辩论赛回顾:

1、PostgreSQL的count如何加速?

方法1:通过pg_stat_all_tables.n_live_tup可以直接得到当前表的记录数。适合高速全表count()

postgres=#showtrack_counts;track_counts--------------on(1row)selectn_live_tupfrompg_stat_all_tableswhererelname='a';方法2:通过流计算,实时COUNT。例如pipelinedb插件,适合任意count,支持条件过滤、分组等预计算。

方法3:通过并行计算,适合任意count,条件过滤、分组。并行后提速非常明显。

讨论中也提到了MySQL,MySQL并没有并行计算,但是myisam引擎支持较快COUNT全表,不过要注意的是:myisam不支持并行计算,不支持流计算,不支持带FILTER、带GROUP、带DISTINCT的快速count。不支持hashagg,hashjoin等。已经基本上被MYSQL废弃,现在推荐使用innodb引擎。(注意不能因为count快就选择对应的存储引擎,要全盘考虑,包括并发能力,事务能力等。)

摘自互联网:1.myisam保存表的总行数,因此count(*)并且无where子句,很快会返回表的总行数2.myisam保存表的总行数,利用count(column)并且无where子句,并且此column不为null,很快会返回表的总行数3.myisam保存表的总行数,利用count(column)并且无where子句,并且此column可以为null,mysql会对表进行全表或全索引扫描来确定行数4.innodb查询count(*),count(column(notnull)),count(column(maybenull))并且无where子句,mysql会对表进行全表或全索引扫描来确定行数5.myisam和innodb查询count(*),count(column(notnull)),count(column(maybenull))并且存在where子句,mysql会对表进行索引扫描(如果列上有索引)2、大数据,实时计算。适合用什么产品解决?

citus,gpdb都可以.

3、undo,多版本的优劣势。

undo问题:回滚慢,并发较多版本略差,老版本多时访问老版本链条较长,UNDO文件膨胀。

MVCC问题:数据文件可能会膨胀(当表的更新非常多时),索引膨胀(通过HOT技术解决)。

4、PG集群、分片、容灾技术

HA,(patroni)

分片,citus

容灾,流复制

读写分离,pgpool-II

多副本,quorumbasedreplication

5、现场演示了杀掉oracle进程,ORACLE会崩溃。杀掉PG非守护进程,PG数据库会自动启动。如果杀死PG守护进程,如何让PG自动恢复?

首先杀掉PG非守护进程,PG数据库会自动启动。实际上是守护进程的自动恢复功能。postgres=#showrestart_after_crash;-[RECORD1]-------+---restart_after_crash|on可以使用守护进程的守护进程,例如CRON。解决守护进程被杀后不会自动恢复的问题。

6、OOM的问题。当发生OOM时,如何防止由于资源紧张使用时,数据库恢复后,由于资源紧张,进程被不断反复OOM。

cgroup,docker隔离。

HUGEPAGE,解决hashtable问题.

oomadj,设置为不被OOM:PG进程。

如何防止不发生OOM(或尽量避免OOM):

连接池,减少连接数

分区表,减少分区数,访问分区表时,可以减少syscache

内核,使用更多的共享对象(例如syscache,relcache)

设置wal_keep_segments参数,

使用replicationslot

使用归档,都可以。

报名人数:41

重要议题2:阿里云POLARDBOracle兼容版介绍

重要议题3:阿里云PG产品线生态介绍,PG案例,PG的原理、应用场景、优化、管理等内容等。

重要议题4:阿里云ADAM+PPAS去O方法论,Oracle迁移上云实践。

重要议题5:企业辩论赛。

参会企业:阿里巴巴、平安科技、中国人寿保险、成都达测(EDB中国总代)、新华传媒、测绘院、达州广播电视大学、成都派沃特科技股份有限公司、人大金仓、四川融科智联科技、、。。。等。

找到造成CPU100%的进程号,以及对应的父进程,发现父进程为数据库postmaster进程,所以断定是PG发起的进程。

排查pg_stat_activity没有发现对应会话,开启连接审计,排查pg_log的日志,找到了诡异的连接记录,同时发现数据库被创建了几个非业务用户,同时通过大对象植入了C代码到PG实例中,创建了一些异常函数(死循环,一直耗费CPU)。

显然数据库可能被黑。

升级PG版本解决,同时建议pg_hba.conf(数据库ACL配置)不要开放0.0.0.0即使需要开放0.0.0.0也不要开放所有用户,建议限定普通用户通过远程连接。

2、用户使用MYSQL时,发现跑groupby,即使数据量只有百万级别,也要跑很久很久。而换到PG后,即使数据表有千万甚至亿级别,也可以秒出结果。为什么?

PG支持更好的聚合方法,HASHAGG,GROUPAGG,同时支持更好的并行计算能力,使得PG在处理大量数据的时候,比MYSQL占优很多,与ORACLE并肩。

3、PG的SQL执行过程?

解析用户协议包

parsersql

判断是否为DML,DSL的请求,如果是则

rewritequery

generatepath

generateplan

jit(可选)

executeplan

如果是绑定变量的请求:

bindparameter

executepreparedstatement

4、如何查看SQL的执行计划。

使用explain,可以查看当前SQL的执行计划。

5、如何在plpgsql存储过程或函数中创建函数。

使用execute'SQLstring'动态调用的方法,可以在函数中创建函数。例如

postgres=#createorreplacefunctionf_test()returnsvoidas$$declarebeginexecuteformat($_$createorreplacefunctionf_test1()returnsvoidas$__$declarebeginraisenotice'test';end;$__$languageplpgsqlstrict;$_$);end;$$languageplpgsqlstrict;CREATEFUNCTIONpostgres=#\dff_test1ListoffunctionsSchema|Name|Resultdatatype|Argumentdatatypes|Type--------+------+------------------+---------------------+------(0rows)postgres=#selectf_test();f_test--------(1row)postgres=#\dff_test1ListoffunctionsSchema|Name|Resultdatatype|Argumentdatatypes|Type--------+---------+------------------+---------------------+------public|f_test1|void||func(1row)postgres=#\sf+f_test1CREATEORREPLACEFUNCTIONpublic.f_test1()RETURNSvoidLANGUAGEplpgsqlSTRICT1AS$function$declarebeginraisenotice'test';end;$function$postgres=#selectf_test1();NOTICE:testf_test1---------(1row)6、如何修改数据库ACL

通过数据库pg_hba.conf配置文件,配置数据库访问链路ACL。

7、postgresql.auto.conf与postgresql.conf的区别?

postgresql.auto.conf是数据库altersystem动态修改数据库参数的配置文件,altersystem配置的参数会写入postgresql.auto.conf,优先级高于postgresql.conf

扩展问题

为什么postgresql.auto.conf优先级高于

因为先加载postgresql.conf后加载postgresql.auto.conf,后加载的覆盖了先加载的参数。

如何配置了多个重名的参数,哪个为准?

后加载的覆盖先加载的参数。

参数配置的地方,以及优先级:

8、PostgreSQL如何防止绑定变量的执行计划倾斜。

数据库前5次执行计划都是customplan,即每一次都要generatepath,generateplan,并记录下customplan的平均成本,以及customplan发生的次数。第五次后会生成genericplan,当有新的bind时,先使用genericplan计算新的bind的cost,如果cost比customplan的平均成本相差较大(代码内写死相差的比例),则会发起新的customplan,并且统计到customplan的平均COST和计数中。

如果成本相差不大,则继续使用genericplan.

通过以上方法防止倾斜。

报名人数:50

重要议题2:PostgreSQL常用架构介绍

重要议题3:阿里云PG产品线生态介绍

重要议题4:阿里云POLARDBV2.0forPostgreSQL、Oracle介绍

重要议题5:阿里云ADAM+PPAS去O方法论,Oracle迁移上云实践。

重要议题6:PostgreSQL原理

重要议题7:PostgreSQL优化技巧

重要议题8:企业辩论赛。

重要议题1:《PostgreSQL生态与社区工作汇报》

重要议题2:《PPAS+ADAMOracle迁移上云》

重要议题3:《PostgreSQL数据库优化实践》

重要议题4:《阿里云POLARDBforPostgreSQL|Oracle产品演进》

重要议题5:《阿里云自研数据库POLARDB内核技术解读》

重要议题6:《POLARDB的DBA法宝-AAS性能洞察》

重要议题7:《云数据库时空引擎Ganos》

重要议题8:企业数据库辩论赛。

参会企业:电信、海康、武汉商学院、浪沙、海量、支付宝、阿里、壹网、vastdata、微软、大搜车、正泰、点我达、软通动力、朗新、曹操专车、杭州地铁、亚信、悠可、佰安、同花顺、博彦、数蜂、。。。等。

1、QPostgreSQL有哪些锁

A

2、QPostgreSQL有哪几种改参数的方法

altersystem|user|role|database...postgresql.confpostmaster启动参数setlocal事务级参数set会话级参数client连接时带的客户端参数3、QPostgreSQL如何强制设置SQL并行度

4、QPG还有哪些改进点

MVCC机制,PG12已支持AM接口,可以支持更多存储引擎,例如ZHEAP(垃圾版本记录在UNDO文件中,但是事务信息还是在CLOG中,所以还是需要修改hintbit或freeze释放CLOG,否则CLOG会很大)。

分区表很多时性能会下降,PG12已经改进,1000个分区时,QPS依旧可以达到50万以上。

目前存储引擎支持较少,PG12已支持AM接口,接口化之后,会支持更多存储引擎。

5、QREDO/wal文件突然暴涨,可能有哪些原因

检查点太频繁(例如checkpointetimeout,checkpointsegments,max_wal_size太小),并且开启了fullpagewrite,同时写入或更新较多,导致wal中大量fullpage产生。

产生了大量写操作

使用了SLOT,并且这个SLOT对应的接收端(比如从节点)挂了,SLOT位点不动,或者动的慢,导致REDO堆积

VACUUMFREEZE大表,或者事务消耗太频繁而且更新多,并且freeze阈值很小,导致频繁freeze产生大量日志。

maxwalsize设置很大,CHECKPOINT周期设置很长

wal_keep_segments设置很大

archive归档由外部程序完成,但是未及时修改archive_status的archive_name.ready为done,导致不清理

开启了归档,但是archcommand零食设置为空或归档失败,导致不清理.

6、Q表膨胀,可能有哪些原因

频繁修改,并且关闭了自动垃圾回收

频繁修改,并且hot_standby开启了feedback,并且hot_standby有慢事务,这些事务后产生的垃圾(老版本)无法被回收,因为可能这些更早的事务要访问这些老版本。

频繁修改,并且有长事务,很久未结束的2PC事务,慢SQL等。

频繁修改,并且关闭了自动垃圾回收参数。

频繁修改,并且这个表关闭了自动垃圾回收,或者垃圾回收的阈值设置的较大。

7、QPG连接池有哪些改进点

pgbouncer连接池,暂时只支持单CPU

pgbouncer连接池,连接复用的前提是USER\DBNAME相同,无法跨user,dbname复用。

pgbouncer连接池,如果有会话级变量,无法在不同的连接池连接之间切换,例如绑定变量。

8、QMySQL与PG的事务隔离级别区别

RU,脏读,MySQL支持,PG不支持。实际使用中脏读几乎不使用,未提交事务对数据库的修改为什么要被访问?

RC,读已提交

RR(金融行业通常会使用),可重复度,MySQL使用悲观锁实现,并发性差。PG使用快照实现(乐观),高并发性能损耗极小。

SI(金融行业通常会使用),串行事务隔离级别,MySQL使用悲观锁实现,并发性差。PG使用快照实现(乐观),高并发性能损耗极小。

SSI(金融行业通常会使用),严格串行事务隔离级别,MySQL不支持,PG支持。

9、QPG临时文件如何清理,为什么会有大量临时文件

PG临时文件是自动清理的。例如会话退出,自动清理,事务结束自动清理等。看临时文件的属性。如果有某些原因导致了临时文件未及时清理,数据库在启动是会自动进行清理。

为什么会有大量临时文件,例如跑了很复杂的SQL,包含大量数据JOIN,GROUPBY,聚合,排序,可能用到外部临时文件。又或者临时表。

又或者递归查询(数据有问题,导致死循环),会产生临时文件。

对于排序,可以加大WORK_MEM,使用quicksort,不使用临时文件。

10、POLARDB为什么限制100TB,16个计算节点。

产品设置,权衡了市场需求,以及当前架构下,提供一个安全可靠的集群规模。

报名人数:54

重要议题2:《Oracle迁移上云》

重要议题5:《POLARDB的DBA法宝-AAS性能洞察》

重要议题6:《云数据库时空引擎Ganos》

重要议题7:企业数据库辩论赛。

参会企业:斑马快跑(出行)、中移智行、武汉斗鱼、湖南图为、北京华宇信息、武汉商学院、浩星科技、唯晟商贸、爱可生、携宁计算机、海康威视、烽火通信、恒生、武汉数趣信息、武汉达梦、DXc、湖北楚天、武汉国为、太平金融、德安、传神语联网、linktime、湖北省图书馆、武汉易瑞特科技、易起飞科技、宁美国度、南京中软软件、企易共创、天玑科技、武汉通威、Farfetch、湖北电视台、今天梦想、湖北工业大学、天源迪科、。。。等。

PGplus队与PGpro队进行了激烈的角逐。问题汇总如下:

1、Qmysql如何准实时同步到PG

A使用阿里开源的Otter,解析BINLOG,使用PG语法封装SQL,在PG中回放。

用户使用cluster后,效率可以改善,有没有其他办法。

A本质的原因是用户查询的多条记录分布在HEAP表的不同PAGE里面,使得一次查询要扫描很多数据块。并发高,IO开销大,内存带宽高。

includeindex,或使用聚合存储

3、Q企业中如何权衡开发者和DBA的权限和关系,遇到开发写得烂的SQL,领导叫DBA去又不愿意。如何权衡。

A明确DBA和开发者职责和KPI,有奖有罚

定义操作规范、

定义业务上线、下线标准

定义商业化规范

附能开发者,提高开发者能力

DBA能力产品化

建立SQL审核标准

建立测试环境

建立预发环境

灰度上线

建立线上真实数据测试环境(例如备库)

4、QPostgreSQL相比其他开源数据库有什么优势

APG有GIN倒排索引,可以支持全文检索、模糊查询、相似搜索、JSON高速检索等

PG的处理能力更强,支持并行计算,高并发。支持更丰富的JOIN、聚合算法。

PG的扩展能力更强,支持专业的GIS、机器学习、全文检索、图像搜索等等。

PG是纯社区的数据库,没有被商业公司控制。

PG的开源许可更加的友好,使用无风险。有些公司的产品也开源,但是被商业公司控制,需要注意开源协议。使用需要注意法律风险。

5、Q被SQL注入了怎么办?

A尽快通知DBA,保留备份,防止扩大影响

报警,通知领导

下业务,防止扩大影响

修BUG:

应用开发使用绑定变量,不要用SIMPLEQUERY

使用WAF,应用防火墙

6、QORACLE的ASM存储,在其他生态中有没有替代产品?ASM支持块设备管理,任意损坏都不会影响可用性、可靠性。例如坏一块盘之后,数据会自动重分布,只是容量变少。1、块设备shard(extent)化2、每个shard(extent)在多个BLOCK设备之间冗余,例如3副本。3、坏盘后,自动重分布shard(extent),依旧有3副本4、对于整个ASM存储集群来说,只是容量变小,但是冗余度不变。5、加盘后,自动重分布,容量又回来了。达到的效果:不管怎么坏盘,保持rto=0,rpo=0

A分布式存储

POLARDB

polarstore

阿里云盘古

7、QPG对文本挖掘有没有好的支持?

A分词、情感词、归类,PLPYTHON,MADLib

8、Q为什么有的书籍不建议使用PG自定义函数、存储过程,建议直接写SQL,不建议用存储过程?

A首先要分清楚应用场景,千万不要断章取义。

存储过程支持自动的绑定变量,所以存储过程内的SQL执行5次后会自动缓存通用执行计划。

如果是高并发查询,建议用绑定变量。减少硬解析的开销。

如果是低并发(AP)应用,建议用SIMPLEQUERY。

存储过程里面也支持动态SQL,使用动态SQL时强制用硬解析

或者使用plan_cache_mode参数

9、Q对于数据库使用过程中,如果出现BLOCK损坏怎么办?

1、跳过损耗数据块,可以继续查询

2、通过备份修复。

没有备份的话,在REDO中找到这个数据块最近一个FULLPAGE,从FULLPAGE拷贝,加上之后这个PAGE的所有REDO进行恢复。

10、Q数据库使用过程中,经常发现“表没了”,在pgadmin查询表没了。但是在应用程序中能INSERT进去,应用是insertintotablevalues()

1、如果真的被删了,开启SQL审计,检查是谁干的.

2、search_path可能不对。在pgadmin中查看的SCHEMA下没有这个表,可能在其他SCHEMA里面。

可以在pg_class或pg_tables里面找一下,是不是在其他SCHEMA里面

11、Q深圳中电的业务,很多智能电表上传数据,由于数据量太大,使用了按天分区,但是表分区太多了,查询慢。

APG12原生分区表,性能已经基本无损。

老版本使用pg_pathman,性能也基本无损。

最后PGplus队胜出。

报名人数:188

重要议题2:《PostgreSQL数据库优化实践》

重要议题3:《阿里云POLARDBforPostgreSQL|Oracle产品演进》

重要议题4:《POLARDBforPG内核解析》

参会企业:瀚高、浪潮、济南联桥、涌之汇、第一创客、VigorJourney青年文化社区、济南森魔、济南英网、联通(山东)产业互联、山东英网、阔想、中国移动、福生佳信、济南长扬智能、betterman、wigix、上海格尔、济南智学酷信息、北京眼神、济南长扬智能、山东华链医疗、山东省城市商业银行合作联盟、山东云天安全、艾佳猫科技科技公司、ARM、济南别样信息科技有限公司、北京爱国小男孩、山东诺方电子、山东蓝瑞、山东省城市商业银行、斯陶、山东联房、顺势鸟、山东电邦、上海新炬、新华医疗、山东路基、大鹏教育、通九湾金融、中科软、中翼物联、神州数码、河南明希供应链、浪潮国际、山东英才、北京青苔、山东金穗林大数据、cmcc、人寿保险、优讯信息、山东大众海蓝、济南品盛软件、积成能源、山东图南、中国联通软件研究院、山东微讯信息咨询有限公司、山大地纬软件、山东捷构、leSu、TELD、山东众阳、山东领亿、山东优加利、德华安顾人寿、明日之星、知金大鹏、。。。等。

大象队与蜂巢队进行了激烈的角逐。问题汇总如下:

1、Q长事务对ORACLE和PG的影响

ORACLE:UNDO膨胀,如果挂了,恢复可能会比较慢。

PG:长事务开始之后产生的垃圾,无法被回收。可能导致表膨胀。同时可能导致VACUUM无用功耗费CPU和IO。

2、QPG如何实现PG两地三中心。

使用流复制创建两地三中心结构。quorumbasedsyncreplication。

3、QPG如何做HA

patroni

4、QPG如何做负载均衡

读写分离:pgpool-II(建议只用pgpool-II做读写分离,不要用它做复制,不要用它做HA)

写负载均衡建议使用citus,antdb。

5、Qredis4的版本删除大的KEY为什么慢。

我们知道Redis的工作线程是单线程的,如果一个command堵塞了,那所有请求都会超时,这时候,一些骚操作也许可以帮助你。

其实如果想删除key,可以分解成2个目的,1:不想让其他人访问到这个key,2:释放空间。

那其实我们可以分解成两步,先用RENAME把原先的keyrename成另一个key,比如:

RENAMEuserInfo:123"deleteKey:userInfo:123"然后可以慢慢去删"deleteKey:userInfo:123",如果是set,那么可以用SREM慢慢删,最后再用DEL彻底删掉。

这里可以搞个task去SCANdeleteKey:*,然后慢慢删除。

6、Qredis5通过什么方法加速查询,原理是什么。

7、QPostgreSQL的geometry的数据如何被maxcompute使用。

使用geojson,主要是maxcompute目前只能识别geojson.无法识别wkt格式。

8、Qoracle里面的arcgis类型,使用某些数据同步工具(HVR)同步到其他产品,发现在写入目标ORACLE后丢精度。为什么?

建议查看目标端写入代码,可能是写入过程中丢精度了。

8、Q建索引的时候会堵塞DML,PG怎么避免

reindex或createindex的时候使用CONCURRENTLY

tablespace压缩,使用文件系统压缩。例如ZFS。

列存储引擎,压缩。toast压缩。等。

table垃圾空间压缩,vacuumfull或pg_repack在线压缩。

10、Q阿里POLARDB如何解决PG的写审计日志性能问题

写日志使用单线程pipe改成了多线程,解决了写性能问题。几乎没有性能影响。

参与人数:2800

企业圆桌深入研讨,相比传统IT峰会,对企业来说可以摄取更多信息量。

长远影响预计:1万+人次

每周在PG钉钉群直播,欢迎加群。

PostgreSQL与GPDB在OLTP|OLAP、空间数据管理、图式搜索、全文检索、文本搜索、特征搜索、时序应用、流式数据处理、用户画像分析等场景的应用案例。

“新零售、共享单车、生物科技、网站、企业CRM、新零售、医疗、GA”等行业应用案例,业务痛点以及数据库“多值类型、UDF、全文检索、模糊搜索、相似搜索、多字段任意搜索、sharding、异步并行”等技术的应用。

“电商、导购、新零售、搜索、数据分析、数据运营、金融、物流、物联网、LBS、导航、智能配送、稽侦、旅游、舆情、风控、医疗”等行业应用案例,业务痛点以及数据库“数组、文本特征、图片特征搜索,多值标签搜索、BITMAP搜索、时序数据搜索、时序数据实时统计、空间数据管理、电子围栏、KNN搜索、实时位置更新、路径规划、点云,文本情感词挖掘,PythonUDF,图式搜索、递归查询”等技术的应用。

“共享充电宝实时经营分析、电商秒杀、实时用户画像、实时业务监测与聚合、流式预警、多机房业务部署”等行业应用案例,业务痛点以及数据库“容灾、逻辑订阅、物理订阅、单元化、sharding,外部表,DBLINK,批量流计算、实时流计算、HLL估值计算,秒杀,ltree,RTREE”等技术的应用。

阿里云PostgreSQL,PPAS产品开发、管理实践,包含“SQL防火墙、资源隔离、AWR、VPD、物化视图、分页、数据清洗与转换、数据采样、加密、约束、去重、模糊查询、并行计算、批量DML、索引接口的选择与原理、ADhoc查询优化、函数稳定性原理、并发索引”等内容。

阿里云PostgreSQL,PPAS产品开发、管理实践,包含“SQLHINT,TOPSQL,慢SQL诊断,执行计划,plpgsql函数诊断与DEBUG,判断有无,事务可靠性与性能设置,RDSPG资源管理,防雪崩,DDL操作建议,锁等待,限制慢SQL并发,杀会话和SQL,防DDoS和暴力破解”等内容。

阿里云PostgreSQL,PPAS产品开发、管理实践,包含“数据同步,数据订阅,跨库访问,外部表,分区表,定时任务,执行计划,CBO成本因子,优化器,JOIN优化,遗传算法,递归查询,图式搜索,空间查询优化,空间索引,空间数据库使用建议”等内容。

阿里云PostgreSQL,PPAS产品开发、管理实践,包含“数据老化实践、多级存储、冷热分离、数据库逻辑架构、数据库权限体系、服务端编程、行级、列级权限、数据膨胀的原理、监测、预防、处理,FREEZE原理、FREEZE风暴、预防FREEZE风暴,分区建议,可定义SLA的备份与恢复设计,跨版本升级,数据库监控指标与监控手段,多实例管理,海量测试数据的构造,压测数据库,从其他产品迁移到PostgreSQL”等内容。

阿里云HybridDBforPostgreSQL产品开发、管理实践,包含“实时、批量ETL,数据写入性能优化,分布键、分区键的原理和选择,行存与列存的原理和选择,数据重分布原理与多阶段计算介绍”等内容。

阿里云HybridDBforPostgreSQL产品开发、管理实践,包含“分级存储,索引接口的原理和选择,统计信息调度,队列管理,执行计划阅读,METASCAN,大吞吐数据导入导出,滑窗分析,数据倾斜的查看和预防,锁等待,数据膨胀和清理,行存列存格式转换,数据类型的选择建议,连接池”等内容。

参考文档、视频、软件等,包含“开发规约、产品选择文档、产品文档,图形化管理软件,开发驱动,社区文档,开发者指南,开发者手册,GIS文档,可视化分析软件,认证与培训资料,最佳实践,机器学习,日志维护与性能诊断,Oracle兼容性,培训视频集合”等内容。

总时长:约12小时

开发者、DBA、架构师。

通过学习本课程:

架构师,可以了解到“物联网、电商、生物科技、游戏、传统企业、CRM、ERP、ZF、GA、物流、音视频、BI、社交、金融、证券、手机、天文”等行业在“OLTP|OLAP、空间数据管理、图式搜索、全文检索、文本搜索、特征搜索、时序应用、流式数据处理、用户画像分析”等场景对数据库的需求和业务痛点,了解如何使用阿里云PostgreSQL与HDBPG解决业务的需求和痛点。

开发者和DBA,可以了解数据库的“多值类型、搜索、ADHOC查询、横向扩展、异步并行、特征搜索、画像搜索、时序数据实时处理、空间数据管理、电子围栏、KNN搜索、实时位置更新、路径规划、点云,文本情感词挖掘,PythonUDF,图式搜索、递归查询,容灾、逻辑订阅、物理订阅、单元化,外部表,dblink,流计算、HLL估值计算,秒杀,ltree”等特性,以及“开发、管理”等最佳实践。

敬请期待

Oracle中国研发中心解散,什么数据库最适合替代Oracle,并且在技术架构上领先于传统数据库,支持企业的长期发展?

PostgreSQL作为最先进的企业级开源数据库(类似BSD的开源许可,可以自用、分发无法律风险,不用担心PG被收购,不用担心PG被一家独大的公司控制。),在稳定性、性能、可用性、可靠性、容灾、安全性、扩展性等方面比肩Oracle,被业界称为“开源界的Oracle”。我们熟知的平安集团、邮储银行、中国人寿、苏宁、中兴、华为、阿里巴巴、亚信、富士康、探探、去哪儿......等众多大型企业、互联网公司已纷纷将PG应用于企业业务系统。

为帮助企业掌握去O能力。阿里云数据库团队、PG社区、云栖社区、云栖TechDay、阿里云技术创新中心共同推出《PG天天象上》活动,涵盖《PostgreSQL案例、原理、最佳实践》、《Oracle迁移上云》、《客户案例》、《企业数据库辩论赛》等系列主题。

2018年9月开始,《PG天天象上》活动在杭州,北京,郑州、广州、深圳、上海、南京、合肥、长沙、成都、温州多地开展,覆盖数万人次,参会者汇聚了银行,证券,互联网,人工智能,高校,医疗,新制造,电商,游戏,政府,电力等行业的开发者,DBA,架构师,CTO,CIO。

欢迎参加。

2、激烈辩论:帮助企业深度梳理企业IT架构,就企业数据库安全合规、自主可控、成本、架构演进等问题进行深度研讨。

学生、开发者、数据库管理员、架构师,CTO,CIO,技术总监。

下午1、13:30~14:00阿里云-digoal《阿里云POLARDBforOracle|PG演进》30min2、待定议题库

阿里云ADAM产品经理。

企业去O源动力到底在哪里?为何屡试屡败?

阿里去O成功经验到底能不能复制?

去O的三大痛点,如何各个击破?

阿里云数据库专家

带你了解POLARDB的研发历程,如何在POLARDB的计算存储分离架构中,支持PostgreSQL和Oracle兼容引擎。

Ganos的总体介绍,与PostGIS的区别,在专业时空场景中,如何将移动对象数据库(MOD)做到比开源50倍的性能提升。

THE END
1.SUV对比排行,热门SUV对比,SUV关注度排行–车主之家排名车系指导价对比次数网友口碑网友油耗车型相关查看对比 1 奔驰GLC 42.78 - 53.13万 9539 0分 10.91L/100km 综述 报价 图片 参数 团购 4S店 查看对比 2 途观L 18.68 - 26.68万 9113 0分 11.22L/100km 综述 报价 图片 参数 团购 4S店 查看对比 3 汉兰达 24.98 - 34.88万 8754 95分 13.97L/100km 综述https://pk.16888.com/hot-type-7.html
2.微型车,小型车,紧凑型车,中型车,中大型车,豪华车,SUV,MPV,跑车前五种车型只要看字面意思就能明白,车型尺寸依次增大就是了;豪华车通常是指档次高于中大型车的轿车,一般车长超过5米,轴距在3米以上。MPV和微面差不太多,只不过一个可以看成轿车的延长版,一个就是方块形车身,功能大同小异。跑车就是一种线条流畅的高性能汽车,价格昂贵,适合游玩代步。SUV是英语运动型多用途汽车的简https://m.snzqc.com/170979.html
3.一张图看懂汽车对比参数,告别小白?汽车小涵同学es09?22发布一张图看懂汽车对比参数,告别小白? 汽车配置深度解析:从动力到舒适度,再到新奇科技** 汽车配置概览虽然换过好几辆车,从马自达6到宝马3系,再到现在的718(都是燃油车),但我也算不上真正的汽车专家。然而,在汽车配置方面有一些深度理解。今天想分享几个关键配置要点给大家: https://m.yoojia.com/pages/dongtai/index?id=1063605002&from_src=biji_tab
4.汽车配置参数对比表易车汽车新闻为您提供关于汽车配置参数对比表的最新汽车资讯,汽车配置参数对比表相关的最新易车号文章,为你购车提供参考。https://news.yiche.com/tag/4181275.html
5.参数对比汽车车型对比基本参数 ● 标配○ 选配-无 购置税 落地价预估 厂商 级别 能源类型 上市时间 变速箱 发动机最大功率(kW) 发动机最大扭矩(N·m) 最大马力(PS) 最大扭矩(N·m) 电动机最大马力(PS) 电动机总功率(kW) 电动机总扭矩(N·m) 电池充电时间 快充电量(%) 百公里耗电量(kWh/100km)https://m.pcauto.com.cn/auto/pk/.html
6.户外装备新驴顾名思义,徒步鞋的主要功能在于提供一般性的徒步,因此内底部设计比较柔软,多采用尼龙内底,其目的就是为了获得最佳的弹性和柔软度,使穿着者踩踏时感到舒适,但徒步鞋并非万能,例:(较软的鞋底如同柔软的汽车避震器,在满载时避震效果将变差);就像我们背负20kg时,脚底板承受的压力除了体重加踩踏外,还有背包的重量,所以https://www.2bulu.com/mc/community/detail?id=19988423
7.车载存储芯片研究:百舸争流,国产化势在必行4.5.7 富士通4Mbit FRAM 存储器,高容量FRAM赋能未来汽车 4.5.8 富士通推出新型纳米随机存储器NRAM,兼具FRAM和NOR Flash优势 4.5.9 新型的非挥发ReRAM(电阻式记忆体) 4.5.10 EEPROM、NOR Flash、FRAM、NRAM、ReRAM等几种不同存储技术的参数对比 4.6 西部数据 https://m.dcdapp.com/motor/m/feed/detail?group_id=7181653698081997312
8.2.8T柴油短轴中高顶轻客(国六)报价及图片参数13.43万询底价图片参数配置对比 江铃汽车 特顺 空间王金牛款 122马力 3座 2.8T柴油 长轴中高顶后单胎封闭货车(国六) 5.696米3座国六5档 13.08万询底价图片参数配置对比 参数配置 参数说明:标配选配-无 基本信息 驾驶证: A1,A2,B1,B2,C1 类型: https://product.360che.com/m625/156385_index.html
9.Android面试问题汇总usb协议面试常问的问题上面提到了那个问题和 subList的坑有异曲同工之妙,都是由于返回的对象并不是真正的 ArrayList类型,图片过多时容易造成OOM(Out Of Memory内存用完)异常。 2.Tween Animation 补间动画(又叫view动画),2)若外部类(继承Thread接口的子线程类),可设置setter方法,主线程调用该方法通过参数传值。 https://blog.csdn.net/juer2017/article/details/116298583
10.历年科技成果汇编利用现代分析仪器XRD/XPS/SEM/TEM/ROMAN/AFM等全面系统的研究焦炭的碳微晶结构、气孔结构,以及矿物质的化学组成等,提出了表征焦炭碳微晶的微晶化度、表征气孔性质的气孔粗糙度、表征矿物质对焦炭化学反应催化作用的催化指数等参数,揭示了控制焦炭热性质的本征因素是焦炭微晶化度-气孔结构参数-催化指数。 http://jszy.usst.edu.cn/_t1949/2014/0114/c4269a75054/page.htm
11.谈谈我对汽车类社区的理解:懂车帝VS汽车之家在此场景,结合我当年买车时候对产品的使用路径来看,大致是这样的:当我锁定几个意向车系后,我不但会用车型库工具来反复去看他的参数配置、各种颜色的图片、还有高低配置的报价和优惠信息,还会上汽车之家每天把车系分论坛下当天所有更新的精华帖都刷完。 https://www.jianshu.com/p/817deac2084c
12.2023年全球市场汽车轮毂盖市场现状分析与发展前景预测1.1 汽车轮毂盖介绍 1.2 汽车轮毂盖分类 1.2.1 全球市场不同产品类型汽车轮毂盖规模对比:2018 VS 2022 VS 2029 1.2.2 轮罩 1.2.3 静态轮罩 1.2.4 金属合金轮罩 1.2.5 塑料轮盖 1.3 全球汽车轮毂盖主要下游市场分析 1.3.1 全球汽车轮毂盖主要下游市场规模对比:2018 VS 2022 VS 2029 https://www.dongchedi.com/article/7288598194492031523