更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读
阿里云 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 新功能特性
- 支持复制表(replicated table):针对数仓中的维度表,通过建立复制表(DISTRIBUTED REPLICATED clause),可以大量减少数据传输,提升查询效率。
- 支持zstandard压缩算法:ZSTD压缩算法,较之前 zlib 压缩算法,提升三倍的压缩和解压性能。
本文作者: Roin123
本文为云栖社区原创内容,未经允许不得转载。
更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读的更多相关文章
- 基于Flink构建全场景实时数仓
目录: 一. 实时计算初期 二. 实时数仓建设 三. Lambda架构的实时数仓 四. Kappa架构的实时数仓 五. 流批结合的实时数仓 实时计算初期 虽然实时计算在最近几年才火起来,但是在早期也有 ...
- flink实时数仓从入门到实战
第一章.flink实时数仓入门 一.依赖 <!--Licensed to the Apache Software Foundation (ASF) under oneor more contri ...
- 基于 Kafka 的实时数仓在搜索的实践应用
一.概述 Apache Kafka 发展至今,已经是一个很成熟的消息队列组件了,也是大数据生态圈中不可或缺的一员.Apache Kafka 社区非常的活跃,通过社区成员不断的贡献代码和迭代项目,使得 ...
- HBase实战 | 知乎实时数仓架构演进
https://mp.weixin.qq.com/s/hx-q13QteNvtXRpNsE5Y0A 作者 | 知乎数据工程团队编辑 | VincentAI 前线导读:“数据智能” (Data Inte ...
- 美团点评基于 Flink 的实时数仓建设实践
https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651749037&idx=1&sn=4a448647b3dae5 ...
- 基于 Flink 的实时数仓生产实践
数据仓库的建设是“数据智能”必不可少的一环,也是大规模数据应用中必然面临的挑战.在智能商业中,数据的结果代表了用户反馈.获取数据的及时性尤为重要.快速获取数据反馈能够帮助公司更快地做出决策,更好地进行 ...
- (转)用Flink取代Spark Streaming!知乎实时数仓架构演进
转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...
- 大数据之Hudi + Kylin的准实时数仓实现
问题导读:1.数据库.数据仓库如何理解?2.数据湖有什么用途?解决什么问题?3.数据仓库的加载链路如何实现?4.Hudi新一代数据湖项目有什么优势? 在近期的 Apache Kylin × Apach ...
- 实时数仓(二):DWD层-数据处理
目录 实时数仓(二):DWD层-数据处理 1.数据源 2.用户行为日志 2.1开发环境搭建 1)包结构 2)pom.xml 3)MykafkaUtil.java 4)log4j.properties ...
随机推荐
- 2、Python 基础类型 -- String 字符串类型
字符串常用的方法: 1.分割:string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num 有指 ...
- 并查集(Disjoint Set Union,DSU)
定义: 并查集是一种用来管理元素分组情况的数据结构. 作用: 查询元素a和元素b是否属于同一组 合并元素a和元素b所在的组 优化方法: 1.路径压缩 2.添加高度属性 拓展延伸: 分组并查集 带权并查 ...
- leetcood学习笔记-35-二分法
题目: 第一次提交; class Solution: def searchInsert(self, nums: List[int], target: int) -> int: for i in ...
- Windows API 查看器
{ http://www.dependencywalker.com/ } { Download the latest version here: Download Version 2.2.6000 ...
- Delphi获取指定文件的版本号
获取指定文件的版本号 方式一: function GetFileVersion(FileName: string): string; type PVerInfo = ^TVS_FIXEDFILEINF ...
- vue基础五
条件渲染 1.v-if 1.1<template>中v-if条件组 因为 v-if 是一个指令,需要将它添加到一个元素上.但是如果我们想切换多个元素呢?此时我们可以把一个<templ ...
- bzoj1001 [ICPC-Beijing 2006]狼抓兔子
我满心以为本题正解为最短路,结果到处都是最大流…… 几乎所有的都写了什么“对偶图”跑最短路,但我真的不知道什么叫做对偶图---------------------------------------- ...
- A*寻路算法C++简单实现
搜索区域 如图所示简易地图, 其中绿色方块的是起点 (用 A 表示), 中间蓝色的是障碍物, 红色的方块 (用 B 表示) 是目的地. 为了可以用一个二维数组来表示地图, 我们将地图划分成一个个 ...
- NX二次开发-BlockUI的Tree树控件
关于BlockUI的Tree树控件只要研究UGOPEN里西门子官方的那个例子在结合去查NXOPEN的帮助基本就可以了.[不过我是看唐工的视频学会的,没办法自己领悟性不太强] //=========== ...
- angularjs 中 Factory,Service,Provider 之间的区别
本片文章是使用了 angularjs 中使用 service 在controller 之间 share 对象和数据 的code(http://jsfiddle.net/kn46u0uj/1/) 来进行 ...