ClickHouse 23.8 (LTS) 版本发布说明

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 以下是ClickHouse 23.8 (LTS) 版本一些亮点功能...这次发布涵盖了向量的算术运算、tuple的连接、cluster/clusterAllReplicas的默认参数、从元数据中计数(对于Parquet来说速度提高了5倍)、文件内跳数(对Parquet有巨大提升)、从对象存储中流式消费数据,等等

29

19

63bug


...tuplecluster/clusterAllReplicasParquet5Parquet...


23.6ClickHouse

AlKorgun,Zamazan4ik(AlexanderZaitsev),AndyFiddaman,ArturMalchanau,AshVardanian,AustinKothig,BhavnaJindal,BinXie,DaniPozo,DanielPozoEscalona,DaniëlvanEeden,DavitVardanyan,FilippOzinov,HendrikM,JaiJhala,JianfeiHu,JiangYuqing,JiyoungYoo,JoeLynch,KenjiNoguchi,KrisztiánSzűcs,LucasFernandoCardosoNunes,MaximilianRoos,NikitaKeba,PengyuanBian,RuslanMardugalliamov,Selfuppen,SergeKlochkov,SergeyKatkovskiy,TanayTummalapalli,VanDarkholme7,YuryBogomolov,cfanbo,copperybean,daviddhc20120601,ekrasikov,gyfis,hendrik-m,irenjj,jiyoungyoooo,jsc0218,justindeguzman,kothiga,nikitakeba,selfuppen,xbthink,xiebin,ИльяКоргун,


MichaelKolupaev/PavelKruglov

Parquet[1][2]23.8使ParquetJSONCSV

ClickHouse

  • Parquet
  • Parquet
  • 使I/O

使PyPIPython使pipPythonParquet125.69GiBParquet16579亿

1664G

23.8Macbook

--23.7SELECTcount()FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet)┌───count()─┐│ 900786589 │└───────────┘1 row in set. Elapsed: 26.488 sec. Processed 900.79 million rows, 134.94 GB (34.01 million rows/s., 5.09 GB/s.)--23.8SELECT count()FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet')1 row in set. Elapsed: 11.431 sec. Processed 900.79 million rows, 56.22 KB (78.80 million rows/s., 4.92 KB/s.)Peak memory usage: 44.43 MiB.

Parquet

使ParquetMetadata

SELECT tupleElement(row_groups[1],'columns')[1]AStimestampFROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/000000000000.parquet', ParquetMetadata)FORMAT PrettyJSONEachRow
{"timestamp":{"name":"timestamp","path":"timestamp","total_compressed_size":"681","total_uncompressed_size":"681","have_statistics":1,"statistics":{"num_values":"406198","null_count":"0","distinct_count":null,"min":"1690761600000000","max":"1690761650000000"}}}

23.830

--23.7SELECT  project,count()AS c
FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet')WHERE(timestamp>='2023-07-31 15:30:00')AND(timestamp<='2023-08-31 16:00:00')GROUPBY project
ORDERBY c DESCLIMIT5┌─project────────────┬───────c─┐
│ boto3            │ 9378319│ urllib3          │ 5343716│ requests         │ 4749436│ botocore         │ 4618614│ setuptools       │ 4128870└────────────────────┴─────────┘
5 rows inset. Elapsed:83.644 sec. Processed 900.79 million rows,134.94 GB (10.77 million rows/s.,1.61 GB/s.)--23.8SELECT  project,count()AS c
FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet')WHERE(timestamp>='2023-07-31 15:30:00')AND(timestamp<='2023-08-31 16:00:00')GROUPBY project
ORDERBY c DESCLIMIT55 rows inset. Elapsed:34.993 sec. Processed 338.86 million rows,51.17 GB (9.68 million rows/s.,1.46 GB/s.)Peak memory usage:95.61 MiB.

ClickBench

Clickhouse使ClickHouse_fileSQL使23.7SELECT使

10%

--23.7SELECT uniq(_file)FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet')WHERE(toUInt32(splitByChar('.', _file)[1])%10)=0┌─uniq(_file)─┐
166└─────────────┘
1 row inset. Elapsed:4.572 sec. Processed 89.46 million rows,13.41 GB (19.57 million rows/s.,2.93 GB/s.)--23.8SELECT uniq(_file)FROM s3('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023-07-31/*.parquet')WHERE(toUInt32(splitByChar('.', _file)[1])%10)=0┌─uniq(_file)─┐
166└─────────────┘
1 row inset. Elapsed:0.632 sec. Processed 89.46 million rows,0.00 B (141.65 million rows/s.,0.00 B/s.)Peak memory usage:1.71 MiB.

7Parquet

ClickHouse_path


S3SergeiKatkovskiyKseniiaSumarokova

S3ClickHouseMergeTree使INSERTINTOSELECTs3使Kafka使cronjobINSERTSELECT

