ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。与传统的行式数据库系统不同,它将同一列的数据存储在一起,而不是将同一行的数据存储在一起。这种存储方式使得针对分析类查询,只需要读取表的一小部分列,大大减少了I/O消耗。 常见的行式数据库系统有:MySQL、Postgres和MSSQLServer。而常见的列式数据库有:Vertica、Paraccel(ActianMatrix,AmazonRedshift)、SybaseIQ、Exasol、Infobright、InfiniDB、MonetDB(VectorWise,Actian Vector)、LucidDB、SAPHANA、GoogleDremel、GooglePowerDrill、Druid、kdb+。 OLAP场景的关键特征是绝大多数是读请求,数据以相当大的批次(>1000行)更新,或者根本没有更新。已添加到数据库的数据不能修改。对于读取,从数据库中提取相当多的行,但只提取列的一小部分。查询相对较少,通常每台服务器每秒查询数百次或更少。对于简单查询,允许延迟大约50毫秒。列中的数据相对较小:数字和短字符串。处理单个查询时需要高吞吐量,每台服务器每秒可达数十亿行。事务不是必须的,对数据一致性要求低。每个查询有一个大表,其他的都很小。查询结果明显小于源数据。 列式数据库更适合于OLAP场景,原因包括:1.针对分析类查询,通常只需要读取表的一小部分列。在列式数据库中你可以只读取你需要的数据,大大减少I/O消耗。2.由于数据总是打包成批量读取的,所以压缩是非常容易的。同时数据按列分别存储这也更容易压缩,进一步降低了I/O的体积。3.由于I/O的降低,这将帮助更多的数据被系统缓存,大大提高查询效率。 OLAP场景与其他通常业务场景(例如,OLTP或K/V)有很大的不同,因此想要使用OLTP或Key-Value数据库去高效的处理分析查询场景,并不是非常完美的适用方案。使用OLAP数据库去处理分析请求通常要优于使用MongoDB或Redis去处理分析请求。 ClickHouse作为一个列式数据库管理系统,其优势在于针对OLAP场景的高效处理能力,能够大大提高数据查询和处理的效率。
剩余452页未读,继续阅读
- 粉丝: 2
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享以太网开发入门很好的技术资料.zip
- SearchMap是一款集域名解析、IP反查域名、WHOIS查询、CDN检测、端口扫描、目录扫描、子域名挖掘为一体的前渗透测试综合信息收集工具 .zip
- Shiro后渗透工具.zip
- Message(解决方案).md
- 空指针异常如何解决.md
- java.运算符.md
- ArithmeticException解决办法.md
- Condition(解决方案).md
- ArrayIndexOutOfBoundsException解决办法.md
- java.流程控制.md
- 数组越界异常如何解决.md
- 非法参数异常如何解决.md
- NumberFormatException解决办法.md
- java.面向对象编程.md
- 类型转换异常如何解决.md
- FileNotFoundException解决办法.md