快捷搜索:  汽车  科技

数据库原理及应用知识框架(如果你全部在实际项目中用过)

数据库原理及应用知识框架(如果你全部在实际项目中用过)极高的装载速度 (最高可以等于所有硬盘IO 的总和,基本是极限了)列式数据库一般应用于对应大量的字符串数据,实例如HBase,cassandra,Sybase IQ,HP Vertica、EMC Greenplum等。列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生,主要适合于批量数据处理和即时查询。下面这2张图形象的说明了什么是列式数据库,什么是行式数据库已经两者之间的区别。图像图形数据库分布式文档数据库下面分别一一说明其代表的产品以及其主要特点。

数据是一个企业的核心资产,几乎所有的企业应用系统都是围绕数据来进行的,包括数据的增删改查,数据对企业,甚至国家来说,有着不可估量的价值,比如,一个企业的所有客户的信息,一个投资机构的投入和收益信息,BAT公司的应用系统的源代码,京东的物流配送信息等等。在数据积累中,虽然有些把数据作为文本文件来保存的,但大多数情况下,为了方便地管理和提取数据,一般都会采用数据库来积累数,随着技术的发展,业务需求的多样化,出现了各种各样的数据库类型。

  • 关系数据库

  • 列式数据库

  • 键值数据库

  • 图像图形数据库

  • 分布式文档数据库

下面分别一一说明其代表的产品以及其主要特点。

数据库原理及应用知识框架(如果你全部在实际项目中用过)(1)

列式数据库

列式数据库一般应用于对应大量的字符串数据,实例如HBase,cassandra,Sybase IQ,HP Vertica、EMC Greenplum等。列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生,主要适合于批量数据处理和即时查询。下面这2张图形象的说明了什么是列式数据库,什么是行式数据库已经两者之间的区别。

数据库原理及应用知识框架(如果你全部在实际项目中用过)(2)

数据库原理及应用知识框架(如果你全部在实际项目中用过)(3)

  • 极高的装载速度 (最高可以等于所有硬盘IO 的总和,基本是极限了)

  • 适合大量的数据而不是小数据

  • 实时加载数据仅限于增加(删除和更新需要解压缩Block 然后计算然后重新压缩储存)

  • 高效的压缩率,不仅节省储存空间也节省计算内存和CPU,为什么具有高压缩率呢?因为存储的数据类型是一样的。

  • 非常适合做聚合操作。

键值数据库

即Key-Value存储,简称KV存储。它是NOSQL存储的一种方式。它的数据按照键值对的形式进行组织,索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。典型的产品有: 亚马逊的DynamoDB,redis。

数据库原理及应用知识框架(如果你全部在实际项目中用过)(4)

图形数据库

图形数据库不是专门用来存储图形图像的,而是因为其用图状结构来维持其数据之间的关系,所以叫做图形数据库。Neo4j,Sones就是其典型代表。

在图数据结构中,只有两种基本的数据类型 即节点(Node)和关系(Relationship),节点(Node)可以拥有属性,关系(Relationship)也可以拥有属性 ,属性都是以键值对的方式存储,节点(Node)与节点(Node)的联系通过关系(Relationship)进行建立,他们建立的关系是有方向的。

数据库原理及应用知识框架(如果你全部在实际项目中用过)(5)

Neo4j是一个高性能的 NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。其支持几乎所有的主流的开发语言

数据库原理及应用知识框架(如果你全部在实际项目中用过)(6)

分布式文档存储数据库

不需要定义,应用灵活,文档存储支持对结构化数据的访问,不同于关系模型的是,文档存储没有强制的架构。与关系模型不同的是,文档存储模型支持嵌套结构。例如,文档存储模型支持XML和JSON文档,字段的“值”又可以嵌套存储其它文档。文档存储模型也支持数组和列值键。与键值存储不同的是,文档存储关心文档的内部结构。这使得存储引擎可以直接支持二级索引,从而允许对任意字段进行高效查询。支持文档嵌套存储的能力,使得查询语言具有搜索嵌套对象的能力,XQuery就是一个例子。MongoDB通过支持在查询中指定JSON字段路径实现类似的功能。比如 CouchDB MongoDB等。

数据库原理及应用知识框架(如果你全部在实际项目中用过)(7)

  • 如果你对笔者的分享感趣的话,请收藏并关注我的公众号;

  • 如果你想继续深入的话,请给我在文末留言,如果大于10人我将继续深入下去。

  • 如果你有任何疑问需要探讨,欢迎在文章末尾留言,我尽量在第一时间个大家回复。

【部分图片来源于网络,如有侵权,请留言联系删除,谢谢】

猜您喜欢: