【发布时间】:2011-04-21 06:39:28
【问题描述】:
场景:假设您在 200 个表中有 90TB 的文本。这是结构化的相关数据。与 dbpedia 相比只有更多的数据。任何真正的关系型、分布式和高性能数据库都可以完成这项工作。不要期望像社交网络那样多的更新,但大约 500read 查询/s 20updates/s 但除此之外需要的主要功能是对数据库进行高速大分析,因为数据将通过 apache mahout 等机器学习进行重新加工和改进不断。
现在的第一个问题是,应该从哪些数据库技术开始(或等待它们重新发布)以首先维护所有数据,并使用相对较少的网络访问者,但对快速运行的分析/机器学习有很高的需求?其次,为了可能发生的特殊目的,需要跟踪哪些其他数据库,哪些应该从列表中删除或成对放置,哪些应该只应用一个(/更好的)。
Cloudera/Brisk (Cassandra,Hive)
mysql(cluster), mariadb
Berkeley DB
drizzle, nimbusdb,
scidb (http://www.theregister.co.uk/2010/09/13/michael_stonebraker_interview/)
mongodb
datadraw
neo4j
【问题讨论】:
-
90 TB?你的手指一定会因为输入所有文字而受伤;-)
-
你会在上面运行什么样的查询?请从这个开始你的问题。
-
您可能想改为在DBA 网站上提问。
-
200 个表是数据仓库的大量表,不知道如何准确地使用和转换数据以获取报告 - 最快的解决方案将是某种 Map/Reduce 实现(Hadoop + Cassandra 是其中之一)。您应该扩展您的问题,因为了解数据的转换方式会有所帮助(如果它像谷歌一样存储所有可能的内容,然后根据找到的文本模式进行查询,那么 Map/Reduce 平台胜过其他任何事情)。
标签: mysql mongodb cloud cassandra bigtable