clickhouse,列式数据库

列式数据库列式数据库一般应用于对应大量的字符串数据 , 实例如HBase , cassandra , SybaseIQ , HPVertica、EMCGreenplum等 。我知道大概有几种:1.关系数据库2.列式数据库3.键值数据库4.图像图形数据库5.分布式文档数据库下面分别一一说明其代表的产品以及其主要特点 。
大数据的数据库是什么?

clickhouse,列式数据库


大数据时代是当前最吃香的名词 , 其应用到世界的各个领域和行业 。我知道大概有几种:1.关系数据库2.列式数据库3.键值数据库4.图像图形数据库5.分布式文档数据库下面分别一一说明其代表的产品以及其主要特点 。关系数据库关系型数据一直为我们所用 , 比如Oracle , MySQL , SQL Server , Postgress.保存到关系数据库的数据必须满足一定要求 , 用通用的话来说就是满足一定的数据范式 , 比如主键 , 外键 , 数据的冗余;举个例子 , 学生的信息可以保存到数据库中 , 班级的信息也可以保存到数据库中 , 而且一个班级包括很多学生 , 他们之间通过外键还可以建立一种1对多的对应关系 , 这些信息和关系可以通过关系型数据库进行存储 , 值得注意的是 , 关系型数据库 , 需要预先定义其表结构 , 而且存储前需要定义其对应的数据类型或者长度 , 一旦有新的属性加入 , 就要修改其表的结构 。
传统的关系型数据库其实就是行式数据库 , 就是一行一行的方式来存储信息的 。列式数据库列式数据库一般应用于对应大量的字符串数据 , 实例如HBase , cassandra , Sybase IQ , HP Vertica、EMC Greenplum等 。列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生 , 主要适合于批量数据处理和即时查询 。
下面这2张图形象的说明了什么是列式数据库 , 什么是行式数据库已经两者之间的区别 。极高的装载速度 (最高可以等于所有硬盘IO 的总和 , 基本是极限了)适合大量的数据而不是小数据实时加载数据仅限于增加(删除和更新需要解压缩Block 然后计算然后重新压缩储存)高效的压缩率 , 不仅节省储存空间也节省计算内存和CPU , 为什么具有高压缩率呢?因为存储的数据类型是一样的 。
非常适合做聚合操作 。键值数据库即Key-Value存储 , 简称KV存储 。它是NoSQL存储的一种方式 。它的数据按照键值对的形式进行组织 , 索引和存储 。KV存储非常适合不涉及过多数据关系业务关系的业务数据 , 同时能有效减少读写磁盘的次数 , 比SQL数据库存储拥有更好的读写性能 。典型的产品有: 亚马逊的DynamoDB , redis 。
图形数据库图形数据库不是专门用来存储图形图像的 , 而是因为其用图状结构来维持其数据之间的关系 , 所以叫做图形数据库 。Neo4j , Sones就是其典型代表 。在图数据结构中 , 只有两种基本的数据类型 即节点(Node)和关系(Relationship) , 节点(Node)可以拥有属性 , 关系(Relationship)也可以拥有属性  , 属性都是以键值对的方式存储 , 节点(Node)与节点(Node)的联系通过关系(Relationship)进行建立 , 他们建立的关系是有方向的 。
Neo4j是一个高性能的,NOSQL图形数据库 , 它将结构化数据存储在网络上而不是表中 。Neo4j也可以被看作是一个高性能的图引擎 , 该引擎具有成熟数据库的所有特性 。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处 。Neo4j因其嵌入式、高性能、轻量级等优势 , 越来越受到关注 。

推荐阅读