交互式分析型数据库Hologres

前言

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger
种一棵树最好的时间是十年前,其次是现在

叨絮

好久没写文章了,这十来天,小六六也没忙啥,就是在面向阿里云学习,哈哈。因为公司的数仓技术栈就是dataworks和maxcomputer,所以最近在学习学习,刚好有一个需求就是我们bi数据要从hbase 写到maxcomputer去做ETL 然后之后他们打算写到Hologres中,然后我们业务部门去Hologres中去取数据来支撑报表业务,其实场景也是一般的场景,只是写想点东西记录一下最近干嘛了,不然自己都感觉松懈了。哈哈,阿里云可没给我广告费,纯分享,记录。

什么是Hologres

Hologres是阿里巴巴自主研发的一款交互式分析产品,兼容PostgreSQL 11协议,与大数据生态无缝连接,支持高并发和低延时地分析处理PB级数据。

随着收集数据的方式不断丰富,企业信息化程度越来越高,企业掌握的数据量呈TB、PB或EB级别增长。同时,数据中台的快速推进,使数据应用主要为数据支撑、用户画像、实时圈人及广告精准投放等核心业务服务。高可靠和低延时地数据服务成为企业数字化转型的关键。

Hologres致力于低成本和高性能地大规模计算型存储和强大的查询能力,为您提供海量数据的实时数据仓库解决方案和实时交互式查询服务。

功能概述

  • 加速查询MaxCompute数据 Hologres与MaxCompute在底层无缝连接,您无须移动数据,即可使用标准的PostgreSQL语句查询分析MaxCompute中的海量数据,快速获取查询结果。

  • 快速搭建实时数据仓库 Hologres深度集成实时计算Flink版,支持高并发地实时写入和实时查询数据,帮助您快速搭建企业实时数据仓库。

  • 数据仓库服务化

  • Hologres数据仓库的服务化体现如下:

    • 支持行存储和列存储两种存储模式。

    • 优化了高并发和复杂的查询场景,为PB级数据的查询提供秒级查询响应。

    • 支持交互式和服务式的多种查询场景。

  • 无缝对接主流BI工具 Hologres兼容PostgreSQL协议,提供JDBC或ODBC接口。您可以将查询到的海量数据轻松对接各种BI工具,实现探索式多维分析,无需迁移数据即可支持更丰富的应用场景。

说到底是啥东西了,就是以前我们做报表都是每天凌晨统计前一天的 然后写到我们数仓的ADS层(因为这层一般聚合比较高了,数据量不大了),然后再把ADS层的数据同步到我们的mysql,然后我们业务部门的人去查询这个库,提供api接口。但是这个Hologres他就是说他可以实时的去查询了,并不需要说清洗了,然后能够很快得到数据,这个就引出我们新的一概念HSAP

HSAP:分析、服务一体化

HSAP是指Hybridservingandanalyticalprocessing,我们的理念是能够支持这种很高QPS的Serverless场景的查询写入,并且将复杂的分析场景在一套体系里面完成。那么其核心是什么呢?首先,要有一套非常强大的存储,能够把实时的数据和离线的数据存储进来,实现数据的通存,同时还要有一种高效的查询服务,能够支持高QPS的查询,支持复杂的分析以及联邦查询和分析,这样的话就可以把离线数据和实时数据都导入到系统里去,然后将前端的数据应用,比如BI报表和一些在线服务,对接到系统中去。如此,上面提到的架构复杂的问题,其实就可以迎刃而解。我们把这样的设计理念叫做HSAP设计理念。

Hologres

有了上面HSAP的设计理念,我们要去做相应的产品来实现这种理念,于是有了Hologres。Hologres这个词是holographic和Postgre的组合,Postgre指的是兼容PostgreSQL生态,holographic指的是全息,也就是全部信息,我们希望通过Hologres对数据进行全息的分析,并且能够兼容PostgreSQL生态。用一句话来总结,Hologres就是基于HSAP理念,兼容PostgreSQL生态、支持MaxCompute数据直接查询,支持实时写入实时查询,实时离线联邦分析,低成本、高时效、快速构筑企业实时数据仓库

  • 统一存储

Hologres能够满足多种场景中的数据存储方式,支持PointQuery(Hbase场景)、Ad-hocQuery(Durid场景)和OLAPQuery(Impala场景)等

  • 以实时分析为中心设计

Hologres的设计理念就是为了快,支持压秒级的数据实时分析,极速查询响应,还支持实时写入、批量数据导入,拥有超高导入性能。

  • 存储计算分离

Hologres采用存储计算分离架构,用户可以根据需求进行弹性扩缩容,如果存储用的比较多可以多买存储,CPU用的比较多可以多买CPU。另外,Hologres支持异构数据源交互分析以及离线数据和实时数据的联邦查询。Hologres已经和MaxCompute无缝打通,能够直接在Hologres中对MaxCompute表进行查询。

  • PG生态

