Hadoop批处理方案 和 MPP架构方案 作为数据仓库的区别
2024-10-21 07:34:27
1,原理对比
MPP方案中的数据通常在节点之间拆分(分片),每个节点仅处理其本地数据。而且,每家都有专门为 MPP 解决方案开发的复杂而成熟的 SQL 优化器。它们都可以在内置语言和围绕这些解决方案的工具集方面进行扩展,支持地理空间分析、数据挖掘的全文搜索。在任务执行过程中,单一的 Executor 只处理一个单一的 task,因此可以简单直接将数据 stream 到下一个执行阶段。这个过程称为pipelining
,它提供了很大的性能提升。而Hadoop 需要保存中间状态数据,IO存储速度拖慢了数据处理效率。
MPP 方案: Teradata greenpalm
hadoop 批处理方案: Mapreduce , HIVE , spark
2,对比表格
对比项 | MPP | Hadoop |
平台开放 | 封闭和专有。 |
完全开源的供应商和社区资源可通过互联网免费获得 |
硬件选项 | 许多解决方案都是使用供应商的设备的,您无法在自己的集群上部署软件。所有解决方案都需要特定的企业级硬件,例如快速磁盘、具有大量 ECC RAM 的服务器、10GbE/Infiniband 等。 | 对硬件要求低,自己定制 |
可扩展性(节点) | 平均数十个节点,最多 100-200 个 | 平均 100 个节点,最多数千个 |
数据规模 | 平均数十 TB,PB 为最大值 | 平均数百 TB,最大数十 PB |
查询延迟 | 10-20 毫秒 | 10-20 秒 |
查询平均运行时间 | 5-7秒 | 10-15分钟 |
查询最大运行时间 | 1-2小时 | 1-2周 |
查询优化 | 复杂的企业查询优化器引擎 | 没有优化器或功能非常有限的优化器 |
查询调试和分析 | 代表性查询执行计划和查询执行统计信息,解释性错误消息 | OOM 问题和 Java 堆转储分析、集群组件上的 GC 暂停、每个任务的单独日志给你很多有趣的时间 |
最终用户的可访问性 | 简单友好的 SQL 界面和简单的可解释的数据库内函数 | SQL 并不完全符合 ANSI,用户应该关心执行逻辑、底层数据布局。函数通常需要用Java编写,编译并放在集群上 |
用户受众 | 业务分析师 | Java 开发人员和经验丰富的 DBA |
单一作业冗余 | 低,当 MPP 节点失败时作业失败 | 高,只有节点管理作业失败,作业执行会失败 |
目标系统 | 通用数仓系统 | 专用数据处理引擎 |
最大并发 | 数十到数百个查询 | 根据集群能力,任何 |
技术生态 | 仅使用供应商提供的工具 | 与引入的任何全新开源工具(Spark、Samza、Tachyon 等)混合使用 |
DBA 技能水平要求 | 平均 RDBMS DBA | 很高,具有良好的 Java 和 RDBMS 背景 |
解决方案实施复杂性 | 一般 | 很高 |
对比结论:
MPP: 商业化软件,服务更好, 查询效率和优化器更好, 价格更高,生态扩展性差,开发难度低。
hadoop 批处理方案: 开源方案, 生态扩展性好,开发难度高。对于海量数据,处理低价值密度数据更适合。
最新文章
- .net core 源码解析-web app是如何启动并接收处理请求
- (转)SVN服务器搭建和使用(二)
- [转]KendoUI系列:Grid
- OpenCV-paper detection &; perspective transformation 相关资料
- Gridview导出EXCEL(多页) z
- 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)
- 20145103《java程序设计》第五周学习总结
- Flex通信-Java服务端通信实例
- Android & Eclipse FAQ
- uboot从SD卡烧写内核和文件系统
- c++自带倒置数组函数
- 谈论quick-cocos2d-x和cocos2d-x lua了解差异
- Shards
- dialog弹出,点击back按键无法返回问题解决
- 记一次DG搭建过程中备库ORA-00210,ORA-00202,ORA-27086错误
- javascript 类型的判断
- 作业二:构建swap函数
- Laravel 5.2 二、HTTP路由、创建控制器 与 资源路由
- asp.net结合html使用
- 视图属性+对象动画组件ViewPropertyObjectAnimator