Hadoop 是不是适合为 50GB 数据集中的 100 字节记录提供服务?
Posted
技术标签:
【中文标题】Hadoop 是不是适合为 50GB 数据集中的 100 字节记录提供服务?【英文标题】:Is Hadoop Suited to Serve 100 byte Records Out of 50GB Dataset?Hadoop 是否适合为 50GB 数据集中的 100 字节记录提供服务? 【发布时间】:2012-06-15 15:19:51 【问题描述】:我们有一个问题,Hadoop 是否适用于不需要运行应用程序但需要非常快速地读取和写入少量数据的简单任务。
要求是能够以每秒 30 的速率写入具有一对索引的大约 100-200 字节长的消息,同时能够以大约 10 的速率读取(通过这两个索引搜索)秒。读取查询必须非常快 - 每个查询最多 100-200 毫秒,并且返回的匹配记录很少。
总数据量预计将达到 50-100 GB,并将通过删除较旧的记录(例如删除 14 天以上的记录的日常任务)保持此速度
如您所见,总数据量并没有那么大,但我们担心 Hadoop 的搜索速度可能会比我们需要的慢。
Hadoop 是否可以解决这个问题?
谢谢 尼克
【问题讨论】:
这听起来数据量仍然完全在传统 RDBMS(SQL Server、Oracle、mysql、Postgres 等)可接受的范围内 【参考方案1】:单独的 Hadoop 在提供许多小数据段方面非常糟糕。然而,HBase 是一个类似索引表数据库的系统,旨在运行在 Hadoop 之上。它非常擅长提供小型索引文件。我会研究它作为解决方案。
另一个需要关注的问题是将数据导入 HDFS 或 HBase 并非易事。它会使你的集群变慢很多,所以如果你选择 Hadoop,你还必须解决如何将这 75GB 放入 HDFS 以便 Hadoop 可以接触它们。
【讨论】:
【参考方案2】:正如 Sam 所说,HBase 是可以满足您的要求的 Hadoop 堆栈解决方案。但是,如果这些是您对数据的唯一要求,我不会使用 Hadoop。
您可以使用其他 NoSQL 解决方案,例如 MongoDB 或 CouchDB 甚至 MySQL 或 Postgres
【讨论】:
以上是关于Hadoop 是不是适合为 50GB 数据集中的 100 字节记录提供服务?的主要内容,如果未能解决你的问题,请参考以下文章
怎样利用Spark Streaming和Hadoop实现近实时的会话连接