数据仓库（OLAP OLTP）与数据挖掘_我不爱机器学习的博客
一、挖掘数据存在问题：
1、把来自各个数据源的数据汇集到一个中心仓库中，即数据仓库。数据仓库位于一个单独的节点上，使用同一的模式从多个数据源收集数据，给用户提供一个单独的、统一的数据接口，目的是能在不同的数据上高效执行查询。
数据仓库处理相关问题：脏数据处理（某些带有错误的数据）技术，对大量数据的高效存储和索引技术
2、分析收集到的数据发现可以成为商务决策基础的信息或知识。
数据挖掘：目标是在大量数据中检测出各类类型的模式，是对具有类似目标的各种类型的统计技术的补充。
数据挖掘将人工智能研究者和统计家发明的知识发现技术结合起来，同时采用高效的实现技术使其能够用于超大型数据库。
二、数据库应用
1、事务处理：用来记录有关事务的信息的系统，如公司的产品销售记录。
2、决策支持系统：目标是从事务处理系统存储的细节信息中提取出高层次的信息，并利用这些高层次信息来做出各种决策。帮助经理决定商店该采购什么产品，工厂生产什么产品等。有两种形式：OLAP和数据挖掘系统。
三、数据仓库（data warehouse）
问题：企业决策者需要访问来自多个数据源的信息，在各个数据源上建立查询既麻烦又低效。而且数据源可能只存储当前数据，而决策者可能需要访问历史数据
定义：是一个将多个数据源中收集来的信息以统一模式存储在单个站点上仓储或归档。一旦收集完毕，数据会存储很长时间，允许访问历史数据。因此，数据仓库给用户提供了一个单独的、统一的数据接口，易于决策支持查询的书写。通过数据仓库访问用于支持决策的信息，决策者可以保证在线的事务处理系统不受决策支持负载的影响。
特征：面向对象、数据集成、随时间而变化，数据不易丢失。
四、数据仓库成分
1、何时和如何收集数据：在收集数据的源驱动架构中，数据源连续地（发生事务处理时）或周期性
的传输新信息。在目标驱动架构中，数据仓库周期地给数据源发送需要新数据的请求。
2、使用何种模式：单独构造的各个数据源很可能具有不同模式。数据仓库的部分任务就是进行模式整合，并将数据转化成整合后的模式后在进行存储。存储在数据仓库中的数据可看作是数据源数据的一个物化视图，不仅仅是数据源的一个拷贝。
3、对数据的纠正和预处理任务称作数据清理（data cleansing）。数据源经常传送大量具有略微不一致的数据，这种不一致性可以纠正。这种任务所需要的数据大致匹配称为模糊查找（fuzzy lookup）。
从多个数据源收集的地址列表可能具有重复，需要在合并-清除操作（merge-purge operation）中消除这些重复（去重（deduplication））。一所住宅中多个人的记录可以组合为一组，这样每所住宅只须投递一封邮件，此操作称住宅操作（householding）。数据类型的转换
4、如何传播更新
数据源中关系的更新必须传播到数据仓库。如果数据仓库中的关系与数据源中的完全一样，那么传播就直接了当了。如果不一致，更新传播问题基本上就是试图维护问题。
5、汇总何种数据
事务处理系统产生的原始数据可能两非常大，无法在线存储。通过只维护由关系上的聚集得到的汇总数据，而不是维护整个关系。按类别来存储，而不是存储所有数据。
将数据存入数据仓库所涉及的不同步骤称为抽取（extract）、转化（transform）和加载（load），或称ETL任务；
抽取：从源收集数据；加载：把数据装入数据仓库中
6、数据仓库与异种数据库集成
传统异种数据库：在多个异种数据库建立包装程序（wrappers）和中介程序（mediators）。查询驱动方法，当从客户端传过来一个查询时，首先使用数据字典将查询转换成相应异种数据库上的查询；然后将这些查询映射和发送到局部查询处理器。缺点：复杂的信息过滤和集成处理，竞争资源。解决方法：数据仓库更新驱动，将来自多个异种源的信息预先集成，存储在数据仓库中，供直接查询和分析，高性能。
7、数据仓库与操作数据库系统
操作数据库系统主要任务：联机事务处理OLTP
数据仓库主要任务：联机分析处理OLAP
区别：
用户和系统的面向性：顾客 VS 市场
数据内容：当前的，详细的数据 VS 历史的、汇总的数据
数据库设计实体-联系模型（ER）和面向应用的数据库设计 VS 星型/雪花模型和面向主题的数据库设计
视图：当前的、企业内部的数据 VS 经过演化的、集成的数据
访问模式：事物操作 VS 只读查询（但很多是复杂的查询）
8、为什么需要一个分离的数据仓库
提高两个系统的性能：DBMS是为OLTP设计的：存储方式，索引，并发控制，恢复；数据仓库是为OLAP设计：复杂的OLAP查询，多维视图，汇总。
不同的功能和不同的数据：历史数据：决策支持需要历史数据，而这些数据在操作数据库中一般不会去维护；数据汇总：决策支持需要将来自异种源的数据统一（如聚集和汇总）；数据质量：不同的源使用不一致的数据表示、编码和格式，对这些数据进行有效地分析需要将它们转化后进行集成。
五、数据挖掘：泛指半自动地分析大型数据库以发现有用模式的处理过程。试图从数据中发现规则和模式。与机器学习和统计的不同在于：它处理主要存储在磁盘上的大量数据，即数据库中的知识发现（KDD,knowledge discovery in database）。
1、从数据库中发现的某些类型的知识可以用一个规则集来表示，具有支持度和置信度。
关联（association）和聚类（cluster）是描述性模式(descreptive pattern）的一个例子。
关联规则识别经常同时出现的项，相互关联找出与期望关联等级的偏离。
规则有相关的支持度和相关的置信度，是在个体总数的上下文中定义的：
支持度：度量的是同时满足规则前提喝结论的个体总数所占的比例。两者共同发生的概率。
置信度：度量的是为真时结论为真的频率。在另一条件下某事件的概率。
2、聚类：指在给定数据中找到点的簇的问题。可以从不同房的距离度量中形式化而来。将相似的点一起划分到一个单独的集合中去。距离最小
层次聚类（hierarchical clustering）：给定不同物种的特性，生物学家创建一个复杂的层次聚集模式，将相关物种一起聚合到不同的层次等几种。
凝聚聚类算法：构造小的聚类开始，然后创建更高等级
分裂聚类：首先创建层次聚类的更高等级，之后将每个聚类结果细分为更低等级的聚类。
3、其他类型的数据挖掘
文本挖掘：历史记录
数据可视化：图形