2011-04-21 102 views
4

场景:假设你在200张表中有90TB的文本。这是结构化的相关数据。可比较dbpedia只有更多的数据。任何真正的关系数据库和分布式数据库都可以完成这项工作。不要期望像社交网络那么多的更新,但是大约500read查询/ s20updates/s但是除了那些需要的主要功能是对数据库进行高速运行的大分析,因为数据将通过像apache mahout这样的机器学习被重新修改和改进不断。哪些用于大型结构化数据的数据库技术?

现在的第一个问题是,哪些数据库技术首先(或等待它们继续前进)首先使用相对低数量的Web浏览器来维护所有数据,但对分析/机器学习的高需求运行很快?其次,哪些其他数据库需要跟踪可能出现的特殊目的,哪些数据库需要应用,哪些数据库应该适用。

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 
+0

90 TB?你的手指一定会因为输入所有文字而受到伤害;-) – Johan 2011-04-21 08:20:50

+1

你会在它上面运行什么类型的查询?请开始你的问题。 – 2011-04-21 09:23:08

+0

您可能想在[DBA](http://dba.stackexchange.com/)站点上提出此问题。 – 2011-04-21 11:23:50

回答

2

但是,除了那些需要的主要特点是运行在数据库上大分析了最大速度

所以现在所有你需要的是90TB +的RAM,你就定了。 “最大”速度是一个非常相对的概念。

我在约200张表中获得了约90TB的文本。这是结构化的相关数据。任何真正的关系型分布式和共振式数据库都可以完成这项工作。

什么是“真正的关系分布式数据库”

让我们翻转一下。假设您有90台服务器,每台服务器都拥有1TB的数据。你计划在200台和90台服务器之间执行连接的计划是什么?

一般来说,跨服务器连接不能很好地扩展。试图在90台服务器上运行连接可能会更少。对200个表进行分区是很多工作。

与其他数据库来跟踪通常在这种情况下,哪些富豪跌出榜单

OK,所以这里有很多的后续问题:

  • 什么你现在在跑吗?
  • 你的痛点是什么?
  • 你真的打算放弃一个新系统吗?
  • 是否有较小的子系统可以先测试?
  • 如果你有200个表,你运行了多少个不同的查询?成千上万的?
  • 你打算如何测试查询的行为是否正确?
+0

你不需要* 90TB的内存,除非所有的90TB都被认为是热门的,但这不太可能大多数场景。 – 2011-04-22 01:23:20

+0

好吧,我会去那!但它的“唯一”0.3TB和足够的萨塔... – Jonas 2011-04-22 02:42:16

2

听起来很适合Cassandra + Hadoop。今天可以稍作努力, DataStax(我工作的地方)推出轻灵(也是开源的),使其更容易:http://www.datastax.com/products/brisk

+0

我以前在你的网站上,对不起,我没有提到它,随时指出cloudera在应用cassandra + hadoop时的优势 – Jonas 2011-04-22 02:54:52