我正在尝试将具有关系数据库的应用程序转换为后端。我可以将数据关系存储在HDFS中吗?
答案 0 :(得分:5)
只是为了存储,您可以在HDFS中存储任何内容。但这没有任何意义。首先,您不应该将Hadoop视为RDBMS的替代品(您在此处尝试这样做)。两者都用于完全不同的目的。 Hadoop不适合您的交易,关系或实时需求。它旨在满足您的离线批处理需求。因此,最好正确分析您的用例,然后冻结您的决定。
作为建议,我想指出Hive。它为您提供现有Hadoop集群之上的仓储功能。它还为您的仓库提供了一个类似SQL的界面,如果您来自SQL背景,这将使您的生活更轻松。但同样,Hive也是一个批处理系统,如果您需要实时的话,它不适合。
您可以按照abhinav的建议查看HBase。它是一个可以在Hadoop集群上运行的数据库,为您提供对数据的随机,实时读/写访问。但是你应该记住一件事,那就是NoSQL数据库。它不遵循SQL术语和约定。所以,你最初可能会发现它有点外星人。与RDBMS的行样式存储不同,您可能需要考虑如何以新的存储方式(柱状)存储数据等问题。否则,设置和使用它不是问题。
HTH
答案 1 :(得分:0)
任何文件都可以存储在HDFS中。但是如果你想要一个SQL类型的数据库,你应该选择HBASE。如果直接将数据存储到HDFS中,您将无法存储合理性。