6个原因说服你选择PostgreSQL9.6
PostgreSQL9.6在前些日子发布了, 社区为该版本的重大更新付诸良多, 发布日志一如既往的长,我挑选了6个重要的更新, 这些或许能够帮助你更好的使用PostgreSQL。
并行:
并行应该是这个版本中最大的卖点:这个期待良久的功能, 将会出现在用户的许多场景中, 在PostgreSQL之前的版本中, 即便拥有很多的空闲处理器,数据库的单个查询只能利用单个cpu的计算能力。 这个限制现在没有了, 许多场景下的查询现在可以利用并行特性: 顺序扫描,join,聚合计算,这些都可以利用并行的多核处理器。
更好的锁监控:
pg_stat_activity 视图提供了更加详细的等待信息, 当一个进程正在等待一个锁,你会看到锁的类型,以及将你的查询阻塞的等待事件的详细信息。 另外增加了pg_blocking_pids()函数, 你就会知道哪些进程阻塞这个给定的服务器进程。 这些监控都能够过帮助DBA了解一个特定事件触发的锁等待了多长时间, 从而找到系统瓶颈.
多个同步服务器
前面版本的同步流复制中至多可以拥有一个同步节点, PostgreSQL9.6允许配置多个同步节点,用户可以设置一个或多个节点来同步数据, 并通过确保所有节点的确认信息提高了事务的可靠性。
防止膨胀:
截止现在,一个长时间的报表输出, 或者一个一个游标的查询结果输出信息都会阻塞失效行的清理, 数据库中这些经常改动的表会膨胀,会触发数据库的性能问题,导致存储空间的大量使用。 该版本中添加了 old_snapshot_threshold 参数允许集群清理事务结束无效的行, 所有的快照都可以看到该记录已经到达了一定的年纪
PostgreSQL FDW优化:
PostgreSQL现在拥有超过80多种外部表封装(FDW), 可以用来访问几乎大多数的远程数据源, 在9.6版本中, postgres_fdw 引入了很多的改进, 这些改进包括控制拉取数据量的参数fetch_size, 下推操作(join, sorts)到远程PostgreSQL实例, 如果你想对多个数据库的数据做聚合技术,这些都便于你的操作.
远程作用
PostgreSQL9.6 中新增加了一种复制模式,叫做 remote_apply, Master节点等待事务作用到远端节点,而不仅仅是写入磁盘, 这会比通常的复制模式慢一些,但不会慢很多, 它会确保所有的“提交数据”在slave 节点已经生效, 如果你想让你的只读查询分布到多个节点的话,这就是为你准备的.
筛选出其中6项是一个艰难的选择, 因为在此版本中, 还存在许多其他方面的改进,比如有: 短语全文检索, pg_visibility拓展模块, frozen 页面更好的空间回收(VACUUM)机制, 部分索引(partial indexes)只扫描索引部分, 命令进度的报告… PostgreSQL 一如既往,拥有很多的性能提升!
对于这个版本的详细信息,可以从这个维基页面开始: https://wiki.postgresql.org/wiki/NewIn96
6个原因说服你选择PostgreSQL9.6的更多相关文章
- node 使用范围 和 node的优势 (为什么 创业公司 选择的不是 java php ruby 等)
链接 一些国外大公司 范围: 第一: 希望合并后台多个接口 成为一个接口, 或者频繁改动接口 相关, 比如数据 和数据格式之类, 后台难以配合, 这里可以使用node作为后台的应用层调用其他接口 ...
- android studio2.3.3 模拟器 Jni函数调用C++对象,lldb调试this指针和相关变量显示无效的原因
android studio2.3.3 的版本中 Jni函数调用C++对象,对象调用相关的成员函数, lldb调试,变量跟踪窗口,this指针和相关变量显示无效的原因,但这些参数实际是有效的,只是de ...
- ITFriend创业败局(一):选择创业方向和寻找合伙人,创业失败的2个关键点
这次创业惨淡收场,最主要的原因是没有选择一个合适的创业方向,没有找到合适的创业合伙人. 首先要说到创业方向,因为不同的创业方向需要组建不同的创业团队.我个人比较偏好,软件.网络.互联网等有一 ...
- 第2次作业:软件分析之Steam
1. 作业内容 1.1 介绍产品相关信息 你选择的产品是? 我选择的分析的软件为STEAM 为什么选择该产品作为分析? 在上述列表中的产品,除了王者荣耀,其他几项都是平时我使用较为频繁的软件,所以最初 ...
- EffectiveC++ 第6章 继承与面向对象设计
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 6 继承与面向对象设计 Inheritance and ...
- 烂代码 git blame
关于烂代码的那些事(上) - Axb的自我修养 http://blog.2baxb.me/archives/1343 关于烂代码的那些事(上) 六月 21, 2015 57 条评论 目录 [显示] 1 ...
- CentOS 7 源码编译安装PostgreSQL 9.5
下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,进入子目录后,可以看到文件 ...
- Serverless 是一种思想状态
来源 | Serverless 公众号:作者 | Ben Kehoe:译者 | donghui 函数不是重点 如果你因为喜欢 Lambda 而选择 Serverless,你这样做的原因是错误的.如果你 ...
- TypeScript学习文档-基础篇(完结)
目录 TypeScript学习第一章:TypeScript初识 1.1 TypeScript学习初见 1.2 TypeScript介绍 1.3 JS .TS 和 ES之间的关系 1.4 TS的竞争者有 ...
随机推荐
- 全架构PaaS TAE 2.0的Docker实践
推荐链接: http://www.infoq.com/cn/news/2015/07/paas-tae-docker
- Java多线程基础知识(四)
一. Condition 接口 1. Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式. 但是这两者在使用方式以及功能特性上还是有差别的. 2. 支持多 ...
- Java Io 之 编码
Java字符串编码一些知识总结: package com.dcz.io; import java.io.UnsupportedEncodingException; public class Encod ...
- cocos2d-x 内存管理浅析
Cocos2d-x用create创建对象, 这个方法已经被引擎封装成一个宏定义了:CREATE_FUNC, 下面是这个宏定义的实现: #define CREATE_FUNC(__TYPE__) \ ...
- python 循环语句的else语句用法,当循环条件变为假,切不是通过breakbreak终止的时候,就会执行这个else语句。
循环语句可以有一个else子句:当(for)循环迭代完整个列表或(while)循环条件变为假,而非由break语句终止时,就会执行这个else语句.下面循环搜索质数的代码例示了这一点: >> ...
- php学习笔记(1)-----基础
语法 <?PHP //code here?> 变量以$开头 字符串并置运算符 . echo $txt1 . " " . $txt2计算字符串长度 strlen() 空格 ...
- dropify插件的字符串
1.可以拖拽图片进行上传. 2.使用起来方便. 3.不能进行视频与其他文件的上传,只能上传图片. 4.其余都像普通<input type="file">. 5.在dro ...
- 2016 Multi-university training contest
day 1 A 给G,w(e)1M(diff),|V|100K,|E|1M,求 MST MST上任意两点间距离的期望 显然MST唯一 E(dis(u,v))可以通过计算每条边的贡献加出来 B n个并行 ...
- ASP.NET MVC Area使用-将Area设置成独立项目
环境说明:Vistual Studio 2013 MVC 4.0 其实关于ASP.NET MVC Area使用的基础知识可以参考 http://www.cnblogs.com/willick/p/33 ...
- ffmpeg解码音频流
//初始化.注册编解码器 avcodec_init(); av_register_all(); avformat_network_init(); //选取测试文件 char* FileName=&qu ...