谈谈你所认知的数据库

数据因业务而产生,不了解业务也就不了解数据,也就无法利用数据推动业务

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。

(1) 面向主题:指数据仓库中的数据是按照一定的主题域进行组织。

(2)集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。

(3)相对稳定:指一旦某个数据进入数据仓库以后只需要定期的加载、刷新。

(4)反映历史变化:指通过这些信息,对企业的发展历程和未来趋势做出定量分析预测。

主要区别在于:

(1)数据库是面向事务的设计,数据仓库是面向主题设计的。

(2)数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

(3)数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。

(4)数据库是为捕获数据而设计,数据仓库是为分析数据而设计。


















数据库

类型
特性优点缺点
关系型数据库

SQLite、Oracle、mysql
1、关系型数据库,是指采用了关系模型来组织

数据的数据库;

2、关系型数据库的最大特点就是事务的一致性;

3、简单来说,关系模型指的就是二维表格模型,

而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;

2、使用方便:通用的SQL语言使得操作关系型数据库非常方便;

3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;

4、支持SQL,可用于复杂的查询。
1、为了维护一致性所付出的巨大代价就是其读写性能比较差;

2、固定的表结构;

3、高并发读写需求;

4、海量数据的高效率读写;
非关系型数据库

MongoDb、redis、HBase
1、使用键值对存储数据;

2、分布式;

3、一般不支持ACID特性;

4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
1、无需经过sql层的解析,读写性能很高;

2、基于键值对,数据没有耦合性,容易扩展;

3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
1、不提供sql支持,学习和使用成本较高;

2、无事务处理,附加功能bi和报表等支持也不好;


注1:数据库事务必须具备ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性。


注2:数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库。



文档更新时间: 2018-07-06 13:47