Skip to content

Commit 745e7a4

Browse files
committed
improve
1 parent 217a03a commit 745e7a4

File tree

2 files changed

+179
-0
lines changed

2 files changed

+179
-0
lines changed

201801/20180121_01.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,186 @@ PG临时文件是自动清理的。例如会话退出,自动清理,事务结
715715
产品设置,权衡了市场需求,以及当前架构下,提供一个安全可靠的集群规模。
716716

717717
![pic](20180121_01_pic_022.jpg)
718+
719+
### 14 20190622期天天象上(武汉-阿里巴巴创新中心,Dream咖啡厅)
720+
报名人数:54
718721

722+
重要议题1:《PostgreSQL 生态与社区工作汇报》
723+
724+
重要议题2:《Oracle 迁移上云》
725+
726+
重要议题3:《PostgreSQL 数据库优化实践》
727+
728+
重要议题4:《阿里云POLARDB for PostgreSQL|Oracle 产品演进》
729+
730+
重要议题5:《POLARDB 的DBA法宝 - AAS性能洞察》
731+
732+
重要议题6:《云数据库时空引擎Ganos》
733+
734+
重要议题7:企业数据库辩论赛。
735+
736+
参会企业:、。。。等。
737+
738+
企业辩论赛回顾:
739+
740+
PG plus 队与 PG pro 队进行了激烈的角逐。问题汇总如下:
741+
742+
1、Q mysql 如何准实时同步到 PG
743+
744+
A 使用阿里开源的Otter,解析BINLOG,使用PG语法封装SQL,在PG中回放。
745+
746+
https://github.com/alibaba/otter
747+
748+
https://github.com/alibaba/canal
749+
750+
2、Q 用户智能电力业务,很多电力终端上报数据,数据库中按时间、电力设备等维度,范围搜索,一次查询出多条记录。效率不高
751+
752+
用户使用cluster后,效率可以改善,有没有其他办法。
753+
754+
A 本质的原因是用户查询的多条记录分布在HEAP表的不同PAGE里面,使得一次查询要扫描很多数据块。并发高,IO开销大,内存带宽高。
755+
756+
include index,或使用 聚合存储
757+
758+
[《PostgreSQL index include - 类聚簇表与应用(append only, IoT时空轨迹, 离散多行扫描与返回)》](../201905/20190503_03.md)
759+
760+
[《PostgreSQL IoT,车联网 - 实时轨迹、行程实践 2 - (含index only scan类聚簇表效果)》](../201812/20181209_01.md)
761+
762+
[《PostgreSQL IoT,车联网 - 实时轨迹、行程实践 1》](../201812/20181207_01.md)
763+
764+
3、Q 企业中如何权衡开发者和DBA的权限和关系,遇到开发写得烂的SQL,领导叫DBA去又不愿意。如何权衡。
765+
766+
A 明确DBA和开发者职责和KPI,有奖有罚
767+
768+
定义操作规范、
769+
770+
定义业务上线、下线标准
771+
772+
定义商业化规范
773+
774+
附能开发者,提高开发者能力
775+
776+
DBA能力产品化
777+
778+
建立SQL审核标准
779+
780+
建立测试环境
781+
782+
建立预发环境
783+
784+
灰度上线
785+
786+
建立线上真实数据测试环境(例如备库)
787+
788+
4、Q PostgreSQL 相比其他开源数据库有什么优势
789+
790+
A PG有GIN倒排索引,可以支持全文检索、模糊查询、相似搜索、JSON高速检索等
791+
792+
PG的处理能力更强,支持并行计算,高并发。支持更丰富的JOIN、聚合算法。
793+
794+
PG的扩展能力更强,支持专业的GIS、机器学习、全文检索、图像搜索等等。
795+
796+
PG是纯社区的数据库,没有被商业公司控制。
797+
798+
PG的开源许可更加的友好,使用无风险。有些公司的产品也开源,但是被商业公司控制,需要注意开源协议。使用需要注意法律风险。
799+
800+
5、Q 被SQL注入了怎么办?
801+
802+
A 尽快通知DBA,保留备份,防止扩大影响
803+
804+
报警,通知领导
805+
806+
下业务,防止扩大影响
807+
808+
修BUG:
809+
810+
应用开发使用绑定变量,不要用SIMPLE QUERY
811+
812+
使用WAF,应用防火墙
813+
814+
6、Q ORACLE 的ASM存储,在其他生态中有没有替代产品?
815+
ASM 支持块设备管理,任意损坏都不会影响可用性、可靠性。
816+
例如坏一块盘之后,数据会自动重分布,只是容量变少。
817+
1、块设备shard(extent)化
818+
2、每个shard(extent)在多个BLOCK设备之间冗余,例如3副本。
819+
3、坏盘后,自动重分布shard(extent),依旧有3副本
820+
4、对于整个ASM存储集群来说,只是容量变小,但是冗余度不变。
821+
5、加盘后,自动重分布,容量又回来了。
822+
达到的效果:不管怎么坏盘,保持 rto=0, rpo=0
823+
824+
A 分布式存储
825+
826+
POLARDB
827+
828+
polarstore
829+
830+
阿里云盘古
831+
832+
7、Q PG对文本挖掘有没有好的支持?
833+
834+
A 分词、情感词、归类,PLPYTHON,MADLib
835+
836+
8、Q 为什么有的书籍不建议使用PG自定义函数、存储过程,建议直接写SQL,不建议用存储过程?
837+
838+
A 首先要分清楚应用场景,千万不要断章取义。
839+
840+
存储过程支持自动的绑定变量,所以存储过程内的SQL执行5次后会自动缓存通用执行计划。
841+
842+
如果是高并发查询,建议用绑定变量。减少硬解析的开销。
843+
844+
如果是低并发(AP)应用,建议用SIMPLE QUERY。
845+
846+
[《执行计划选择算法 与 绑定变量 - PostgreSQL prepared statement: SPI_prepare, prepare|execute COMMAND, PL/pgsql STYLE: custom & generic plan cache》](../201212/20121224_01.md)
847+
848+
存储过程里面也支持动态SQL,使用动态SQL时强制用硬解析
849+
850+
或者使用plan_cache_mode参数
851+
852+
[《PostgreSQL 12 preview - plan_cache_mode GUC,用户可设置plan cache模式. (每次生成plan OR 使用重复plan OR 自动选择plan cache mode)》](../201903/20190331_15.md)
853+
854+
9、Q 对于数据库使用过程中,如果出现BLOCK损坏怎么办?
855+
856+
A
857+
858+
1、跳过损耗数据块,可以继续查询
859+
860+
2、通过备份修复。
861+
862+
没有备份的话,在REDO中找到这个数据块最近一个FULL PAGE,从FULL PAGE拷贝,加上之后这个PAGE的所有REDO进行恢复。
863+
864+
[《PostgreSQL 恢复大法 - 恢复部分数据库、跳过坏块、修复无法启动的数据库》](../201803/20180329_02.md)
865+
866+
[[] PostgreSQL 轻量级周边工具 pg_lightool》](../201902/20190211_02.md)
867+
868+
[[] PG wal/xlog/redo日志解析工具功能增强并更名为WalMiner / logminer / xlogminer》](../201902/20190211_01.md)
869+
870+
10、Q 数据库使用过程中,经常发现“表没了”,在pgadmin查询表没了。但是在应用程序中能INSERT进去,应用是 ```insert into table values ()```
871+
872+
A
873+
874+
1、如果真的被删了,开启SQL审计,检查是谁干的.
875+
876+
2、search_path 可能不对。在pgadmin中查看的SCHEMA下没有这个表,可能在其他SCHEMA里面。
877+
878+
可以在pg_class或pg_tables里面找一下,是不是在其他SCHEMA里面
879+
880+
11、Q 深圳中电的业务,很多智能电表上传数据,由于数据量太大,使用了按天分区,但是表分区太多了,查询慢。
881+
882+
A PG 12原生分区表,性能已经基本无损。
883+
884+
老版本使用pg_pathman,性能也基本无损。
885+
886+
[《如何修改PostgreSQL分区表分区范围 - detach attach - 拆分、合并、非平衡分区表、深度不一致分区表》](../201906/20190621_02.md)
887+
888+
[《PostgreSQL 12 preview - 分区表性能提升百倍》](../201905/20190521_01.md)
889+
890+
[《分区表锁粒度差异 - pg_pathman VS native partition table》](../201802/20180206_01.md)
891+
892+
[《PostgreSQL 商用版本EPAS(阿里云ppas(Oracle 兼容版)) - 分区表性能优化 (堪比pg_pathman)》](../201801/20180122_03.md)
893+
894+
895+
最后 PG plus 队胜出。
896+
897+
![pic](20180121_01_pic_023.jpg)
719898

720899
### PG天天象上活动影响力(截至201906)
721900
线下、云栖线上直播、官方微信、官方微博、个人微信、微博转发、PG社区官方网站等渠道。

201801/20180121_01_pic_023.jpg

274 KB
Loading

0 commit comments

Comments
 (0)