MySQL集群与Hadoop处理大数据

MySQL集群与Hadoop处理大数据,hadoop,mapreduce,hive,bigdata,mysql-cluster,Hadoop,Mapreduce,Hive,Bigdata,Mysql Cluster,我想知道使用MySQL集群和Hadoop框架的优缺点。 更好的解决方案是什么。我想听听你的意见 我认为使用MySQL集群的优势在于: 高可用性 良好的可扩展性 高性能/实时数据访问 你可以使用商品硬件 我看不出有什么缺点!Hadoop有什么缺点吗 带有Hive的Hadoop的优点是: 还有很好的可扩展性 你也可以使用商品硬件 在异构环境中运行的能力 基于MapReduce框架的并行计算 带有HiveQL的蜂巢 缺点是: 没有实时数据访问。分析数据可能需要几分钟或几小时 因此,在我看来,对于处理大

我想知道使用MySQL集群和Hadoop框架的优缺点。 更好的解决方案是什么。我想听听你的意见

我认为使用MySQL集群的优势在于:

  • 高可用性
  • 良好的可扩展性
  • 高性能/实时数据访问
  • 你可以使用商品硬件
  • 我看不出有什么缺点!Hadoop有什么缺点吗

    带有Hive的Hadoop的优点是:

  • 还有很好的可扩展性
  • 你也可以使用商品硬件
  • 在异构环境中运行的能力
  • 基于MapReduce框架的并行计算
  • 带有HiveQL的蜂巢
  • 缺点是:

  • 没有实时数据访问。分析数据可能需要几分钟或几小时

  • 因此,在我看来,对于处理大数据而言,MySQL集群是更好的解决方案。为什么Hadoop是处理大数据的圣杯?你的看法是什么?

    Hadoop不是MySQL的替代品,所以我认为他们有自己的方案

    大家都知道hadoop更适合批量作业或离线计算,但也有许多相关的实时产品,如hbase

    如果您想选择离线计算和存储架构

    我建议hadoop不要使用MySQL群集进行离线计算和存储,因为:

  • 成本:显然,hadoop集群比MySQL集群便宜
  • 可扩展性:hadoop支持集群中的上万台机器
  • 生态系统:mapreduce、hive、pig、sqoop等

  • 因此,您可以选择hadoop作为离线计算和存储,选择MySQL作为在线计算和存储,您也可以从中学习更多。

    另一个答案很好,但并没有真正解释为什么hadoop在离线数据处理方面比MySQL集群更具可扩展性。Hadoop对于必须分布在多台机器上的大型数据集更为有效,因为它可以让您完全控制数据的切分

    MySQL集群使用自动分片,它的设计目的是随机分配数据,这样就不会让任何一台机器受到更多负载的影响。另一方面,Hadoop允许显式定义数据分区,以便需要同时访问的多个数据点位于同一台机器上,从而最大限度地减少完成任务所需的机器之间的通信量。这使得Hadoop在许多情况下能够更好地处理海量数据集


    的答案很好地解释了这一区别。

    以上两个答案都忽略了mySQL和Hadoop之间的巨大区别。mySQL要求您以某种格式存储数据。它喜欢高度结构化的数据——您可以声明表中每一列的数据类型,等等。Hadoop根本不关心这一点

    示例-如果您有10亿个文本日志文件,为了使mySQL的分析成为可能,您需要首先解析数据并将其加载到mySQL表中,并在整个过程中键入每一列。使用hadoop和mapreduce,您可以定义从原始数据源扫描/分析/返回数据的函数,而不需要预处理ETL来对其进行预结构化


    如果数据已经在mySQL中结构化,那么(希望)它的结构良好,为什么要将其导出给hadoop进行分析?如果不是,为什么要花时间来ETL数据?

    你能解释一下hadoop更便宜是什么意思吗?我的理解是MySQL Cluster有一个免费版本。你是对的,任何“随机”的切分最终都会导致数据集中的随机热点,除非完全了解数据的未来。你可以很容易地手动切分mySQL(我们这样做)以允许你移动数据,等等,问题仍然是——在你经历了所有构建数据的麻烦之后,为什么要在mySQL之上使用hadoop呢?首先要将数据放入mySQL(或者DB)?听起来像是一堆表格扫描..天哪。