ClickHouse是一款MPP架构的列式存储数据库,并允许使用SQL查询实时生成分析报告,也是一个新的开源列式数据库。
随着业务的迅猛增长,Yandex.Metrica目前已经成为世界第三大Web流量分析平台,每天处理超过200亿个跟踪事件。能够拥有如此惊人的体量,在它背后提供支撑的ClickHouse功不可没。ClickHouse已经为Yandex.Metrica存储了超过20万亿行的数据,90%的自定义查询能够在1秒内返回,其集群规模也超过了400台服务器。虽然ClickHouse起初只是为了Yandex.Metrica而研发的,但由于它出众的性能,目前也被广泛应用于Yandex内部其他数十个产品上。
ClickHouse的核心特性:
1、ClickHouse拥有完备的管理功能,所以它称得上是一个DBMS ( Database Management System,数据库管理系统 ),而不仅是一个数据库。作为一个DBMS,它具备了一些基本功能,如下所示。
(1)DDL ( 数据定义语言 ):可以动态地创建、修改或删除数据库、表和视图,而无须重启服务。
(2)DML ( 数据操作语言 ):可以动态查询、插入、修改或删除数据。
(3)权限控制:可以按照用户粒度设置数据库或者表的操作权限,保障数据的安全性。
(4)数据备份与恢复:提供了数据备份导出与导入恢复机制,满足生产环境的要求。
(5)分布式管理:提供集群模式,能够自动管理多个数据库节点。
2、列式存储与数据压缩
列式存储和数据压缩,对于一款高性能数据库来说是必不可少的特性。一个非常流行的观点认为,如果你想让查询变得更快,最简单且有效的方法是减少数据扫描范围和数据传输时的大小,而列式存储和数据压缩就可以帮助我们实现上述两点。列式存储和数据压缩通常是伴生的,因为一般来说列式存储是数据压缩的前提。
3、向量化执行引擎
向量化执行,可以简单地看作一项消除程序中循环的优化,需要利用CPU的SIMD指令。SIMD的全称是Single Instruction Multiple Data,即用单条指令操作多条数据。现代计算机系统概念中,它是通过数据并行以提高性能的一种实现方式 ( 其他的还有指令级并行和线程级并行 ),它的原理是在CPU寄存器层面实现数据的并行操作。
4、关系模型与SQL查询
因为关系型数据库和SQL语言,可以说是软件领域发展至今应用最为广泛的技术之一,拥有极高的"群众基础"。也正因为ClickHouse提供了标准协议的SQL查询接口,使得现有的第三方分析可视化系统可以轻松与它集成对接。
5、多样化的表引擎
ClickHouse共拥有合并树、内存、文件、接口和其他6大类20多种表引擎。其中每一种表引擎都有着各自的特点,用户可以根据实际业务场景的要求,选择合适的表引擎使用。
6、分布式架构
ClickHouse在数据存取方面,既支持分区 ( 纵向扩展,利用多线程原理 ),也支持分片 ( 横向扩展,利用分布式原理 ),可以说是将多线程和分布式的技术应用到了极致。
ClickHouse采用Multi-Master多主架构,集群中的每个节点角色对等,客户端访问任意一个节点都能得到相同的效果。
NBI可视化平台介绍:
NBI大数据可视化分析平台作为新一代自助式、探索式分析工具,在产品设计理念上始终从用户的角度出发,一直围绕简单、易用,强调交互分析为目的的新型产品。我们将数据分析的各环节(数据准备、自服务数据建模、探索式分析、权限管控)融入到系统当中,让企业有序的、安全的管理数据和分析数据。
NBI大数据可视化分析平台特性介绍:
(1)丰富的数据源接入能力:(关系型数据源、大数据分析引擎、MPP数据库、时序数据库...)
(2)易于操作的可视化编辑器:(通过简单的点击、拖拽实现数据的连接和处理,快速实现数据可视化需求)
(3)丰富的展示组件:(NBI可视化平台中有多大50余种可视化组件)
更多信息请参考(http://www.easydatavis.com)