【问题标题】:Hive vs SQL Server performanceHive 与 SQL Server 性能对比
【发布时间】:2012-04-03 06:13:38
【问题描述】:

1) 我从过去 2 个月开始使用 hive。我的任务与 SQL 中的任务相同。我发现 Hive 很慢并且需要更多时间来执行查询,而 SQL 在几分钟/秒内执行它。

在 Hive 中执行任务后,当我交叉检查两者(SQL 和 Hive)中的结果时,我发现结果有些差异(不是全部,而是在某些表中)。 例如:我有一张有 2012 条记录的表,当我在 Hive 的同一张表中执行 Hive 中的一项任务时,我得到了 2007 条记录。

为什么会这样?

2) 如果我想加快我在 Hive 中的执行速度,那么我应该怎么做? (目前我只在单个集群上执行所有这些东西。如果我想增加集群,那么我需要多少集群来提高性能)

请给我一些解决方案或一些好的做法,以便我能够敏锐地做到这一点。

谢谢。

【问题讨论】:

  • 我无法真正回答您的问题,但我看不出您如何直接比较 SQL Server 和 Hive:它们是完全不同的产品,具有完全不同的目标和架构。问如何提高 Hive 性能是一个很好的问题,但我认为 SQL Server 与 Hive 没有任何关系(反之亦然)。尽管如果您想获得有关提高任何系统性能的建议,您将需要提供到目前为止所掌握的更多信息。
  • @Pondlife:感谢您的回复。是的,我知道它们都是不同的。我只想知道 Hive 执行查询的行为与 SQL 不同吗?匹配标准有什么不同吗?此外,我想知道基于各种因素提高 Hive 性能的不同因素。
  • @Pondlife:当两者都用作数据查询引擎时,我不明白为什么不能比较两者。是的,底层数据和计算架构不同,但目的是相同的。如果我错过了什么,请告诉我如何使用除 SQL 类型的查询之外的配置单元。
  • @Causality 我认为您当然可以比较这些功能,其中一个会比另一个更适合某些场景(请参阅此问题的已接受答案),但直接比较同一任务或查询的性能没有意义。货车和皮卡车可能能够承载相似的负载,但它们具有完全不同的性能特征,问为什么一个比另一个更快或更省油是没有意义的。它们只是设计不同的车辆,即使它们都旨在承载负载。

标签: sql-server hive


【解决方案1】:
  • Hive 和 SQL Server 除了查询语言语法的相似性之外,在任何方面都没有可比性。
  • 虽然 SQL Server 旨在能够从单台计算机实时响应,但 Hive 用于处理可能跨越数百或数千台计算机的大型数据集。
  • Hive(通过 hadoop)启动工作有很多开销。
  • Hive 和 hadoop 不会像 sql server 那样在内存中缓存数据。
  • Hive 只有最近添加的索引,因此大多数查询最终都是表扫描。
  • 如果您的数据集适合单台计算机,您可能希望坚持使用 SQL Server 而不是 Hive。 Hive 性能调优主要基于 Hadoop 性能调优,但根据您运行的查询类型,使用 LazyBinarySerDe 可以获得免费的性能。

Hive 与常规 SQL 确实存在一些差异,这些差异可能会影响您的查询。如果没有更多细节,我无法推测原因。

【讨论】:

    【解决方案2】:

    忽略“它们在任何方面都没有可比性”的评论。如果它存储数据,它就可以与任何其他存储数据的方法相媲美。

    但请注意,13 年前的 SQL Server 有 1000 多人获得全职报酬以改进他们的产品。因此,虽然这并不能“证明”任何事情,但它确实增加了人们的信心,即更多的工作 = 更多的结果。

    更重要的是,寻找基于开源和/或非关系数据存储方法与主流关系数据库之一进行的任何重要基准测试。你不会找到他们的。这对我来说很重要。 (另外,主流不是必需的,因为当前世界上最快的数据引擎甚至都不是主流。但如果需要这个级别,请查看 ExoSol。)

    如果您需要在工作中学习使用技术,而该技术就是 Hive,我的建议是找一个真正专注于尽可能充分利用 Hive 查询性能的人。如果那里有 Hive 查询专家,请找到他们。但是,如果您需要的远远超出他们所能提供的,那么您就使用了错误的技术。

    如果 Hive 不是必需品,我会避免使用它以及其他缺乏令人信服的商业模式的技术,该模式将保证它们在过去 5 年的生存,并将它们从目前存在的利基类别中移除(目前流行度比它低 20 倍)任何主流数据引擎 - https://db-engines.com/en/ranking)。

    【讨论】:

      猜你喜欢
      • 2020-11-03
      • 2010-10-18
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 2011-07-12
      • 2010-12-04
      相关资源
      最近更新 更多