【学习视频】第6期2019-Oracle迁移到PostgreSQL - 适合DBA与业务开发者

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 大家好,这里是《PG干O,仁心所象 - 去O实战培训》 公益活动纪录 - 《PG开发者指南、去O、管理与优化实践》

背景


“PG干O,仁心所象”公益培训活动 2019.6.15 在阿里巴巴西溪园区正式启动。“PG干O,仁心所象”作为“PG天天象上”技术沙龙的兄弟活动,面向开发者和DBA体系化的介绍“PostgreSQL应用开发指南,Oracle用户TO PG开发实践,PG数据库的管理与优化实践”几个方面的内容。旨在帮助开发者和DBA快速了解体系化的去O知识,更加顺滑的使用PostgreSQL 去O。

《兄弟活动- “PG天天象上技术沙龙纪录》

《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?为什么PG是去O的最佳选择》

“PGO,仁心所象公益培动纪录

1 20190615期“PG干O,仁心所象”《PG开发者指南、去O、管理与优化实践》 (阿里巴巴西溪园区)

报名人数:36

重要议题1:《PostgreSQL 开发者指南》

重要议题2:《PostgreSQL 日常维护、监控、管理、优化、诊断》

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

参会企业:同花顺、ODOO(全球第一openERP)、富士通、大华、海康、爱尔、娃哈哈、沃趣、大树、百世物流。。。等。

企业辩论赛回顾:

1Q PG数据库的编码如何转换

A 创建数据库时指定编码,如果要转换,需要新建,数据导出导入。


         
CREATE DATABASE

2Q 创建的对象名超过64个字节会怎么样?

A 截断到63个字节为止。


         
psql: NOTICE:  42622: identifier "a1111111111111111111111111111111111111111111111111111111111111111" will be truncated to "a11111111111111111111111111111111111111111111111111111111111111"
LOCATION:  truncate_identifier, scansup.c:205
CREATE TABLE

         
postgres=# select octet_length('a11111111111111111111111111111111111111111111111111111111111111');
octet_length
--------------
63
(1 row)

另外,如果要超过63个字节,需要修改头文件,并重新编译软件,重新初始化数据库集群。

src/include/pg_config_manual.h


         
* Maximum length for identifiers (e.g. table names, column names,
* function names).  Names actually are limited to one less byte than this,
* because the length must include a trailing zero byte.
*
* Changing this requires an initdb.
*/
#define NAMEDATALEN 64

3Q 怎样保证从库需要的WAL日志不被主库清除?

A standby使用slot连接主库,主库不会删除没有被SLOT对应STANDBY接收的WAL日志。

设置wal_keep_segments,设置归档也是能够避免WAL被及早清理的方法。但是不能保证。SLOT是绝对性的保证。

4Q ORACLE RAC PG的几个不同点

