Hadoop: Hadoop 是一个用 Java 编写的开源软件框架,用于存储数据和处理从 GB 到 PB 大小的大型数据集。Hadoop是一个分布式文件系统,可以跨计算机存储和处理海量数据集群。Hadoop 是开源的,因为它是基于 Java 的,所以它与所有平台兼容。Hadoop有两个核心层,即处理/计算层(MapReduce)和存储层(Hadoop分布式文件系统)。Hadoop 跨计算机集群运行代码,并跨商品服务器集群对庞大的数据集执行离线批处理。但是,Hadoop 并不是 SQL 的替代品,它们的使用取决于个人需求。在性能方面,Hadoop 胜过 SQL,因为它提高了速度,并且能够以相同的效率处理结构化、半结构化和非结构化数据。
SQL性能: 结构化查询语言 (SQL) 是一种用于在数据库中操作、检索和存储数据的标准语言。关系数据库使用 SQL 作为标准来维护和操作数据。SQL 命令,例如“选择”、“插入”、“更新”、“删除”、“创建”和“删除”,可用于存储、更新或从数据库中检索数据。一些常见的使用 SQL 的关系数据库管理系统是 Oracle、Microsoft SQL Server、Sybase、Access、Ingres 等。但是,随着数据量(或大数据)的增加,使用 SQL 存储如此大量的数据变得困难。关系数据库。对于结构化模式效果很好,但对于大数据,它没有固定模式,而是半结构化数据。RDBMS 大数据的 3V:数量、种类和速度是导致 NoSQL 数据库出现的主要原因。从名称上可以看出,SQL 不再能够用于 NoSQL 数据库的数据操作。在这方面,Hadoop 优于 SQL。
下表列出了 Hadoop 和 SQL 性能之间的差异:
特性 | Hadoop | SQL性能 |
---|---|---|
结构 | 无固定架构 | 固定架构 |
数据格式 | 结构化、半结构化或非结构化数据 | 结构化数据 |
数据量 | Hadoop 在低容量和高容量数据上都表现出色 | SQL 在低容量数据上表现更好 |
数据处理 | Hadoop 支持称为 OLAP 的大规模离线批处理 | SQL 支持称为 OLTP 的实时数据处理 |
速度 | 更快 | 稍慢 |
吞吐量 | 更高的吞吐量 | 更低的吞吐量 |
延迟 | Hadoop 不能非常快速地从数据集中获取特定记录,因此它具有低延迟 | SQL 可以非常快速地从数据集中获取特定记录,因此它具有高延迟 |
可扩展性 | 水平可扩展性意味着可以在网络中添加更多机器以进行并行处理 | 垂直可扩展性意味着将更多硬件或 CPU 添加到现有机器 |
数据存储 | 数据可以以表、键值对等形式存储 | 数据只能以表的形式存储。 |
诚信 | 低诚信 | 高诚信 |
数据多样性 | Hadoop处理大数据,支持数据多样性 | SQL不支持数据多样性 |
更新 | Hadoop 的设计理念是一次写入多次读取。因此数据更新实际上是不可能的 | SQL 是一次写入,多次读取和更新。因此数据更新很容易完成 |
ACID 属性 | 不完全符合 ACID 属性 | 完全符合 ACID 属性 |
许可 | Hadoop 是免费的开源软件 | SQL 是许可的 |
示例 | MongoDB、HBase 等 | Oracle、Microsoft SQL Server, DB2 等 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/266986.html