red*_*med 3 rdbms hadoop nosql
我真的不明白hadoop扩展背后的实际原因比RDBMS更好.任何人都可以在细粒度级别解释?这是否与基础数据结构和算法有关
RDBMS在处理Terabytes和Peta字节的大量数据时面临挑战.即使您拥有独立/廉价磁盘冗余阵列(RAID)和数据粉碎,它也无法很好地扩展到大量数据.您需要非常昂贵的硬件.
编辑: 为了回答,为什么RDBMS无法扩展,看看RBDMS的开销.
记录.组装日志记录并跟踪数据库结构中的所有更改会降低性能.如果不要求可恢复性或通过其他方式(例如,网络上的其他站点)提供可恢复性,则可能不需要记录.
锁定.传统的两阶段锁定会产生相当大的开销,因为对数据库结构的所有访问都由一个单独的实体Lock Manager控制.
锁定.在多线程数据库中,必须先锁存许多数据结构才能访问它们.删除此功能并采用单线程方法会对性能产生显着影响.
缓冲管理.主存储器数据库系统不需要通过缓冲池访问页面,从而消除了每个记录访问的间接级别.
Hadoop如何处理?:
Hadoop是一个免费的,基于Java的编程框架,支持在分布式计算环境中处理大型数据集,该环境可以在商用硬件上运行.它对于存储和检索大量数据非常有用.
Hadoop实施存储机制(HDFS)和处理作业(YARN Map减少作业)可实现这种可扩展性和效率.除了可扩展性之外,Hadoop还提供存储数据的高可用性.
可扩展性,高可用性,灵活处理大量数据(Strucutred数据,非结构化数据,半结构化数据)是Hadoop成功的关键.
数据存储在数千个节点上,并且通过Map Reduce作业在存储数据的节点上(大多数时间)完成处理.处理前端的数据位置是Hadoop成功的关键领域之一.
这已通过名称节点,数据节点和资源管理器实现.
要了解Hadoop如何实现这一点,您必须访问以下链接:HDFS架构,YARN架构和HDFS联合
RDBMS仍适用于Giga字节数据的多次写/读/更新和一致的ACID事务.但不适合处理Tera字节和Peta字节的数据.具有两个一致性的NoSQL,CAP理论的可用性分区属性在某些用例中是好的.
但是Hadoop并不适用于ACID属性的实时事务支持.它适用于带有批处理的商业智能报告 - " 一次编写,多次读取 "范例.
再看一个相关的SE问题:
| 归档时间: |
|
| 查看次数: |
4686 次 |
| 最近记录: |