文档介绍:数据仓库介绍
数据库类型简介
商业智能技术
数据仓库与多维模型
设计数据仓库
设计多维模型
主题
数据库类型(按架构区分)
关系型数据库
Oracle
Sql Server
DB2
Mysql
Access
……
非关系型数据库
列存储数据库(Hbase…)
文档型数据库(MongoDb…)
键值数据库
图形数据库
……
数据库类型间区别
数据库类型
特性
优点
缺点
关系型数据库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和报表等支持也不好;
非关系型数据库
分类
Examples举例
典型应用场景
数据模型
优点
缺点
键值(key-value)
Tokyo /Tyrant, Redis, Voldemort, Oracle BDB
内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
Key 指向 Value 的键值对,通常用hash table来实现
查找速度快
数据无结构化,通常只被当作字符串或者二进制数据
列存储数据库
Cassandra, HBase, Riak
分布式的文件系统
以列簇式存储,将同一列数据存在一起
查找速度快,可扩展性强,更容易进行分布式扩展
功能相对局限
文档型数据库
CouchDB, MongoDb
Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)
Key-Value对应的键值对,Value为结构化数据
数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构
查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库
Neo4J, InfoGrid, Infinite Graph
社交网络,推荐系统等。专注于构建关系图谱
图结构
利用图结构相关算法。比如最短路径寻址,N度关系查找等
需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。
数据库使用场景
事务型处理
即操作型处理,是指对数据库的联机操作处理OLTP;
用来响应日常商务活动;
它是事件驱动、面向应用的,通常是对一个或一组记录的增、删、改以及简单查询等(大量、简单、重复和例行性);
在此环境中,数据库要求能支持日常事务中的大量事务,用户对数据的存取操作频率高而每次操作处理的时间短。
分析型处理
用于管理人员的决策分析,例如DSS、EIS(经理信息系统)和多维分析等。它帮助决策者分析数据以察看趋向、判断问题;
经常要访问大量的历史数据,支持复杂的查询;
过程中经常用到外部数据,这部分数据不是由事务型处理系统产生的,而是来自于其他外部数据源。
集成(Integrated)
数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等
时变(Time Variant)
数据存储从历史的角度提供信息,数据仓库中包含时间元素,它所提供的信息总是与时间相关联的。数掘仓库中存储的是一个时间段的数据,而不仅仅是某一个时刻的数据
非易失(Nonvolatile)的数据集合
数据仓库总是与操作环境下的实时应用数据物理地分离存放,因此不需要事务处理、恢复和并发控制机制。数据仓库里的数据通常只需要两种操作:初始化载入和数据访问,因此其数据相对稳定,极少或根本不更新。
面向主题(Subject Oriented)
数据仓库通常围绕一些主题,如“产品”、“销售商”、“消费者”等来进行组织。数据仓库关注的是决策者的数