- 处理的对象是数据,且海量、快速变化、分布、异构
- “计算”包括从数据管理再到分析、理解的全过程
- 目的是推动技术前沿发展,其推动的工作是那些依赖传统、单一的数据源、准静态数据库所无法实现的应用
- 万维网数据处理
- 科学研究,科研产生的数据量惊人
- 商务智能
1、海量--》使得传统的数据存储、索引技术不再适用、快速变化-->处理必须是及时的,传统的针对静态数据库或数据快照的数据管理技术无能为力,分布式、异构--》为数据的获取和集成造成了困难。
* 传统管理技术面临的挑战,在数据密集型计算环境下更突出,如何保持海量数据下数据管理和处理的可伸缩性scalability是关键
2、计算的含义是多元的:既包括搜索、查询等传统数据处理,也包括分析和理解等“智能”处理;且这些算法不限于单一的数据分析或挖掘算法,必须能够在海量、分布式、异构数据管理平台上得以高效实现。另一方面:数据特性决定了不可能为每一个数据分析和理解任务从存储和索引开始开发新的算法
* 数据密集计算所需要的是存储和管理平台紧密结合的、同时具有高度灵活和定制能力的、易用的数据搜索、查询和分析工具。使用这些工具、用户能构造复杂的数据分析甚至理解应用
*
3、无法在本地提供服务,以Web服务方式提供应用接口是一种有效且自然的方式。数据密集型计算应用的服务接口必须提供全面的数据获取、预处理、数据分析处理的全面流程的描述功能,并提供良好的客户机与服务器之间的基于Web服务的交互功能。
* “大数据”
Google File System,GFS MapReduce 模型
针对大规模集群设计,充分利用集群良好的可伸缩性
容错设计,减少规模集群中系统维护和开发的成本
更偏向于系统底层对数据密集型计算的 支持
Yahoo更偏重于数据密集型计算本身
数据密集型计算——数据、用户、应用三者之间的交互(Raghu Ramakrishnan)
Yahoo基于开源的Hadoop,并开发了针对Web 数据分析的数据管理软件PNUTS(Sherpa,针对大规模集群上的结构化的数据管理)和数据分析工具Pig(过程性的数据分析脚本语言),
学术界
分析性数据库管理系统:CStore、MonetDB(column-based storage)
- 大规模集群系统所具有的可伸缩性和容错性,实现高效的数据管理
基于Hadoop的技术、基于数据库管理系统的技术 Hadoop,Hive,受限于Hadoop本身在数据一致性保持、查询功能、索引功能上的限制,只能提供简单的查询语言,本质是描述性类SQL语言到MapReduce过程的解释器,保持了Hadoop的容错性优点
Amazon S3、Greenplum、Aster Data,支持复杂的数据库查询,能够在大规模机群上进行部署,设计目标是关键应用上的数据分析,在数据一致性和容错性上都提供了很好的支持,但对硬件资源的消耗更多