E-R图向关系模式的转换属于数据库的逻辑设计阶段的工作,该阶段需要把E-R模型转换为某种
DBMS能处理的关系模式,具体转换规则:
(1)一个实体转换为一个关系模式,实体属性就是关系属性,实体的码就是关系的码。
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 如果转换为一个独立模式,则与该联系相连的各实体码以及联系本身属性均转换为关系的属性,每个实体码均是该关系的候选键。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。如果与n端实体对应的关系模式合并,则需要在该关系模式的属性中加入1端关系模式码和联系本身属性。
(4)一个m:n联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属
性均转换为关系的属性,而关系的码为各实体码的组合。
(5)三个以上实体间的一个多元联系可以转换为一个独立的关系模式,与该联系相连的各实体
的码以及联系本身的属性均转换为关系的属性,而关系码为各实体码的组合。
15.常见数据库管理系统
Oracle
Oracle的结构包括数据库的内部结构、外存储结构、内存储结构和进程结构。在Oracle中,数
据库不仅指物理上的数据,还包括处理这些数据的程序,即DBMS本身。Oracle提供了PL/SQL、
Designer/2000、Forms等开发和设计工具。 除了以关系格式存储数据外,Oracle8以上的版本支持面向对象的结构(如抽象数据类型)。一 个对象可以与其他对象建立联系,也可以包含其他对象,还可以用一个对象视图支持面向对象的接 口数据而无须对表做任何修改。
无论是面向对象的结构还是关系结构,Oracle数据库都将其数据存储在物理的数据文件中。数 据库结构提供数据存储到文件的逻辑图,允许不同类型的数据分开存储,这些逻辑划分即是表空 间。在Oracle中,除了存储数据的文件外,还有DBMS的代码文件、日志文件和其他一些控制文
件、跟踪文件等。外存储结构主要包括表空间和文件结构。
Oracle数据库在运行中使用两种类型的内存结构,分别是系统全局区和程序全局区。系统全局区是数据库运行时存放系统数据的内存区域,它由所有服务器进程和客户进程共享;程序全局区是 单个存放Oracle进程工作时需要的数据和控制信息的,程序全局区不能共享。
Sybase
为满足企业级分布式计算应用的要求,Sybase采用了基于构件方式的多层(常用三层)C/S架构。构件的主要优点是其自包含性和可重用性,系统中任何一个构件当被另一个具有同样功能的构件取代时,都无须对周围的构件进行重编码或修改。
第一层为客户应用程序。负责实现在客户系统上的数据显示和操作以及对用户输入做合理性检验。Sybase的开发工具产品系列(例如,Power Builder等)处在这一层。
第二层为基于构件方式的中间件层。该层能为分布式异构环境提供全局性的数据访问及事务管理控制。Sybase的中间件层产品主要有Omni Connect、Open C1ient和Open Server等。
第三层为服务器应用软件。它负责数据存取及完整性控制。Sybase数据库产品系列(例如,
Adaptive Server Enterprise、Sybase MPP、Sybase IQ和SQL Anywhere等)处于这一层。
Sybase这种架构的高适应性体现在企业可依据其特定的和变化中的分布式应用的需要来定制各
个层次中的构件。Sybase的这些产品能优化地集成在一起协同运行,但它们彼此又是相互独立的, 都能容易地与第三方产品实现集成,因而用户可灵活地构建一个完整的异构分布式系统。
Informix
Informix是美国Informix公司(已被IBM公司收购)的主要产品。Informix是一个跨平台、全功
能的关系型DBMS,后改造为面向对象型DBMS,它具有各种特性,并且能够十分方便地与各种图
形用户界面前端工具相连接。 Informix动态服务器采用多线程架构实现,这意味着只需较少的进程完成数据库活动,同时也意味着一个数据库进程可以通过线程形式为多于一个的应用服务。通常称这样一组进程为数据库服 务器。根据需要,可以为数据库服务器动态分配一个进程,故称之为动态服务器。多线程架构还可以有更好的可伸缩性。这意味着,当增加更多用户时,数据库服务器只需要少量额外资源,这得益于多线程服务器实现本质上的可伸缩性的效率。
Informix的软件开发工具主要有Informix-SQL、Informix-ESQL、Informix-4GL等,它们具有
不同的功能和特点,既能单独使用,也可根据实际需要相互配合使用。
SQL Server
SQL Server是微软公司的数据库产品,SQL Server的分布式架构把应用程序对数据库的访问和 数据库引擎分离开来。SQL Server的核心数据库服务器运行在基于Windows的服务器之上。基于 Windows的服务器一般通过以太局域网与多个客户机系统连接。这些客户机系统一般是运行SQL Server客户机软件的PC机。这些PC机既可以是单独的桌面系统,又可以是其他网络服务的平台,如 IIS Web服务器。
SQL Server与流行的开发工具和桌面应用程序紧密集成,例如,可以从由Visual Basic、Visual C++、PowerBuilder、Delphi、Visual FoxPro和许多其他PC开发环境下开发的客户应用程序中访 问SQL Server数据库。SQL Server与流行开发工具所使用的几种数据访问接口兼容,例如,可以通 过Microsoft JET Engine和Data Access Objects、Remote Data Objects、ActiveX Data Objects、OLE DB、ODBC(Open Database Connectivity,开放数据库 互连)、SQL Server内置DB-Library以及第三方开发工具来访问SQL Server数据库。
对于无缝桌面数据库访问,SQL Server使用OLE DB提供者和ODBC驱动程序,这些驱动程序允许从任何与ODBC 或者OLE DB兼容的桌面应用程序中访问SQL Server数据库。OLE DB和ODBC可以从数百个简化设 计的桌面应用程序中为特定的查询、数据分析、自定义报表打开SQL Server数据库。桌面集成减少 了自定义的编程工作。SQL Serevr对ODBC的支持允许其他平台,如Macintosh或各种Unix系统访问SQL Server数据库。
SQL Server的4个基本服务器组件包括Open Data Services、MS SQL Server、SQL Server
Agent和MSDTC。
DB2
DB2是IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数 据很方便地下载到局域网数据库服务器,使得C/S用户和基于局域网的应用程序可以访问大型机数 据,并使数据库本地化及远程连接透明化。它以拥有一个非常完备的查询优化器而著称,其外部连 接改善了查询性能,并支持多任务并行查询。
DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个 活动线程,对大型分布式应用系统尤为适用。
MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL 被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
16.并行数据库
从硬件结构来看,根据处理机与磁盘及内存的相互关系可以将并行计算机分为3种基本的架构, 分别是共享内存(Share Memory,SM)结构、共享磁盘(Share Disk,SD)结构和无共享资源 (Share-Nothing,SN)结构,并行DBS以这3种架构为基础。
SM结构
SM结构由多个处理机、一个共享内存和多个磁盘存储器构成。多处理机和共享内存由高速通信 网络连接,每个处理机可直接存取一个或多个磁盘,即所有内存与磁盘为所有处理机共享。
SM结构的优势在于实现简单和负载均衡,但是这种结构的系统由于硬件成员之间的互连很复 杂,故成本比较高。由于访问共享内存和磁盘会成为瓶颈,为了避免访问冲突增多而导致系统性能
下降,节点数目必须限制在100个以下,可扩充性比较差。另外内存的任何错误都将影响到多个处
理机,系统的可用性不是很好。
SD结构
SD结构由多个具有独立内存的处理机和多个磁盘构成,每个处理机都可以读写任何磁盘,多个 处理机和磁盘存储器由高速通信网络连接。
SD结构具有成本低、可扩充性好、可用性强,容易从单处理机系统迁移,以及负载均衡等优
点。该结构的不足之处在于实现起来比较复杂,以及存在潜在的性能问题。
SN结构
SN结构由多个处理节点构成,每个处理节点具有自己独立的处理机、内存和磁盘存储器,多个 处理机节点由高速通信网络连接。
在SN结构中,由于每个节点可视为分布式DBS中的局部场地,因此分布式数据库设计中的多数设计思路,如数据库分片、分布事务管理和分布查询处理等都可借鉴。SN结构成本较低,它减少了共享资源,具有极佳的可伸缩性,节点数目可达数千个,并可获得接近线性的伸缩比。通过在多个节点上复制数据实现高可用性。SN结构的不足之处在于实现比较复杂,以及节点负荷难以均衡。只是根据数据的物理位置而不是系统的实际负载来分配任务。并且系统中新节点的加入将导致重新组织数据库以均衡负载。
并行数据库的组织涉及到并行粒度和操作算法问题。 并行粒度是指查询执行的并行程度,按照粒度从粗到细,有不同用户事务间并行、同一事务内不同查询间并行、同一查询内不同操作间的并行、同一操作内的并行性4种。
并行操作算法有并行连接算法、并行扫描算法和并行排序算法等。由于连接运算是数据库系统 中最常用且最耗时的操作,对并行连接操作的研究最多。学者们提出基于嵌套循环的并行连接算法、基于合并扫描的并行连接算法、基于Hash的并行连接算法和基于索引的并行连接算法等。
并行数据库以提高系统性能为宗旨,强调数据分布的均匀性。数据划分是并行查询处理的重要基础,根据存放关系的节点数目的不同,数据划分技术可分为完全划分和变量划分。完全划分将每个关系分布存储到所有节点上,不适合小关系及节点数目大的系统;变量划分将每个关系只分布存储到部分节点上,节点数目是关系大小和访问频率的一个函数,使数据分布更为灵活。
划分数据时可以依据一个属性的值,也可以同时依据多个属性的值,前者称为一维数据划分, 后者称为多维数据划分。常用的划分方法有轮转法、Hash法和值域划分法、用户定义划分法、模式划分法和Hybrid_Range划分法等。
17.数据分析
企业的数据处理工作可分成两类,OLTP(On-Line Transaction Processing,联机事务处理)和OLAP(On-Line Analytical Processing,联机分析处理)。OLTP是传统的关系型数据库的主要应用,OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
联机分析处理
OLTP是传统关系型数据库的重要应用之一,是基本的、日常的事务处理,例如银行交易、 电信计费等,对响应时间要求比较高,强调密集数据更新处理的性能和系统的可靠性效率。OLTP用短小和中等复杂程度的查询语句,读改数据库中比较小的部分,数据访问方式是小随机磁盘访问。
OLTP是事件驱动面向应用。OLTP特点:对响应时间要求高;用户数量庞大,主要是操作人员;数据库的操作基于索引进行;对数据库的事务预先定义,查询简单,不牵涉到多表连接操作。
OLAP使得数据分析人员能够从多角度对数据进行快速、一致、交互地存取,从而获得对数据的更深入的了解。OLAP的目标是满足决策支持或者在多维环境下特定的查询和报表需求。
OLAP是使分析人员、管理人员从多角度对信息进行快速、一致、交互地存取, 从而获得对数据深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下 特定的查询和报表需求,它的技术核心是“维”的概念。维是人们观察客观世界的角度,是一种高层次的类型划分。维一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维,使用户能对不同维上的数据进行比较。因此OLAP也是多维数据分析工具的集合。
OLAP的基本多维分析操作有钻取、切片和切块、旋转等。
(1)钻取:改变维的层次,变换分析的粒度。包括向上钻取和向下钻取。向上钻取是在某 一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向下钻取则是从汇总数据深入到细节数据进行观察或增加新维。
(2)切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。
(3)旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
OLAP有多种实现方法,根据存储数据的方式不同,可以分为ROLAP(Relational OLAP,基于关系数据库的OLAP实现)、MOLAP(Multidimensional OLAP,基于多维数据组织的OLAP实现)、HOLAP(Hybrid OLAP,基于混合数据组织的OLAP实现)
(1)ROLAP:以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;一类是维表,对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式”。
(2)MOLAP:以多维数据组织方式为核心,MOLAP使用多维数组存储数据。多维数据在存储中将形成立方块的结构,MOLAP中对立方块的旋转、切块、切片是产生多维数据报表主要技术。
(3)HOLAP:低层是关系型的,高层是多维矩阵型的;或者反之。这种方式具有更好的灵活
性。还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。
OLAP工具针对特定问题的联机数据访问与分析,通过多维的方式对数据分析、查询和报表。多维分析是指对以多维形式组织起来的数据采取切片、切块、钻取、旋转等分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
18.数据仓库
数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、且随时间变化的的
数据集合,用于支持管理决策。
数据仓库的特征
(1)面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统间各自分离,数据仓库中的数据按照一定的主题域进行组织。主题是一个抽象的概念,指用户使用数据仓库进行决策时关心的重点方面,一个主题通常与多个操作型信息系统相关。例如一个保险公司所进行的事务处理可能包括汽车保险、人寿保险、健康保险等,公司的主题范围可能是顾客、保险单、保险费等。
(2)集成:数据仓库所有特性中最重要。面向事务处理的操作型数据库通常与特定的应用相关,数据库之间相互独立,往往是异构的。数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到,必须消除源数据中的不一致性,保证数据仓库内的信息是关于整个企业的一致的全局信息。
(3)相对稳定的:操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
(4)随时间变化:操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通
常包含历史信息,系统记录了企业从过去某一时点到目前各个阶段的信息,通过这些信息可以对企业的发展历程和未来趋势做出定量分析和预测。
数据仓库反映历史变化的属性主要表现在:
(1)数据仓库中的数据时间期限远长于传统操作型数据系统中的数据时间期限,传统操作型数据系统中的数据时间期限可能为数十天或数个月,数据仓库中的数据时间期限为数年甚至几十年。
(2)传统操作型数据系统中的数据含有“当前值”的数据,这些数据在访问时是有效的,当然数据的当前值也能被更新,但数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照。
(3)传统操作型数据系统中可能包含也可能不包含时间元素,如年、月、日、时、分、秒等,
而数据仓库中一定会包含时间元素。
数据仓库与传统数据的区别
数据仓库虽然是从传统数据库系统发展而来,但是两者还是存在着诸多差异,如从数据存储 的内容看,数据库只存放当前值,而数据仓库则存放历史值;数据库数据的目标是面向业务操作人 员的,为业务处理人员提供数据处理的支持,而数据仓库则是面向中高层管理人员的,为其提供决策支持等。
数据仓库的分类
从结构的角度看,有三种数据仓库模型,分别是企业仓库、数据集市和虚拟仓库。 企业仓库收集跨越整个企业的各个主题的所有信息,它提供全企业范围的数据集成,数据通常来自多个操作型数据库和外部信息提供者,并且是跨多个功能范围的。它通常包含详细数据和汇总数据。 数据集市包含对特定用户有用的、企业范围数据的一个子集,它的范围限定选定的主题。 虚拟仓库是操作型数据库上视图的集合。
数据仓库的结构
从数据仓库的概念结构来看,一般来说,数据仓库系统要包含数据源、数据准备区、数据仓库 数据库、数据集市/知识挖掘库以及各种管理工具和应用工具。
数据仓库建立之后,首先要从数据源中抽取相关的数据到数据准备区,在数据准备区中经过净 化处理后再加载到数据仓库数据库,最后根据用户的需求将数据导入数据集市和知识挖掘库中。用户使用数据仓库时,可以利用包括OLAP在内的多种数据仓库应用工具向数据集市/知识挖掘库或 数据仓库进行决策查询分析或知识挖掘。数据仓库的创建、应用可以利用各种数据仓库管理工具辅助完成。
数据仓库的参考框架
(1)数据仓库基本功能层:数据仓库的基本功能层部分包含数据源、数据准备区、数据仓库结构、数据集市或知识挖掘库,以及存取和使用部分。功能是从数据源抽取数据,对所抽取的数据进行筛选、清理,将处理过的数据导入或者说加载到数据仓库中,根据用户的需求设立数据集市,完成数据仓库的复杂查询、决策分析和知识的挖掘等。
(2)数据仓库管理层:数据仓库的运行除了需要数据仓库功能层提供的基本功能外,还需要对这些基本功能进行管理与支持的结构框架。数据仓库管理层由数据仓库的数据管理和数据仓库的元数据管理组成。数据仓库的数据管理层包含数据抽取、新数据需求与查询管理,数据加载、存储、刷新和更新系统,安全性与用户授权管理系统以及数据归档、恢复及净化系统等四部分。
(3)数据仓库的环境支持层:数据仓库的环境支持层由数据仓库数据传输层和数据仓库基础层组成。数据仓库中不同结构之间的数据传输需要数据仓库的传输层来完成。数据仓库的传输层包含数据传输和传送网络、客户/服务器代理和中间件、复制系统以及数据传输层的安全保障系统。
数据仓库的架构
(1)数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部
信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等。
(2)数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管 理。数据仓库的组织管理方式使它有别于传统数据库,也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
(3)OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
(4)前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
19.数据挖掘
数据挖掘(Data Mining)技术是人们长期对数据库技术进行研究和开发的结果。
从技术上看数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取隐含在其中的、事先不知道的、但潜在有用的信息和知识。定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海而皆准的知识,仅支持特定的发现问题。从业务角度来看,数据挖掘是一种新的业务信息处理技术,其主要特点是对业务数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助业务决策的关键性数据。
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先知、有效和可实用三个特征。先前未知的信息是指该信息是预先未曾预料到的,即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。数据挖掘通过预测未来趋势及行为,做出前摄的、基于知识的决策。数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要有以下五类功能:
(1)自动预测趋势和行为:数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量
手工分析的问题如今可以迅速直接由数据本身得出结论。
(2)关联分析:数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性称为关联。关联可分为简单关联、时序关联、因果关联。关联分析目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。
(3)聚类:数据库中记录可被划分为一系列有意义的子集即聚类。聚类增强了人们对客观现实的认识,是概念描述和偏差分析的先决条件。聚类技术主要包括传统的模式识别方法和数学分类学。
(4)概念描述:概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。生成一个类的特征性描述只涉及该类对象中所有对象的共性。生成区别性描述的方法很多,如
决策树方法、遗传算法等。
(5)偏差检测:数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。偏差
包括很多潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、
量值随时间的变化等。偏差检测的基本方法是,寻找观测结果与参照值之间有意义的差别。
数据挖掘方法:
(1)决策树:利用信息论中的互信息寻找数据库中具有最大信息量的属性,建立决策树的一个结点,再根据该属性的不同取值建设树的分支;在每个分支子集中重复建立树的下层结点和分支的过程。国际上最早的、也是最有影响的决策树方法是Quiulan研究的ID3方法。
(2)神经网络:模拟人脑神经元结构,完成类似统计学中的判别、回归、聚类等功能,是一种非线性的模型,主要有三种神经网络模型,分别是前馈式网络、反馈式网络和自组织网络。人工神 经网络最大的长处是可以自动地从数据中学习,形成知识,这些知识有些是我们过去未曾发现的,
因此它具有较强的创新性。神经网络的知识体现在网络连接的权值上,神经网络的学习主要表现在
神经网络权值的逐步计算上。
(3)遗传算法:模拟生物进化过程的算法,它由三个基本过程组成,分别是繁殖(选择)、交
叉(重组)、变异(突变)。采用遗传算法可以产生优良的后代,经过若干代的遗传,将得到满足
要求的后代即问题得解。
(4)关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,一般分为两个步骤:首先
求出大数据项集,然后用大数据项集产生关联规则。 除了上述的常用方法外,还有粗集方法、模糊集合方法、最邻近算法等。
无论采用哪种方法完成数据挖掘,从功能上可以将数据挖掘的分析方法划分为6种
(1)关联分析:关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据
是事件发生的概率和条件概率应该符合一定的统计意义。
(2)序列分析:序列分析技术主要用于发现一定时间间隔内接连发生的事件。这些事件构成一个序列,发现的序列应该具有普遍意义,其依据除了统计上的概率之外,还要加上时间的约束。
(3)分类分析:分类分析通过分析具有类别的样本的特点,得到决定样本属于各种类别的规则或方法。利用这些规则和方法对未知类别的样本分类时应该具有一定的准确度。其主要方法有基于 统计学的贝叶斯方法、神经网络方法、决策树方法等。
(4)聚类分析:聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本应该彼此相似,而属于 不同组的样本应该足够不相似。
(5)预测:预测与分类分析相似,但预测是根据样本的已知特征估算某个连续类型的变量的取值的过程,而分类则只是用于判别样本所属的离散类别而已。预测常用的技术是回归分析。
(6)时间序列分析:时间序列分析的是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式或者是发现周期性发展规律。
数据挖掘的流程
数据挖掘指一个完整的过程,该过程从大型数据库中挖掘先前未知的,有效的,可实用的信 息,并使用这些信息做出决策或丰富知识。数据挖掘的流程大致如下:
(1)问题定义:在开始数据挖掘之前最先的也是最重要的要求就是熟悉背景知识,弄清用户的
需求。缺少背景知识就不能明确定义要解决的问题和为挖掘准备优质的数据,很难解释得到的结果。要想充分发挥数据挖掘的价值,必须对目标有一个清晰明确的定义,即决定到底干什么。
(2)建立数据挖掘库:要进行数据挖掘必须收集要挖掘的数据资源。一般把要挖掘的数据都收集到一个数据库中,不采用原有的数据库或数据仓库。因为大部分情况下需要修改要挖掘的数据,而还会遇到采用外部数据的情况;数据挖掘还要对数据进行各种纷繁复杂的统计分析,而数据仓库可能不支持这些数据结构。
(3)分析数据:分析数据就是通常所进行的对数据深入调查的过程。从数据集中找出规律趋势,用聚类分析区分类别,目的是搞清楚多因素相互影响复杂的关系,发现因素之间的相关性。
(4)调整数据:通过上述步骤操作,对数据的状态和趋势有了进一步的了解,这时要尽可能对问题解决的要求进一步明确化、进一步量化。针对问题的需求对数据进行增删,按照对整个数据挖掘过程的新认识组合或生成一个新的变量,以体现对状态的有效描述。
(5)模型化:在问题进一步明确,数据结构和内容进一步调整的基础上,就可以建立形成知识
的模型。这一步是数据挖掘的核心环节,一般运用神经网络、决策树、数理统计、时间序列分析等
方法来建立模型。
(6)评价和解释:上面得到的模式模型,可能是没有实际意义或没有实用价值的,也可能是不能准确反映数据的真实意义,某些情况下是与事实相反的,因此需要评估确定哪些是有效的、有用的模式。评估的一种办法是直接使用原先建立的挖掘数据库中的数据来进行检验, 另一种办法是另找一批数据并对其进行检验,再一种办法是在实际运行的环境中取出新鲜数据进行检验。
数据挖掘是一个多种专家合作的过程,也是一个在资金上和技术上高投入的过程。这一过程要 反复进行,在反复过程中,不断地趋近事物的本质,不断地优选问题的解决方案。
20.NoSQL
NoSQL即Not Only SQL(不仅仅是SQL),这项技术正在掀起一场全新的数据库革命性运动。 数据模式包括层次模型、网状模型、关系模型等,实际过程中几乎都在用关系模型,主流数据库系统都是关系型。但随着互联网web2.0网站兴起,传统关系数据库在应付特别是超大规模和高并发的SNS类型web2.0纯动态网站时显得力不从心,暴露了很多问题,而非关系型的数据库则由于其本身的特点得到了迅速发展。也就使得NoSQL技术进入人们的视野。
NoSQL的出现打破了关系型数据库与ACID理论大一统的局面。NoSQL 数据存储不需要固定表结构,也不存在连接操作。在大数据存取上具备无法比拟的性能优势。 关系型数据库中的表都是存储一些格式化的数据结构,元组字段的组成相同,即使不是每个元组都需要所有字段,但数据库会为每个元组分配所有字段,这样可以便于表与表之间连接等操作,但也是关系型数据库性能瓶颈的因素。而非关系型数据库以键值对存储,结构不固定,每个元组可以有不同的字段,每个元组可根据需要增加自己的键值对,就不会局限于固定的结构,减少时间和空间的开销。
NoSQL数据库具有以下优点:
1.易扩展:NoSQL数据库种类繁多,但共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形间在架构的层面上带来了可扩展的能力。
2.大数据量高性能: NoSQL数据库具有非常高的读写性能,尤其在大数据量下同样表现优秀。得益于它的无关系性,数据库的结构简单。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是大粒度的Cache,针对web2.0的交互频繁的应用性能不高。而NoSQL的 Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上性能就高很多。
3.灵活的数据模型:NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。在关系数据库里,增删字段是一件麻烦的事情。在大数据量的web2.0时代尤其明显。
4.高可用:NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra,HBase模型,通过复制模型也能实现高可用。
当然NoSQL也存在很多缺点,例如并未形成一定标准,各种产品层出不穷内部混乱,各
种项目还需时间来检验,缺乏相关专家技术的支持等。
21.大数据
大数据(Big Data),指的是所涉及的数据量规模巨大到无法通过目前主流软件工具,在合理
时间内达到获取、管理、处理、并整理成为帮助企业经营决策目的的信息。
大数据的特点
大数据有4大特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价
值),由于他们的英文首字母都是V,所以也称为“4V特点”。
Volume(大量):大量主要体现在非结构化数据的超大规模增长,比结构化数据增长快10到50倍,同时数据的量级已超越传统数据仓库的很多倍。
Velocity(高速):大数据的分析是实时分析而非批量式分析,效果是立竿见影而非事后见效。
Variety(多样):大数据存在异构与多样性特点,有很多不同形式的数据如文本图像音频视频等。
Value(价值):大数据的价值特性是指大数据价值密度低,因为大数据是有着海量数据的,这
里面存在大量不相关的信息,所以单位价值密度低。
传统数据与大数据的比较