Data structures 1 GB带键和值的数据,存储它们的数据结构是什么?1TB?1 PB?

Data structures 1 GB带键和值的数据,存储它们的数据结构是什么?1TB?1 PB?,data-structures,bigdata,Data Structures,Bigdata,有1GB的数据包含键和值,存储它们的数据结构是什么?如果数据增加到1TB?1 PB?您需要每天经常访问它们。您需要多长时间才能访问它们?真实时间呢?一分钟?一小时 我的回答就像在1GB和1TB中使用哈希表一样。几秒钟?我不知道如何计算真正的时间。当达到1 PB时,我们可以对数据进行排序并将其分成几个部分,然后将它们存储在哈希表中 似乎面试官对答案不满意。看来我完全错了:(对于TBs和PBs中的数据,最好的解决方案是Hadoop。使用Hbase和Hadoop。Hbase和Google table一

有1GB的数据包含键和值,存储它们的数据结构是什么?如果数据增加到1TB?1 PB?您需要每天经常访问它们。您需要多长时间才能访问它们?真实时间呢?一分钟?一小时

我的回答就像在1GB和1TB中使用哈希表一样。几秒钟?我不知道如何计算真正的时间。当达到1 PB时,我们可以对数据进行排序并将其分成几个部分,然后将它们存储在
哈希表中


似乎面试官对答案不满意。看来我完全错了:(

对于TBs和PBs中的数据,最好的解决方案是Hadoop。使用Hbase和Hadoop。Hbase和Google table一样,它在Hadoop之上构建的键值对上运行。希望对您有所帮助。

嗯,结构的选择在很大程度上取决于您有多少内存。但是当您说1TB或1PB时,RAM是完全不可能的。When面试官问这样的问题,他们实际上是想看看你在逻辑思维方面有多好,而不是期待一些精确的解决方案(至少我觉得是这样)

回到您的实际问题,正如Sreejith所说,您可以使用一些分布式平台,如Hadoop。在Hadoop这样的系统中,您可以将多个系统作为一个系统一起使用,以利用它们的组合能力来获得更好的性能。与此相比,使用这种方法可以显著减少读/写时间即使它非常强大,具有非常好的RAM和处理器,Hadoop也提供了类似的数据结构,这使得存储和处理大型数据集非常容易

但无论您选择何种方法,基于磁盘的访问(在处理~TB或~PB的数据时无法避免)总是比基于内存的访问慢。因此,您需要选择一些数据结构,使您能够尽可能减少磁盘访问。有关我想说的内容的详细信息,请参阅此


HTH

你不能在内存中存储那么大的结构。现代(台式机或笔记本电脑)的内存通常在1-8 GB范围内-除了非常专业的系统外,1TB在所有系统中都是完全不可能的。你需要一个数据库(例如SQL)存储在磁盘上。例如,尝试使用您最喜欢的语言创建一个包含数百万个键/值对的哈希表,其中每个值(比如)都是1kb字符串。您的计算机会很快崩溃。这就是使用数据库的原因。谢谢。那么“Hadoop”是这个问题的最佳答案吗?