阿里云-数据库-ClickHouse
https://help.aliyun.com/product/144466.html
云数据库ClickHouse是开源列式数据库管理系统ClickHouse在阿里云上的托管服务,用户可以在阿里云上便捷地购买云资源,搭建自己的ClickHouse集群。
产品架构
云数据库ClickHouse分为社区兼容版和云原生版,在开源版本基础上提升了稳定性、安全性和可运维性。
社区兼容版架构

- 节点和节点完全对等,每一个节点都可以承载查询请求和写入请求,以及后台数据的计算和操作。
- 每个云数据库ClickHouse社区兼容版集群包含1个或多个分片(Shard),每个分片内部包含1个或多个副本(Replica)。
- 所有节点都部署在阿里云弹性计算服务器ECS之上,底层采用高可靠的云盘作为持久化存储介质。
云原生版架构

- 计算层包含计算组和读写缓存层,计算组支持变配,读写缓存层用于加速请求处理。
- 存储层解耦计算层,用于数据的持久化存储,数据按照逻辑分片(Shard)分布,根据用户需求按量收费,可以动态调整,不用提前设置存储空间。
云原生版的更多信息,具体请参见ClickHouse云原生版产品解析。
产品特性
云数据库ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。
- 数据压缩比高。
- 多核并行计算。
- 向量化计算引擎。
- 支持嵌套数据结构。
- 支持稀疏索引。
- 支持数据Insert和Update。
ClickHouse官网地址,请参见https://clickhouse.yandex/。
ClickHouse中文文档链接,请参见https://clickhouse.yandex/docs/zh/。
增强特性
- 增强安全性:增加用户管理、白名单等功能。
- 可视化运维:版本升级、故障切换等。
- 可扩展性:多规格选配、弹性扩容。
- 数据生态:打通云上各个数据源,方便数据同步和迁移。
本文介绍了云数据库ClickHouse的产品优势和特点。
核心能力
| 核心优势 | 描述 |
|---|---|
| 高可靠存储引擎 | 基于阿里飞天分布式系统的云盘存储,充分利用云平台存储可靠性特性。 |
| 扩展性强 | 提供数据库扩容管理模块,能便捷地按需对集群进行扩容,无需手动进行数据搬迁。 |
| 数据闭环流通 | 与云上日志系统、数据库、数据应用工具无缝集成,能便捷地进行数据同步,降低数据迁移工作量。 |
| 专业服务能力 | 阿里云提供专业的数据库专家,给用户提供技术支持和服务。 |
| 特性 | 功能介绍 | 详细描述 |
|---|---|---|
| 架构灵活 | 支持单节点、单副本、多节点、多副本多种架构 |
节点数量:最低支持创建一个节点的集群,也支持创建若干个节点的集群。 动态升降配:支持节点规格升降配,节点数可扩缩容,后台自动进行数据迁移,无需手动搬迁数据 。 副本数量:支持创建单副本集群,也支持创建多副本集群。 |
| 数据安全 | 访问白名单和一键恢复,多层网络安全防护 |
VPC私有网络:实例部署在利用OverLay技术在物理网络基础上构建的专有VPC虚拟网络上,在TCP层直接进行网络隔离保护。 DDoS防护:在网络入口实时监测,当发现超大流量攻击时,对源IP进行清洗,清洗无效情况下可以直接将恶意IP拉进黑洞。 IP白名单配置:支持配置访问IP白名单规则,直接从访问源进行风险控制。 |
| 便捷运维 | 专业监控和数据库管理平台 |
监控平台:提供CPU使用率、IOPS、连接数、磁盘空间等实例信息实时监控及报警,随时随地了解实例动态。 可视化管理平台:管理控制平台对实例重启等操作可便捷的进行一键式操作。 可视化DMS平台:专业的DMS数据管理平台,提供可视化的数据管理、数据查询工作台。 数据库内核版本管理:提供数据库内核版本升级管理操作模块,降低内核版本管理成本。 |
云数据库ClickHouse应用场景介绍。
交互式报表
- 基于ClickHouse和BI工具构建实时运营监控报表
- 利用ClickHouse构建实时交互式报表,实时分析订单、收入、用户数等核心业务指标;构建用户来源分析系统,跟踪各渠道PV、UV来源。
- 海量数据实时多维查询
- 在数亿至数百亿记录规模大宽表,数百以上维度自由查询,响应时间通常在100毫秒以内。让业务人员能持续探索式查询分析,无需中断分析思路,便于深挖业务价值,具有非常好的查询体验。
用户画像分析
随着数据时代的发展,各行各业数据平台的体量越来越大,用户个性化运营的诉求也越来越突出,用户标签系统,做为个性化千人千面运营的基础服务,应运而生。如今,几乎所有行业(如互联网、游戏、教育等)都有实时精准营销的需求。通过系统生成用户画像,在营销时通过条件组合筛选用户,快速提取目标群体。
- 基于ClickHouse构建用户特征行为分析系统
- 利用ClickHouse对人群标签数据进行实时筛选并进行群体画像统计;自定义条件对海量明细日志记录进行过滤,分析用户行为。
- 用户分群统计
- 构建用户特征大宽表,任意选择用户属性标签数据和筛选条件,进行人群特征统计分析。
- 访客来源分析展示
- 通过批量离线计算对用户访问日志中的用户行为进行关联,生成用户行为路径大宽表同步到ClickHouse,基于ClickHoue构建交互式访客来源探索分析可视化系统。
基本概念
地域(Region)
购买云数据库ClickHouse的服务器所处地理位置。您需要在购买云数据库ClickHouse服务时指定Region,Region一旦指定后就不允许更改。
可用区(Zone)
同一地域下,电力、网络隔离的物理区域,可用区之间内网互通,可用区内网络延时更小。
ClickHouse集群(Cluster)
在物理构成上,ClickHouse集群是由多个ClickHouse Server实例组成的分布式数据库。这些ClickHouse Server根据购买规格的不同而可能包含1个或多个副本(Replica)、1个或多个分片(Shard)。在逻辑构成上,一个ClickHouse集群可以包含多个数据库(Database)对象。
副本配置(Edition)
- 双副本版:每个节点包含两个副本,某个副本服务不可用的时候,同一分片的另一个副本还可以继续服务。
- 单副本版:每个节点只有1个副本,该副本服务不可用时,会导致整个集群不可用,需要等待此副本完全恢复服务状态,集群才能继续提供稳定服务。
- 双副本版的资源以及对应的购买成本都是单副本版的2倍。
- 由于底层云盘提供高可靠保证,即便是单副本版也能确保数据不会丢失。
分片(Shard)
在超大规模海量数据处理场景下,单台服务器的存储、计算资源会成为瓶颈。为了进一步提高效率,云数据库ClickHouse将海量数据分散存储到多台服务器上,每台服务器只存储和处理海量数据的一部分,在这种架构下,每台服务器被称为一个分片(Shard)。
副本(Replica)
为了在异常情况下保证数据的安全性和服务的高可用性,云数据库ClickHouse提供了副本机制,将单台服务器的数据冗余存储在2台或多台服务器上。
计算组
计算组由一个或者多个ECS资源构成,是云原生版集群的最小可见计算资源粒度。
数据库(Database)
数据库是云数据库ClickHouse集群中的最高级别对象,内部包含表(Table)、列(Column)、视图(View)、函数、数据类型等。
表(Table)
表是数据的组织形式,由多行、多列构成。
| 类型 | 说明 | 区别 |
|---|---|---|
| 本地表(Local Table) | 数据只会存储在当前写入的节点上,不会被分散到多台服务器上。 |
|
| 分布式表(Distributed Table) | 本地表的集合,它将多个本地表抽象为一张统一的表,对外提供写入、查询功能。当写入分布式表时,数据会被自动分发到集合中的各个本地表中;当查询分布式表时,集合中的各个本地表都会被分别查询,并且把最终结果汇总后返回。 |
| 类型 | 说明 | 区别 |
|---|---|---|
| 单机表(Non-Replicated Table) | 数据只会存储在当前服务器上,不会被复制到其他服务器,即只有一个副本。 |
|
| 复制表(Replicated Table) | 数据会被自动复制到多台服务器上,形成多个副本。 |
功能限制
- 高可用集群必须用复制表引擎。
- 默认所有Server都会自动组成名字为default的集群,DDL需要使用
ON CLUSTER default语句在所有Server上执行。 - 不支持用户自行配置remote_servers。
- 不支持File、URL表引擎。
- 不支持File、URL表函数。
- 不支持用户自定义profile。
对象命名规范限制
| 对象 | 命名规则 | 限制 |
|---|---|---|
| 数据库名 | 以小写字母开头,可包含字母、数字以及下划线(_),但不能包含连续两个及以上的下划线(_),长度不超过64个字符。 | 数据库名不能是system,system是内置数据库。 |
| 表名 | 以字母或下划线(_)开头,可包含字母、数字以及下划线(_),长度为1到127个字符。 | 表名不包含引号、感叹号(!)和空格。表名不能是SQL保留关键字。 |
| 列名 | 以字母或下划线(_)开头,可包含字母、数字以及下划线(_),长度为1到127个字符。 | 列名不包含引号、感叹号(!)和空格。列名不能是SQL保留关键字。 |
| 账号名 | 以小写字母开头,小写字母或数字结尾,可包含小字母、数字以及下划线(_),长度为2到16个字符。 | - |
| 密码限制 | 包含大写字母、小写字母、数字以及特殊字符(!)、(@)、(#)、($)、(%)、(^)、(&)、(*)(())、(_)、(+)、(-)、(=),每个密码至少包含其中三项(大写字母、小写字母、数字以及特殊字符),长度为8到32个字符。 | - |
阿里云-数据库-ClickHouse的更多相关文章
- 【IT名人堂】何云飞:阿里云数据库的架构演进之路
[IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”, ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- 公网访问阿里云数据库MongoDB——填坑日记
业务情景 两台服务器,一台阿里云ECS云服务器(专用网络),另一台是阿里云数据库MongoDB,处于安全考虑MongoDB是不运行外网连接的,那接下来就看怎么实现公网访问. 看到上面红色的网络类型描述 ...
- 云栖神侠传—阿里云数据库专家德歌告诉你PostgreSQL的那些事
什么是云栖神侠传: 云栖社区(http://yq.aliyun.com/?utm_source=yqdg),是阿里云面向开发者群体的开放型社区.在云栖社区中,活跃着许多阿里技术大牛,他们在自己的技术领 ...
- 阿里云数据库RDS迁移,DTS 迁移过程中,是否会锁表,对源数据库是否有影响?
阿里云数据库RDS迁移,DTS 迁移过程中,是否会锁表,对源数据库是否有影响? DTS 在进行全量数据迁移和增量数据迁移的过程中,均不会对源端数据库进行锁表,因此在全量数据迁移和增量数据迁移的过程中, ...
- 阿里云数据库MySQL版快速上手!
MySQL是全球最受欢迎的开源数据库,其在各Web应用中均有广泛部署.阿里云数据库MySQL版基于Alibaba的MySQL源码分支,经过双11高并发.大数据量的考验,拥有优良的性能和吞吐量.除此之外 ...
- 重新定义数据库的时刻,阿里云数据库专家带你了解POLARDB
摘要:POLARDB是阿里云ApsaraDB数据库团队研发的基于云计算架构的下一代关系型数据库,其最大的特色是计算节点与存储节点分离,借助优秀的RDMA网络以及最新的块存储技术.POLARDB不但满足 ...
- 阿里云数据库导出-本地mysql导入
因阿里云数据库标准访问模式不支持外网接入 因此导出一份到本地,注意选择编码为utf8 mysql 命令行用source导入有utf8编码的sql文件时导入的数据有乱码解决办法 set names ut ...
- 确保数据零丢失!阿里云数据库RDS for MySQL 三节点企业版正式商用
2019年10月23号,阿里云数据库RDS for MySQL 三节点企业版正式商用,RDS for MySQL三节点企业版基于Paxos协议实现数据库复制,每个事务日志确保至少同步两个节点,实现任意 ...
- 赋能时空云计算,阿里云数据库时空引擎Ganos上线
随着移动互联网.位置感知技术.对地观测技术的快速发展,时空信息已从传统GIS行业渗透到大众应用及各行各业.从静态POI(兴趣点)到APP位置信息,从导航电子地图到车辆行驶轨迹,从卫星影像到三维城市建模 ...
随机推荐
- Clickhouse入门及实践
ClickHouse安装 采用doker安装测试: 拉取服务端 docker pull yandex/clickhouse-server 拉取客户端 docker pull yandex/clickh ...
- 编写一个基础的dockerfile
编写简单的dockerfile FROM GaohongYu/centos7.5-yum:latest MAINTAINER GaoHongYu COPY *.repo /etc/yum.repos. ...
- Codeforces Round 988 (Div. 3)
Codeforces Round 988 (Div. 3) 总结 A 没啥好说的,用桶存出现次数. #include <iostream> #include <cstdio> ...
- 纯HTML5+CSS3实现一棵自己跳舞的树
代码没有多少,也没有用到任何图片,就实现了一棵可以自己跳舞的树.文件组成就简简单单的一个html和一个css html部分并不是很复杂,就是一些空的div,然后加上html模板也就那么十来行代码 最关 ...
- npm 发包命令
npm publish 此命令发布latest版本 npm publish --tag=alpha 发布alpha版本(测试版本) 紧急回退包方案: 分享一下bnpm给的处理方案 如果因为 ...
- 动态配置生成echarts图表
动态配置x轴和y轴的数据,并且可以选择柱状图.折线图.饼状图等图形 父组件代码: <template> <div class="reportPicture"> ...
- vagrant搭建开发环境
一:我们为什么需要用这玩意 我们在开发中经常会面临的问题:环境不一致,有人用Mac有人用Windos还有几个用linux的,而我们的服务器都是linux. 在我本地是可以的啊,我测了都,没有问题啊,然 ...
- JPEG格式研究——(3)霍夫曼解码
因为霍夫曼编码以bit为单位,长度又不确定,读取时无法区分,JPEG采用了范式霍夫曼编码. 读取并生成霍夫曼表 JPEG中DC系数和AC系数是分别进行编码将霍夫曼表保存在DQT中. 直接上代码解释可能 ...
- 关于PageHiOffice插件在win10登录桌面前提示的解决
win10笔记本开机,在未登录桌面时,总是有PageHiOffice插件已过期的提示. 使用process monitor 的Enable Boot Logging功能进行监视,重启后,再次打开pro ...
- ZCMU-1101
这个题不怎么难,就是当时没有理解到字典序的意思:我一直以为是自己元素间的比较,后再同学帮助下明白这里是与其他比,这样就很简单了.就是要求当前那个最小就可以了. 对这道题我有点吐槽明明自己都说了最后一组 ...