<分区>
要求我们推荐或查找工具、库或最喜欢的场外资源 的问题对于 Stack Overflow 来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决该问题所做的工作。
关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSCCE.org 寻求指导。
场景:假设您在 200 个表中有 90TB 的文本。这是结构化的相关数据。与 dbpedia 相比,只有更多数据。任何真正的关系型、分布式和高性能数据库都可以胜任这项工作。不要期望与社交网络一样多的更新,但大约 500 次读取查询/秒 20 次更新/秒 但是除此之外所需的主要功能是对数据库进行高速大分析,因为数据应该通过像 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
But main feature required besides those is running big analyses on the database in maximum speed
现在您只需要 90TB 以上的 RAM,一切就绪。 “最大”速度是一个非常相对的概念。
I have got about 90TB of text in a ~200 tables. This is structured related data. Any true relational distributed and per formant database would do the job.
什么是“真正的关系分布式数据库” ?
让我们翻转一下。假设您有 90 台服务器,每台服务器拥有 1TB 的数据。在 200 个表和 90 个服务器之间执行联接的计划是什么?
一般来说,跨服务器连接的扩展性不是很好。尝试在 90 台服务器上运行连接可能会扩展得更少。对 200 个表进行分区是一项大量工作。
which other databases to keep track of generally in this context and which to drop off the list
好的,所以这里有很多后续问题:
你现在在跑什么?
您的痛点是什么?
您真的打算直接使用新系统吗?
是否有可以先测试的较小的子系统?
如果您有 200 个表,您运行了多少种不同的查询?几千?
您打算如何测试查询是否正确运行?