阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存储、列存储、多种分区表和索引等机制,可以支持海量数据的交付分析,也支持ETL批处理任务。

AnalyticDB PG 6.0 版本大幅提升并发事务处理能力,更好的满足实时数仓场景,同时通过事务锁等优化,完备支持HTAP业务。AnalyticDB PG 6.0的内核从PostgreSQL 8.2升级到9.4,更好的兼容PostgreSQL社区生态。

免费公测!

阿里云 AnalyticDB for PostgreSQL 6.0 版本在 公测期间(2019/10/1-2019/21/31)任意用户可通过如下链接申请一个免费试用实例: https://page.aliyun.com/form/act242960298/index.htm

AnalyticDB for PG 6.0 重要特性:

PostgreSQL 内核升级

AnalyticDB for PG 6.0版本较之前 4.3 版本,PostgreSQL内核从 8.2版本升级到9.4版本,大量PostgreSQL新特性包括:

  • JSONB类型:在既有JSON类型上,支持JSONB存储格式,实现高性能的JSON数据处理及更丰富的JSON函数。
  • UUID类型:支持 UUID 数据类型。
  • GIN索引和SP-GiST索引:可以更高性能支持模糊匹配,以及中文检索。
  • 细粒度权限控制:支持了 schema 级别,以及 column 列级别权限控制和授权。
  • 高效Vacuum:Vacuum在做空间释放时,可以暂时跳过被加锁的页面,而稍后再次轮询访问对其Vacuum,从而整体减少被阻塞的状况。
  • DBLink:支持跨库的查询访问。
  • Recursive CTE:实现SQL的递归查询功能,用于处理逻辑上为层次化或树状结构的数据,方便对该类数据进行多级递归查询。
  • PL/SQL 增强:支持RETURN QUERY EXECUTE语句,可以动态即刻执行SQL;支持 Anonymous blocks 匿名块定义。

HTAP (OLAP+OLTP)能力提升

通过引入全局死锁检查机制 (global deadlock detection),会动态的收集和分析锁的信息来检查和解除全局死锁。基于此,HEAP表的更新修改操作可以只借助细粒度行锁完成,支持大并发的更改删除查询,提高整个系统的并发度和吞吐量。同时还对事务锁进行了优化,减少了开始事务和结束事务时的锁竞争。ADB PG 6.0在既有高性能 OLAP分析基础上,也可以提供高吞吐交易事务处理。

典型 OLTP 场景 TPC-C 达到 10w tpmc;Sysbench 支持 select 15w tps, insert 5w tps,update 2w tps。

OLAP 新功能特性

  1. 支持复制表(replicated table):针对数仓中的维度表,通过建立复制表(DISTRIBUTED REPLICATED clause),可以大量减少数据传输,提升查询效率。
  2. 支持zstandard压缩算法:ZSTD压缩算法,较之前 zlib 压缩算法,提升三倍的压缩和解压性能。

本文作者: Roin123

原文链接

本文为云栖社区原创内容,未经允许不得转载。

更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读的更多相关文章

  1. 基于Flink构建全场景实时数仓

    目录: 一. 实时计算初期 二. 实时数仓建设 三. Lambda架构的实时数仓 四. Kappa架构的实时数仓 五. 流批结合的实时数仓 实时计算初期 虽然实时计算在最近几年才火起来,但是在早期也有 ...

  2. flink实时数仓从入门到实战

    第一章.flink实时数仓入门 一.依赖 <!--Licensed to the Apache Software Foundation (ASF) under oneor more contri ...

  3. 基于 Kafka 的实时数仓在搜索的实践应用

    一.概述 Apache Kafka 发展至今,已经是一个很成熟的消息队列组件了,也是大数据生态圈中不可或缺的一员.Apache Kafka 社区非常的活跃,通过社区成员不断的贡献代码和迭代项目,使得 ...

  4. HBase实战 | 知乎实时数仓架构演进

    https://mp.weixin.qq.com/s/hx-q13QteNvtXRpNsE5Y0A 作者 | 知乎数据工程团队编辑 | VincentAI 前线导读:“数据智能” (Data Inte ...

  5. 美团点评基于 Flink 的实时数仓建设实践

    https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651749037&idx=1&sn=4a448647b3dae5 ...

  6. 基于 Flink 的实时数仓生产实践

    数据仓库的建设是“数据智能”必不可少的一环,也是大规模数据应用中必然面临的挑战.在智能商业中,数据的结果代表了用户反馈.获取数据的及时性尤为重要.快速获取数据反馈能够帮助公司更快地做出决策,更好地进行 ...

  7. (转)用Flink取代Spark Streaming!知乎实时数仓架构演进

    转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...

  8. 大数据之Hudi + Kylin的准实时数仓实现

    问题导读:1.数据库.数据仓库如何理解?2.数据湖有什么用途?解决什么问题?3.数据仓库的加载链路如何实现?4.Hudi新一代数据湖项目有什么优势? 在近期的 Apache Kylin × Apach ...

  9. 实时数仓(二):DWD层-数据处理

    目录 实时数仓(二):DWD层-数据处理 1.数据源 2.用户行为日志 2.1开发环境搭建 1)包结构 2)pom.xml 3)MykafkaUtil.java 4)log4j.properties ...

随机推荐

  1. 安装docker-ce与卸载(centos 7)

    1.安装依赖 docker依赖于系统的一些必要的工具,可以提前安装. 1 yum install -y yum-utils device-mapper-persistent-data lvm2 2.添 ...

  2. C++子类的构造函数后面加:冒号的作用(转)

    在C++类的构造函数中经常会看到如下格式的写法: MyWindow::MyWindow(QWidget* parent , Qt::WindowFlags flag) : QMainWindow(pa ...

  3. fzu 1901 next+脑洞

    题目大意: 给你一个字符串str,对于每个str长度为p的前缀,如果str[i]==str[p+i](p+i<len),那么我们认为它是一个periodic prefixs.求所有满足题意的前缀 ...

  4. SpringBoot集成Swagger(Swagger的使用),生成接口文档,方便前后端分离开发

    首先上一张成果图.  1.Maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId&g ...

  5. Linux常用查看日志命令tail

    常用查看日志操作语句:   tail web.2016-06-06.log -n 300 -f                       查看底部即最新300条日志记录,并实时刷新 grep 'ni ...

  6. Jlink V8固件恢复

    使用附件中的PDF文档步骤即可,但是千万千万记得两点,更新系统很关键,很关键 1.WINXP系统 2.32Bit系统 切记切记,其他的win7,winxp 64就不用试着更新了,全部是坑 大概步骤 J ...

  7. Android_开发片段(Part 2)

    1.List和Map知识: 1)如何定义 List<Map<String,Object>> list=new ArrayList<Map<String,Object ...

  8. ArcMAP中Excel数据转换为shp数据

    参考百度知道:http://jingyan.baidu.com/article/f7ff0bfc1cf22c2e26bb138d.html 将数据库中带有X.Y坐标的二维表转换为空间点数据:从数据中将 ...

  9. Java-Class-C:cn.hutool.core.date.DateUtil

    ylbtech-Java-Class-C:cn.hutool.core.date.DateUtil 1.返回顶部   2.返回顶部 1.1. import cn.hutool.core.date.Da ...

  10. python redis demo

    上代码,redis-demo #!/usr/bin/env python #_*_ coding:UTF-8 _*_ import redis ####配置参数 host = '192.168.0.1 ...