Hologres兼容PostgreSQL生态,能够与PG开发工具、BI工具进行对接,同时在阿里云提供了一套原生的开发平台,能够在WebIDE中进行SQL的开发,并且支持任务的调度。

上手

这边大家自己去找官网的demo 玩玩就行了,小六六这边 测试了他的pg 生态,就是用jdbc 完成了一下简单的crud,至于加速maxcomputer的数据开发,小六六本身是做业务开发的,所以还没试过呢?其实对于官网所说的多么牛皮,小六六自己也不知道到底多牛皮,因为没有试过,但是小六六目前的公司用过clickhourse 我们就olap的场景可以拿来对比对比,其实怎么说呢?他和clickhourse算是竞品了吧,毕竟都是实时交互分析的一种吧(这边简单的解释一下什么是实时交互分析,假设我的数据库有40亿数据,我要在这个40亿数据里面去做分析,如果是mysql会怎么做,大家知道,其实很难,但是对于这种clickhourse他就能直接写sql查,真的是牛皮)

开源系统对比

  • 存储计算角度

因为小六六公司用了clickhourse 说说他的一个缺点吧,就是他有一个缺点,就是我们写数据不能说频繁的写,我们目前是定时批量写的,还有一点就是写的延时,并不是毫秒级别的,而是秒级的。

在存储方面,Hologres支持毫秒级的写入可见性,Druid和ClickHouse支持的是秒级。同时Hologres支持写入更新。在计算方面,Hologres同Druid和ClickHouse都采用了向量化/SIMD执行器,值得一提的是,因Hologres底层技术原理可以支持联邦查询和高QPS的点查,这些都是Druid和ClickHouse无法做到的。

这个点确实是让我觉得牛皮的地方,写入还能毫秒级别的响应,又具备海量数据的毫秒级别的查询能力,真不知道底层为啥能这么快,打破我的认知了。

  • SQL、高级功能和生态

对于我们curd来说,一个产品如果不兼容sql生态,基本上学习成本就很高了,但是目前大部分的olap的工具都是支持的,包括离线数仓都是。只是说语法稍微不同。

在SQL方面,Hologres是兼容Postgres语法,开箱即可用,学习成本低,而Druid和ClickHouse的语法都是较复杂,难以上手。并且对于update、delete、join等,Druid和ClickHouse的支持都是比较有限。在高级功能上,Hologres支持向量检索、空间数据等,支持更加丰富的业务场景,并且对于安全管控方面,Hologres也有着非常严苛的权限管理,例如RAM、IP白名单等。在生态上Hologres支持会更加丰富,Hologres提供JDBC接口,且能通过Flink或者DataX、StreamX写入,实现多种异构数据源轻松导入Hologres。

结尾

其实也没啥东西,都是官网的原话,我copy了下,但是这个数据库是真的牛皮,看介绍,但是任何事物都有2面性,肯定也有他们不好的地方,比如说他们的主键好像是不能自增的。还有其他啥的,因为我没有深入,也不是很了解,大家可以了解了解,我就是科普下有这个东西,哈哈。

日常求赞

好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是真粉

创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见

六脉神剑 | 文 【原创】如果本篇博客有任何错误,请批评指教,不胜感激 !

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
金仓分析数据库(KingbaseES)是一款高性能、高可靠性的企业级数据库系统,以下是金仓分析数据库的安装教程: 1. 下载安装包:您可以从金仓官方网站或官方渠道获取适用于您操作系统版本的金仓分析数据库安装包。 2. 解压安装包:使用解压工具(如tar命令)将下载的安装包解压到您选择的安装目录中。 3. 进入安装目录:使用终端或命令行工具进入解压后的安装目录。 4. 执行安装脚本:运行安装脚本进行数据库系统的安装。根据操作系统的不同,安装脚本可能有所差异。一般情况下,您可以通过以下命令来执行安装脚本: ``` ./install.sh ``` 5. 配置数据库参数:根据您的需求和系统配置,进行数据库参数的配置。这些参数包括数据库存储路径、端口号、内存大小等。您可以编辑数据库的配置文件来修改这些参数。 6. 初始化数据库:运行初始化脚本来创建数据库实例和系统表空间。一般情况下,您可以使用以下命令完成初始化: ``` ./initdb.sh ``` 7. 启动数据库服务:通过启动脚本启动金仓分析数据库服务。一般情况下,您可以使用以下命令来启动数据库服务: ``` ./startdb.sh ``` 8. 验证数据库状态:使用命令行工具或金仓提供的客户端工具连接到数据库,验证数据库的状态是否正常运行。 以上是金仓分析数据库的基本安装流程。请注意,具体的安装步骤可能因版本和操作系统而有所差异。建议您查阅官方文档或联系金仓官方支持获取更详细的安装指南和相关帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值