哪种数据库技术适用于大结构化数据

时间:2011-04-21 06:39:28

标签: mysql mongodb cloud cassandra bigtable

场景:认为你在200个表中有90TB的文本。这是结构化的相关数据。比较dbpedia只有更多的数据。任何真正的关系,分布式和高性能的数据库都可以完成这项工作。不要期望与社交网络一样多的更新,但是大约500个读取/ 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

2 个答案:

答案 0 :(得分:2)

听起来非常适合Cassandra + Hadoop。今天可以付出一点努力; DataStax(我工作的地方)正在引入Brisk(也是开源)以使其更容易:http://www.datastax.com/products/brisk

答案 1 :(得分:2)

  

但除此之外所需的主要功能是以最大速度对数据库进行大分析

所以现在你所需要的只是90TB +的内存并且你已经设置好了。 “最大”速度是一个非常相对的概念。

  

我在大约200张桌子里有大约90TB的文字。这是结构化的相关数据。任何真正的关系分布式和performant数据库都可以完成这项任务。

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

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

通常,跨服务器连接,不能很好地扩展。尝试在90台服务器上运行连接可能会扩展得更少。分区200个表是很多工作。

  

通常在此上下文中跟踪哪些其他数据库以及从列表中删除哪些数据库

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

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