Clickhouse - 100亿数据是不是需要单独的数据库和表格

Posted

技术标签:

【中文标题】Clickhouse - 100亿数据是不是需要单独的数据库和表格【英文标题】:Clickhouse - Does 10 billion data need separate databases and tablesClickhouse - 100亿数据是否需要单独的数据库和表格 【发布时间】:2021-04-28 06:55:29 【问题描述】:

我有100亿详细数据查询的需求。 100 亿条数据存储在Clickhouse 中。我需要分离数据库和表吗? 我使用的表引擎是ReplicatedReplacingMergeTree 查询语句如下:

select * from table_a where name = 'akkj';

select * from table_b where name = 'bttc';

【问题讨论】:

【参考方案1】:

不,您可以在一个表中存储任意数量的行。

我的作品:

SELECT count()
FROM fact_event_shard

┌───────count()─┐
│ 1415809324034 │
└───────────────┘

select * from table_a where name = 'akkj'; select * from table_b where name = 'bttc';

非常糟糕的主意。 Clickhouse 不喜欢这样的查询。您应该使用 Cassandra,而不是 Clichkouse。

【讨论】:

非常感谢。当我导入100g文件,使用-- query = "insert into..."时,总是发现一段时间后命令被kill。根据日志,超时可能是300秒,但不确定是不是这个问题。你有没有遇到过?或者大量数据导入的方法是什么? 这有 300 个可能的原因。需要查看 CH 日志。文件的大小应该无关紧要。 Insert 以流式方式工作,并按 100 万行批量处理。 @datagic 你可以使用clickhouse-client --progress --receive_timeout=3600 --query="INSERT ... " @Slach 好的,谢谢,我试试 @DennyCrane 我的 Clickhouse 只有 50 亿条数据,但是查询性能很低,几十秒才能找到结果。我的 CREATE TABLE 语句是 create table tablename (... ) engine=ReplicatedReplacingMergeTree(...) order by (a,b,c,d,e...) 我的查询是select * from table where c='ijkk'我的order by setting有问题吗?

以上是关于Clickhouse - 100亿数据是不是需要单独的数据库和表格的主要内容,如果未能解决你的问题,请参考以下文章

10亿数据秒级查询,ClickHouse太快了!

极客星球|Clickhouse在数据智能公司的应用与实践

.Net轻松处理亿级数据--clickhouse及可视化界面安装介绍

Clickhouse 是不是支持快速检索任何列?

极客星球|Clickhouse在数据智能公司的应用与实践

.Net轻松处理亿级数据--ClickHouse数据操作