ClickHouse数据库规范文档.docxVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ClickHouse概述 概述 ClickHouse是一款开源列式存储分析型数据库,主要用于数据分析(OLAP)领域,核心特点有数据高效压缩、实时数据更新、支持近似预估计算、SQL支持、查询性能等。 数据库引擎 Atomic引擎 提供特有可配置的table engines和SQL方言。 MySQL引擎 MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换,MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到MySQL服务器中,因此您可以执行诸如SHOW TABLES或SHOW CREATE TABLE之类的操作。 CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL(host:port, [database | database], user, password) PostgreSQL引擎 允许连接到远程PostgreSQL服务。支持读写操作(SELECT和INSERT查询),以在ClickHouse和PostgreSQL之间交换数据。在SHOW TABLES和DESCRIBE TABLE查询的帮助下,从远程PostgreSQL实时访问表列表和表结构。支持表结构修改(ALTER TABLE ... ADD|DROP COLUMN)。如果use_table_cache参数(参见下面的引擎参数)设置为1,则会缓存表结构,不会检查是否被修改,但可以用DETACH和ATTACH查询进行更新。 CREATE DATABASE test_database ENGINE = PostgreSQL(host:port, database, user, password[, `use_table_cache`]); Lazy引擎 在最后一次访问之后,只在RAM中保存expiration_time_in_seconds秒。只能用于*Log表。它是为存储许多小的*Log表而优化的,对于这些表,访问之间有很长的时间间隔。 CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds); SQLite引擎 允许连接到SQLite数据库并执行INSERT和SELECT查询以在 ClickHouse 和 SQLite 之间交换数据。 CREATE DATABASE sqlite_database ENGINE = SQLite(db_path) db_path — SQLite 数据库文件的路径。 表引擎 表引擎在ClickHouse中的作用十分关键,直接决定了数据如何存储和读取、是否支持并发读写、是否支持index、支持的query种类、是否支持主备复制等。 ClickHouse提供了大约28种表引擎,各有各的用途,比如有Log系列用来做小表数据分析,MergeTree系列用来做大数据量分析,而Integration系列则多用于外表数据集成。再考虑复制表Replicated系列,分布式表Distributed等 Log系列 Log系列表引擎功能相对简单,主要用于快速写入小表(1百万行左右的表),然后全部读出的场景。 几种Log表引擎的共性是: 数据被顺序append写到磁盘上; 不支持delete、update; 不支持index; 不支持原子性写; insert会阻塞select操作。 它们彼此之间的区别是: TinyLog:不支持并发读取数据文件,查询性能较差;格式简单,适合用来暂存中间数据; StripLog:支持并发读取数据文件,查询性能比TinyLog好;将所有列存储在同一个大文件中,减少了文件个数; Log:支持并发读取数据文件,查询性能比TinyLog好;每个列会单独存储在一个独立文件中。 Integration系列 该系统表引擎主要用于将外部数据导入到ClickHouse中,或者在ClickHouse中直接操作外部数据源。 Kafka:将Kafka Topic中的数据直接导入到ClickHouse; MySQL:将Mysql作为存储引擎,直接在ClickHouse中对MySQL表进行select等操作; JDBC/ODBC:通过指定jdbc、odbc连接串读取数据源; HDFS:直接读取HDFS上的特定格式的数据文件; Special系列 Special系列的表引擎,大多是为了特定场景而定制的。这里也挑选几个简单介绍,不做详述。 Memory:将数据存储在内存中,重启后会导致数据丢失。查询性能极好,适合于对于数据持久性没有要求的1亿一

文档评论(0)

Sir + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档