- 简介
ClickHouse是开源、高性能的列式OLAP的数据库管理系统(DBMS)。使用SQL进行实时分析。
Clickhouse从 2016 年开始作为开源解决方案提供,最初为世界第三大数据分析平台 YandexMetrica 开发,随着 17 年引入国内,ClickHouse 的开发者和用户已经遍布全球各地。国外的 Uber、eBay、CloudFlare、Cisco,国内的阿里巴巴、腾讯、字节、携程、有赞、快手等国内许多头部大厂都在深度使用 ClickHouse 技术。2021年9月ClickHouse 的创始人 Alexey在 GitHub 宣布他们决定正式从 Yandex 独立,单独成立公司。同时 ClickHouse 公司获得由 Index Ventures 和 Benchmark 领投的 5000 万美元 A 轮融资,Yandex 也参与其中。2021年10月获得由 Coatue 和 Altimeter 领投的2.5 亿美元的 B 轮融资。
ClickHouse版本release频繁。版本分为:testing、prestable、stable、tls。其中stable为稳定版本,最新版本为v21.11.7.9-stable(即21年第11个版本patchset 7,9为内部版本号可以忽略,版本类型为stable)。lts是特殊的稳定版本,提供更久的支持,最新版本为v21.8.12.29-lts(即21年第8个版本patchset 12),数据截止2021年12月15日。
2 Clickhouse 适用场景- 绝大多数是读请求
- 数据以相当大的批次(> 1000行)更新,而不是单行更新;或根本没有更新
- 已添加到数据库的数据不能修改
- 对于读取,从数据库中提取相当多的行,但只提取列的一小部分
- 宽表,即每个表包含着大量的列
- 查询相对较少(通常每台服务器每秒查询数百次或更少)
- 对于简单查询,允许延迟大约50毫秒
- 列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)
- 处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)
- 事务不是必须的
- 对数据一致性要求低
- 每个查询有一个大表。除此以外,其他的都很小。
- 查询结果明显小于源数据。即数据经过过滤或聚合后结果可存储在单个服务器的RAM中
- 真正的列存数据库:紧凑地存储数据,没有任何garbage。有些系统可以单独存储不同列的值,如 Hbase、BigTable、Cassandra 和 HyperTable。在这些系统中,可以获得每秒大约 10 万行的吞吐量,但不会获得每秒数亿行的吞吐量。
- 数据压缩:支持数据压缩。除高效通用压缩编解码器之外,对特殊场景提供专用解码器如时间序列数据库。
- 数据磁盘存储、支持一级二级索引
- 多核并行处理:大型查询自动并行化,占用当前服务器上可用的所有必要资源
- 多台服务器上的分布式处理
- SQL 支持:支持标准SQL,
- 矢量计算引擎
- 实时数据更新、适合在线查询、支持近似计算、自适应连接算法
- 基于角色的访问控制
(1)使用clickhouse-keeper替换zookeeper
(2)支持备份和恢复:备份表、数据库、服务、集群;增量备份,部分restore;支持可插拔存储备份选项
(3)半结构化数据:JSON数据自动类型转换和动态子列;稀疏列格式和稀疏列函数优化
;动态选择列格式-full,const(常量),sparse(稀疏),low cardinality(低基数);对于大量列,混合使用compact/wide数据存储结构
(4)支持事务:将多块或多分区原子的插入到 MergeTree 和ReplicatedMergeTree表中;原子的插入到表和相关的物化视图中;原子插入到多表中;查询一致性的快照;原子的插入到分布式表中。
(5)轻量UPDATE/DELETE:使用删除标记使mutations *** 作更加轻量化。
(6)SQL 兼容性改进:名称解析和查询分析;初步支持关联子查询;允许在表达式中使用窗口函数;为窗口函数等添加别名;支持GROUPING SETS。
(7) JOIN改进:支持JOIN重排;扩展条件下推适用的范围;将anti-join转化为 NOT IN;使用表排序进行DISTINCT优化和merge JOIN;grace hash join算法。
(8) 资源管理:Memory overcommit(排序和硬内存限制);优化标量子查询;默认情况下使用外存进行 GROUP BY 和 ORDER BY;cpu和网络优先级;IO operations scheduler优先级。
(9) 存储计算分离:副本并发读;具有服务发现的动态集群配置;从对象存储缓存数据
;ReplicatedMergeTree 的简化;元数据存储共享。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)