A RAC为共享存储架构,PG为非共享存储架构。(但是目前阿里云POLARDB for PG已经提供了计算存储分离架构,类似于ORACLE RAC

ORACLE 支持内存表,PG暂时不支持。但是PG 12开放了AM API,已经开源的ZEDSTORE支持列存,UNDO引擎等。相信很快会支持内存引擎。

ORACLE 有秒级快照备份。PG结合系统ZFS文件系统,同样支持基于STANDBYZFS秒级快照备份。(同时PG在激活STANDBY时,可以做到瞬间激活(不管多大的事务,回滚是瞬间完成的(HEAP引擎)))

5、在WINDOWS上,当误操作KILL PG的主进程时,会有PG_CTL进程残留的问题。这个是WIN架构下的服务注册模块的问题。

6、在同一个实例的多个DB自建表级同步,如何做?

A 使用逻辑订阅,但是在目标端创建订阅时,不能使用自动创建SLOT的语法。后期版本可能会改进。

 

Oracle迁移到PostgreSQL实战培训议题

1 对比Oracle与PG

  • PG的开源生态,为什么PG是最适合取代Oracle的数据库
  • 架构与术语
  • 进程结构
  • 逻辑架构
  • 数据类型
  • 内置函数
  • 系统视图
  • SQL语法
  • 函数开发
  • 包开发
  • 存储过程开发
  • 外部数据源访问
  • 性能监控、awr、aas、索引推荐、冷热状态、sql审计
  • SQL优化
  • 错误代码、问题诊断、上报bug、问题库、知识库、邮件组
  • 表空间管理
  • 管理工具
  • 管理函数
  • 管理常用SQL
  • 日常问题的原因、运维
  • 高级功能:分区表、递归查询、JOB、批量处理等
  • 安全(链路、访问acl、rls、角色|组权限控制)
  • 参数(参数介绍、配置级别介绍(全局、用户、会话、数据库、事务、表、函数级别等))
  • 性能压测(工业标准tpcc, tpch,自定义测试)
  • 开发工具
  • 订阅工具
  • 逻辑备份、还原
  • 物理备份、还原
  • 快照备份
  • 实时增量备份
  • standby
  • 逻辑standby
  • 容灾
  • 延迟容灾
  • 多副本同步
  • 不同架构的rpo,rto

2 迁移Oracle

  • Oracle迁移

3 进阶(场景、痛点、解决方案)

  • 进阶,掌握PG独特性、先进性(插件、GIS等)
  • 哪里有插件
  • 如何开发插件
  • 如何扩展PG的功能
  • PG 技巧
  • perf insight
  • ganos
  • oss
  • 全文检索
  • 模糊查询
  • jsonb
  • 时空多属性、时空调度
  • gin倒排索引
  • bloom过滤
  • brin时序索引
  • GiST,SPGiST索引
  • rum索引
  • 聚集索引
  • 存储扩展插件(zedstore, zheap, cstore)
  • 分布式插件citus
  • 图像识别
  • 向量计算与搜索
  • 并行计算(并行度控制)
  • 强制并行
  • 索引推荐
  • 资源隔离
  • 树类型(空间换时间)
  • smlar相似
  • 用户画像(数组、varbitx、roaringbitmap)
  • 时序数据实时聚合
  • rum多重搜索(比es更强的地方)
  • range类型(物联网,会议室预定,排他约束)
  • partial index(物联网,过滤无效数据)
  • 变长类型byteam, text代替blob, clob
  • 大对象
  • 大量数据写入、导出(batch insert, copy)
  • 大量中间数据存储,表数组,代替临时表
  • update, delete limit
  • 并发批量更新防止锁冲突(skip locked, update|delete limit)
  • 秒杀(ad lock)
  • merge into, upsert
  • 连接池
  • 内置连接池
  • 读写分离
  • 递归、分佣、树
  • 逻辑订阅(kafka、流、...)
  • 单元化、互相逻辑同步
  • 流计算
  • 图式关系搜索

4 云

  • polardb for Oracle , 存储按量付费, 弹性增减节点, 一写多读,多副本存储。 RPO=0
  • rds pg安全, 100万iops, 32TB

5 讨论

  • 现场激烈讨论

参考

《PostgreSQL 11 2天体系化培训(包含Oracle迁移到PG的知识点) - 含视频》

《PostgreSQL 多应用场景实践 - 含视频》

《Oracle DBA 增值 PostgreSQL 学习路径》

《PostgreSQL、Greenplum 《如来神掌》》

《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?PG是去O的最佳选择》

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
3月前
|
SQL 存储 关系型数据库
新手如何入门学习PostgreSQL?
新手如何入门学习PostgreSQL?
|
3月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
45 3
|
4月前
|
SQL 存储 关系型数据库
关系型数据库PostgreSQL学习
【7月更文挑战第4天】
457 2
|
5月前
|
存储 关系型数据库 数据库
经验大分享:PostgreSQL学习之【用户权限管理】说明
经验大分享:PostgreSQL学习之【用户权限管理】说明
67 0
|
6月前
|
SQL 监控 关系型数据库
postgresql|数据库|插件学习(二)---postgresql-12的外置插件pg_profile的启用和使用
postgresql|数据库|插件学习(二)---postgresql-12的外置插件pg_profile的启用和使用
217 0
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
158 64
|
21天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
27 7
|
21天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
24 6
|
21天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
19 5
|
28天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。

推荐镜像

更多