前面一篇文章已经很详细地介绍了ClickHouse
中每种数据类型的定义和基本使用,这篇文章会详细地介绍ClickHouse
中的DDL
和DML
,很多操作区别于传统的DBMS
,特别是代价巨大的DELETE
和UPDATE
操作。接下来开始吧💪💪
一般情况下,笔者建议ClickHouse的关键字全用大写,这样可以更加凸显出自定义的驼峰命名和大写关键字的不同,可读性和可维护性更高
本文使用的ClickHouse服务版本为当前最新的20.10.3.30
前边一篇文章详细分析了如何在Windows10
系统下搭建ClickHouse
的开发环境,接着需要详细学习一下此数据库的数据定义,包括数据类型、DDL
和DML
。ClickHouse
作为一款完备的DBMS
,提供了类似于MySQL
(其实有部分语法差别还是比较大的)的DDL
与DML
功能,并且实现了大部分标准SQL
规范中的内容。系统学习ClickHouse
的数据定义能够帮助开发者更深刻地理解和使用ClickHouse
。本文大纲(右侧分支)👇👇
本文会详细分析ClickHouse
目前最新版本(20.10.3.30
)支持的所有数据类型。
随着现在业务开展,几个业务系统的数据量开始急剧膨胀。之前使用了关系型数据库MySQL
进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN
操作在提高了云MySQL
的配置后依然有点吃不消,加之开发了一个基于关系型数据库设计的标签服务,日全量标签数据(无法避免的笛卡尔积)单表超过5000W
。目前采取了基于用户ID
分段配合多进程处理的方式暂时延缓了性能的恶化,但是考虑到不远将来,还是需要做一个小型的数据平台。Hadoop
的那套体系过于庞大,组件过多,硬件和软件的学习成本比较高,不是一朝一夕可以让小团队的所有成员掌握。考虑到这么多因素的前提下,需要调研ClickHouse
这项黑科技,看看使用他能不能突围困局。