如何快速访问大型只读数据?

时间:2013-11-29 16:22:04

标签: database

我想就如何存储大约200gb到1tb的数据提出建议 - 这不会改变。

数据永远不必更新,但是经常会被查询并期望检索数据< 100毫秒。

数据由sha256哈希键控,只能由该键查询。

可以按照适合搜索过程的任何方式对数据进行排序。

我最初的想法是: -

  1. 将其全部放入键/值db
  2. 根据密钥将数据分区为文件,以便文件系统以/a/b/c/d/e/f/g/h/i/j.dat格式存在,其中包含少量哈希值读
  3. 我以前从未以这种规模工作过,所以对其他人来说如何处理它可能是微不足道的。

1 个答案:

答案 0 :(得分:1)

如果只加载项目一次,只需将它们加载到任何RDBMS中,并在sha256哈希上放置聚簇索引。这将为您提供每次访问大约一次磁盘搜索,因为访问位于随机位置,1TB数据不适合内存。较高的索引级别适合内存,因此您只需要一个物理IO。

预计大约10毫秒的访问时间。

非常简单可靠的解决方案。

我根本不认为需要分区,因为你没有进行维护。您只需执行一次批量加载操作。在大多数情况下,分区会使查询变慢,而不是更快。