新里程碑PostgreSQL 100新功能介绍.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新里程碑PostgreSQL 100新功能介绍;PostgreSQL 10.0;1.功能增强;逻辑订阅;逻辑订阅;逻辑订阅;逻辑订阅;逻辑订阅;逻辑订阅;逻辑订阅;逻辑订阅;内置分区表;内置分区表;10.0中分区表的创建只能分成两步执行 首先创建父表: CREATE TABLE table_name ( ... )[ PARTITION BY { RANGE | LIST } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ] ? 主表不会有任何数据,数据会根据分区规则进入对应的分区表 ? 如果插入数据时,分区键的值没有匹配的分区,会报错 ? 不支持全局的唯一、主键、排除、外键约束,只能在对应的分区建立这 些约束;内置分区表;绑定分区、解绑分区: ALTER TABLE可以将表绑定到分区表的某个分区,也可以将某个已有分区从分区 表剔除。 ? 支持伪表作为分区,例如外部表、物化视图 ? 外键约束也只能逐个分区定义 ? 绑定时,需要指定分区键的边界(范围或LIST值) ? 列定义与主表一致(类型、顺序、约束) ? 加入的分区需要进行全表扫描,确认所有的记录都在指定的分区键边界内 ? 如果要避免全表扫描,建议在执行绑定前,对这个表加入CHECK约束,确保约 束可以保证记录都在边界内。但是这种方法不适用于分区键包含表达式并且分 区不允许NULL值的情况。;内置分区表;流式接收端在线压缩WAL;流式接收端在线压缩WAL;查看清理进度;后台运行;2.性能增强;并行增强;并行增强;并行增强;并行增强;间接索引;间接索引;用不完全索引支持复合排序;自动预热共享缓存;JIT是OLAP数据库应具备的能力 ? OLAP分析可能涉及很多聚集、条件过滤等,这些操作在数据库内核 中是一些对应的函数,可能每一行都会流经这些函数,当分析的数 据量很庞大时,需要大量的函数调用、栈的进出交换、内存拷贝等。 ? 动态编译,可以减少函数调用,解决以上瓶颈。 PostgreSQL 10.0 已经开始为 JIT 做铺垫 ? 把SQL执行的框架从递归调用方式改成了非递归的opcode驱动模式 ? 非递归式降低了栈使用和开销 ? 可以在不同的子表达式之间共享一些状态 ? 简单函数以简单跳转实现而不需函数调用 ? ……;3.安全性和可靠性;SCRAM认证机制 PostgreSQL SCRAM机制基于RFC文档 5802 、7677实现。 ? 类似于PG原有的GSS和SSPI认证,在HBA规则中约定客户端所使用 的认证机制 ? SCRAM机制基于SASL方法,其下可支撑和扩充多种认证技术 ? 如果客户端被告知使用SCRAM认证,在认证过程中会通过 AuthenticationSASLcontinue、PasswordMessage两个过程进行 SASL消息交换 目前只支持SCRAM-SHA-256算法,但是基于SASL认证方法,未来 可以支持更多的更强的算法;安全性增强;PostgreSQL 10.0 开始植入了一些内置的角色: ? pg_backend_pid:可用来取消、中止任何进程,不包含其他超级 用户权限 ? pg_monitor:可以查看统计信息,便于DBA等检查数据库健康状态 pg_read_all_gucs:可以查看所有的 GUC 配置 未来PostgreSQL还会对植入更多的内置角色,让数据库的权限分组管 理更加便捷。逐步形成像Oracle这样内部有许多角色可选的状况。;防止执行不带条件的更新/删除;很长一段时间,PG中的Hash索引是不做WAL日志的,因此数据库崩溃 可能会导致Hash索引不可用。 10.0 中为Hash索引的操作加上了WAL支持,现在对Hash索引的创建、 插入、分裂等操作都会记录WAL日志,数据库崩溃后可以用这些信息 来恢复索引;4.应用开发;支持pipeline batch模式 ? 客户端可以将多个查询塞入pipeline,作为一个batch提交给服务端, 从而减少客户端和服务端的网络交互次数。 ? 在网络环境不太好的环境中,特别是云环境,能大幅提升性能。。 增加多连接功能 ? 支持连接串中配置多个主机名、端口,libpq自动连接到第一个正常 响应的数据库 ? 允许配置每一对主机名端口的target_session_attrs,是否支持读写。 适合物理流复制,一主多备的读写分离场景;增加类似serial的identify column:虽然已经可以使用serial来达到 同样效果,不过实现这一标准,可以兼容更多的数据库。 ? 支持SQL:2016的SQL/JSON标准 支持ICU ? ICU是一个成熟的,被广泛使用的跨平台一致性

文档评论(0)

我是大神 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档