使用Hadoop作为MySQL存储引擎?

问题描述:

除了使用Hive之外,为了对SQL程序员的HDFS上的大规模日志数据执行临时查询,这是一个不错的主意吗?使用Hadoop作为MySQL存储引擎?

有没有类似的开源实现?

从技术上讲,实施起来不应该那么复杂。我看到一些概念性问题,NoSQL引擎在性能方面的行为与MySQL引擎对存储引擎的期望根本不同。具体来说 - 它们具有良好的随机访问,并且在全扫描或范围扫描中效率不高。问题是将所有这些成本转化为优化器是可能的。它适用于任何RDBMS引擎。实际上,它们中的很多都具有可插拔存储引擎的概念,并具有不同级别的灵活性/文档。
我认为,要实现这样的集成,我们需要能够将谓词下推到NoSQL引擎以进行全/范围扫描。我不能100%确定MySQL在存储引擎接口级别上支持它。
我用这种方法看到的另一个严重问题是,MySQL没有并行查询,因此不能太好处理大数据。

我在2014年搜索的问题,我发现Infinidba blog关于它。它集成了hadoop和mysql。它提供了一个本地mysql协议访问存储hadoop的数据。

我没有读太多关于它,而它在兼容性有问题,我(与MySQL的现有应用程序)和性能(比较好调整索引和数据分区)。

但它可能是最简单的解决方案,具有非常大的数据集的高可用性,而这些数据集不能放入少量磁盘。 (HDFS采用内置的复制,将不需要SAN或RAID)

顺便说一句,在Infinidb网站目前受心脏出血漏洞错误。我不知道他们的产品是否安全,因为它已经补充了5个月以上的流言。

+0

InfiniDB(又名Calpont)倒闭了您的文章的日期。 MariaDB(该公司,之前为SkySQL)现在提供支持(和理论上的未来发展)。 – 2014-12-16 18:05:55