本篇不念介绍一下数据库管理系统、数据仓库技术、中间件技术、高可用性和高可靠性的规划与设计的基本概念和相关知识。
一、数据库管理系统
目前,常见的数据库管理系统主要有Oracle、MySQL、SQL Server、MongoDB等,其中前三种均为关系型数据库,而MongoDB是非关系型数据库。
二、数据仓库技术
数据仓库是一个面向主题的、集成的、非易识的、且随时间变化的数据集合,用于支持管理决策。
1、基础概念:
(1)ETL(
Extract/Transformation/Load,清洗/转换/加载):用户从数据源抽取出所需的数据,经过数据清洗、转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去;
(2)元数据:关于数据的数据,指在数据仓库建设过程中所产生的有关数据源定义、目标定义、转换规则等相关的关键数据,同时元数据还包含关于数据含义的商业信息。典型的元数据包括:数据仓库表的结构、数据仓库表的属性、数据仓库的源数据(记录系统)、从记录系统到数据仓库的映射、数据模型的规格说明、抽取日志和访问数据的公用例行程序等;
(3)粒度:数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大;
(4)分割:结构相同的数据被分成多个数据物理单元。任何给定的数据单元属于且仅属于一个分割;
(5)数据集市:小型的、面向部门或工作组级数据仓库;
(6)ODS(Operation Data Store,操作数据存储):能支持企业日常的全局应用的数据集合,是不同于DB的一种新的数据环境,是DW扩展后得到的一个混合形式。四个基本特点:面向主题的、集成的、可变的、当前或接近当前的;
(7)数据模型:逻辑数据结构,包括由数据库管理系统为有效进行数据库处理提供的操作和约束,用于表示数据的系统;
(8)人工关系:在决策支持系统环境中用于表示参照完整性的一种设计技术。
2、数据仓库概念:
(1)数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于关系型数据库管理系统中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等;
(2)数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市);
(3)OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中;
(4)前端工具:主要包括各种查询工具、报表工具、分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对 OLAP 服务器,报表工具、数据挖掘工具主要针对数据仓库。
三、中间件技术
1、中间件定义:
(1)在一个分布式系统环境中处于操作系统和应用程序之间的软件;
(2)中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
2、中间件优点:
中间件作为一大类系统软件,与操作系统、数据库管理系统并称“三套车”,中间件的优越性体现在以下几个方面:缩短应用的开发周期、节约应用的开发成本、减少系统初期的建设成本、降低应用开发的失败率、保护已有的投资、简化应用集成、减少维护费用、提高应用的开发质量、保证技术进步的连续性、增强应用的生命力。
3、中间件种类:底层型、通用型、集成型
(1)底层型中间件:JVM、CLR、ACE、JDBC和ODBC等;
(2)通用型中间件:CORBA、J2EE、MOM和COM等;
(3)集成型中间件:WorkFlow和EAI等。
(4)为完成不同层次的集成,可以采用不同的技术、产品:
- 为了完成系统底层传输层的集成,可以采用CORBA技术;
- 为了完成不同系统的信息传递,可以采用消息中间件产品;
- 为了完成不同硬件和操作系统的集成,可以采用J2EE中间件产品。
四、高可用性和高可靠性的规划与设计
1、基本概念:
(1)可用性(availability):是指系统能够正常运行的时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示;
(2)可靠性(reliability):是指软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力;
(3)平均无故障时间(MTTF):是指计算机系统平均能够正常运行多长时间,才发生一次故障。计算机系统的可用性通常用平均无故障时间(MTTF)来度量;
(4)平均维修时间(MTTR):是指系统发生故障后维修和重新恢复正常运行平均话费的时间。计算机系统的可维护性通常用平均维修时间(MTTR)来度量;
(5)计算机系统的可用性:是指系统保持正常运行时间的百分比,公式为MTTF/(MTTF+MTTR)*100%。
2、常见可用性战术:
(1)错误检测:用于错误检测的战术包括命令/响应、心跳和异常;
(2)错误恢复:用于错误恢复的战术包括表决、主动冗余、被动冗余;
(3)错误预防:用于错误预防的战术包括把可能出错的组件从服务中删除、引入进程监视器。