23.8使S3QueueS3S3bucketClickHouse线

bucketPyPIParquet

CREATETABLE pypi_queue
ENGINE = S3Queue('https://storage.googleapis.com/clickhouse_public_datasets/pypi/file_downloads/2023/*.parquet')SETTINGS mode ='unordered'CREATETABLE pypi
ENGINE = MergeTree
ORDERBY(project,timestamp)SETTINGS allow_nullable_key =1 EMPTY ASSELECT*FROM pypi_queue
CREATE MATERIALIZED VIEW pypi_mv TO pypi ASSELECT*FROM pypi_queue
SELECTcount()FROM pypi
┌──count()─┐
39082124└──────────┘
1 row inset. Elapsed:0.003 sec.

Kafka使S3Queuepypi

bucket

S3QueuebucketClickHouseKeeperKeeper

unorderedS3ClickHouseKeeperTTLTTL使使S3bucket

使orderedKeeper


(NikitaKeba,AntonioAndelic,PavelKruglov)

ClickHousezstdlz4snappygzxzbz223.823.8ziptar7zip

1.5GBzip24CSV45GBPyPI9亿PyPIprojectversiontimestamp使_filezip使::*

file使使clickhouse-localS3

SELECTcount(), _file
FROM file('2023-08-01.zip :: *.csv')GROUPBY _file
┌──count()─┬─_file────────────────┐
47251829 │ file_download_15.csv43946206 │ file_download_17.csv39082124 │ file_download_0.csv38928391 │ file_download_21.csv34467371 │ file_download_1.csv44163805 │ file_download_12.csv43229010 │ file_download_18.csv41974421 │ file_download_10.csv33003822 │ file_download_4.csv33331289 │ file_download_23.csv34430684 │ file_download_5.csv40843622 │ file_download_11.csv41122874 │ file_download_19.csv37279028 │ file_download_6.csv36118825 │ file_download_22.csv40800076 │ file_download_7.csv31962590 │ file_download_2.csv42055283 │ file_download_20.csv30887864 │ file_download_3.csv45910953 │ file_download_13.csv43467095 │ file_download_9.csv46705311 │ file_download_16.csv42704388 │ file_download_8.csv48248862 │ file_download_14.csv└──────────┴──────────────────────┘
24 rows inset. Elapsed:97.703 sec. Processed 961.10 million rows,48.57 GB (9.84 million rows/s.,497.11 MB/s.)Peak memory usage:4.04 MiB.

使::

SELECT toStartOfMinute(timestamp)AS minute,count()AS c
FROM file('2023-08-01.zip :: file_download_9.csv')WHERE project ='requests'GROUPBY project, minute
ORDERBY minute ASC┌──────────────minute─┬─────c─┐
2023-08-0109:00:00109442023-08-0109:01:00110762023-08-0109:02:00137052023-08-0109:03:00124602023-08-0109:04:00113792023-08-0109:05:00133632023-08-0109:06:00114382023-08-0109:54:0079722023-08-0109:55:0086412023-08-0109:56:0096962023-08-0109:57:0087102023-08-0109:58:0074952023-08-0109:59:007692└─────────────────────┴───────┘
60 rows inset. Elapsed:7.374 sec. Processed 42.97 million rows,2.20 GB (5.83 million rows/s.,298.59 MB/s.)Peak memory usage:66.99 MiB.


Meetup🔥🔥🔥

ClickHouse114ClickHouseBeijingUserGroupMeetup



