2013-01-04 36 views
3

我收集大量的数据中的哪一个最可能将是一个格式如下:大数据数据库

用户1:(A,O,X,Y,Z,T,H, ü)

其中所有的变量相对于时间动态改变,除了u - 这是用来存储用户名。自从我的背景在“大数据”中并不是非常激烈的时候,我想了解的是,当我结束数组时,它会非常大,例如108000 x 3500,因为我将在每个时间步执行分析,并绘制它,什么是一个适当的数据库来管理这是我正在试图确定。由于这是科学研究,我在看CDF和HDF5,并根据我在这里阅读的内容NASA我想我会想用CDF。但是,这是管理这些数据以提高速度和效率的正确方法吗?

最终的数据集将所有的用户作为列,并且这些行将被加时间戳,所以我的分析程序将逐行读取以解释数据。并输入数据集。也许我应该看看像CouchDB和RDBMS这样的东西,我只是不知道开始的好地方。建议将不胜感激。

回答

5

这是一个扩展的意见,而不是一个全面的答案...

恕我直言,大小108000*3500的数据集并没有真正有资格作为大数据这些天,除非你已经省略了单元如GB。如果只是108000*3500字节,那只有3GB加上更改。您提到的任何技术都可以轻松应对。我认为你应该根据哪种方法来加速你的发展而不是加快你的执行速度来做出你的选择。

但是,如果你想进一步的建议来考虑,我建议:

  1. SciDB
  2. Rasdaman
  3. Monet DB

所有这一切都在学术大数据一定的牵引力社区,并开始在该社区之外使用。

2

我一直在使用CDF的一些相似大小的数据,我认为它应该很好地工作。但你需要记住一些事情。考虑到我真的不知道你的项目的细节,这可能会也可能不会有帮助...

3GB的数据是围绕旧版CDF的文件大小限制,所以请确保您正在使用一个最新的图书馆。

虽然3GB的数据并不多,但根据读写方式的不同,情况可能会变得缓慢。确保尽可能使用超读/写功能。

CDF支持可保存诸如用户名和数据描述等信息的元数据(称为全局/变量属性)。

很容易将数据分成多个文件。我会建议每个用户使用一个文件。这意味着您可以将整个文件的用户名只写入一次,而不是记录在每个记录中。

您需要创建一个名为epoch的额外变量。这是每个记录明确定义的时间戳。我不确定你现在的时间戳是否合适,或者你是否需要处理它,但这是你需要考虑的事情。此外,纪元变量需要分配给它的特定类型(历元,epoch16或TT2000)。 TT2000是最新的版本,其精度达到了纳秒级,并能处理闰秒,但我遇到的大多数CDF读卡器都无法很好地处理它。如果你不需要那种精确度,我推荐epoch16,因为这已经是标准的一段时间了。

希望这会有所帮助,如果你和CDF一起去,随时随地解决你遇到的任何问题。