云数据库 ClickHouse 版是阿里云提供的全托管 ClickHouse服务,是国内唯一和 ClickHouse 原厂达成战略合作并一方提供企业版内核服务的云产品。 企业版较社区版 ClickHouse 增强支持实时update&delete,云原生存算分离及Serverless 能力,整体成本可降低50%以上,现已开启邀测,欢迎申请体验(链接:https://www.aliyun.com/product/apsaradb/clickhouse

产品介绍(https://www.aliyun.com/product/apsaradb/clickhouse

技术交流群:

image.png

ClickHouse官方公众号:

image.png

相关文章
|
11月前
|
SQL 存储 JSON
ClickHouse 23.7 版本发布说明
本文描述了部分特别值得我们重点关注的新功能。但值得注意的是,现在有几个功能已经在生产环境就绪,或处于默认启用的状态。您可以在这篇文章的末尾找到它们。
|
2月前
|
存储 关系型数据库 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 多对一和多对多
【6月更文挑战第7天】该文探讨数据模型,比较了“多对一”和“多对多”关系。通过使用ID而不是纯文本(如region_id代替&quot;Greater Seattle Area&quot;),可以实现统一、避免歧义、简化修改、支持本地化及优化搜索。在数据库设计中,需权衡冗余和范式。文档型数据库适合一对多但处理多对多复杂,若无Join,需应用程序处理。关系型数据库则通过外键和JOIN处理这些关系。文章还提及文档模型与70年代层次模型的相似性,层次模型以树形结构限制了多对多关系处理。为克服层次模型局限,发展出了关系模型和网状模型。
37 6
|
2月前
|
XML NoSQL 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 概念 + 数据模型
【6月更文挑战第5天】本文探讨了数据模型的分析,关注点包括数据元素、关系及不同类型的模型(关系、文档、图)与Schema模式。查询语言的考量涉及与数据模型的关联及声明式与命令式编程。数据模型从应用开发者到硬件工程师的各抽象层次中起着简化复杂性的关键作用,理想模型应具备简洁直观和可组合性。
23 2
|
2月前
|
SQL 人工智能 关系型数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 文档模型中Schema的灵活性
【6月更文挑战第8天】网状模型是层次模型的扩展,允许节点有多重父节点,但导航复杂,需要预知数据库结构。关系模型将数据组织为元组和关系,强调声明式查询,解耦查询语句与执行路径,简化了访问并通过查询优化器提高效率。文档型数据库适合树形结构数据,提供弱模式灵活性,但在Join支持和访问局部性上不如关系型。关系型数据库通过外键和Join处理多对多关系,适合高度关联数据。文档型数据库的模式灵活性体现在schema-on-read,写入时不校验,读取时解析,牺牲性能换取灵活性。适用于不同类型或结构变化的数据场景。
28 0
|
2月前
|
SQL JSON NoSQL
【DDIA笔记】【ch2】 数据模型和查询语言 -- 关系模型与文档模型
【6月更文挑战第6天】关系模型是主流数据库模型,以二维表形式展示数据,支持关系算子。分为事务型、分析型和混合型。尽管有其他模型挑战,如网状和层次模型,但关系模型仍占主导。然而,随着大数据增长和NoSQL的出现(如MongoDB、Redis),强调伸缩性、专业化查询和表达力,关系模型的局限性显现。面向对象编程与SQL的不匹配导致“阻抗不匹配”问题,ORM框架缓解但未完全解决。文档模型(如JSON)提供更自然的嵌套结构,适合表示复杂关系,具备模式灵活性和更好的数据局部性。
33 0
|
2月前
|
敏捷开发 存储 缓存
【DDIA笔记】【ch1】 可靠性、可扩展性和可维护性 -- 可维护性
【6月更文挑战第4天】本文探讨了Twitter面临的一次发推文引发的巨大写入压力问题,指出用户粉丝数分布是决定系统扩展性的关键因素。为解决此问题,Twitter采用混合策略,大部分用户推文扇出至粉丝主页时间线,而少数名人推文则单独处理。性能指标包括吞吐量、响应时间和延迟,其中高百分位响应时间对用户体验至关重要。应对负载的方法分为纵向和横向扩展,以及自动和手动调整。文章强调了可维护性的重要性,包括可操作性、简单性和可演化性,以减轻维护负担和适应变化。此外,良好设计应减少复杂性,提供预测性行为,并支持未来改动。
33 0
|
2月前
|
缓存 关系型数据库 数据库
【DDIA笔记】【ch1】 可靠性、可扩展性和可维护性 -- 可扩展性
【6月更文挑战第3天】可扩展性关乎系统应对负载增长的能力,但在产品初期过度设计可能导致失败。理解基本概念以应对可能的负载增长是必要的。衡量负载的关键指标包括日活、请求频率、数据库读写比例等。推特的扩展性挑战在于&quot;扇出&quot;,即用户关注网络的广度。两种策略包括拉取(按需查询数据库)和推送(预计算feed流)。推送方法在推特案例中更为有效,因为它减少了高流量时的实时计算压力。
29 0
|
2月前
|
存储 消息中间件 缓存
【DDIA笔记】【ch1】 可靠性、可扩展性和可维护性 -- part1 可靠性
【6月更文挑战第2天】本书探讨现代数据系统,阐述其在信息社会中的关键作用,包括数据库、缓存、搜索引擎、流处理、批处理和消息队列等组成部分。随着技术发展,工具如Kafka、Spark和Redis等多功能组件使得系统设计更为复杂。面对可靠性、可扩展性和可维护性的挑战,书中强调了容错和韧性的重要性,区分了硬件故障、软件错误和人为错误,并提出了应对措施。可靠性关乎用户数据、企业声誉和生存,因此是系统设计的核心考量。
36 0
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
有了原理图,可以设计硬件PCB,在设计PCB之间还有一个协同优先动作,就是映射封装,原理图库的元器件我们是自己设计的。为了更好的表述封装设计过程,本文描述了CH340G和MAX232芯片封装创建(SOP-16),并将原理图的元器件关联引脚封装。
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件

热门文章

最新文章