【问题标题】:How to improve the speed of a lot of small files' read and write?如何提高大量小文件的读写速度?
【发布时间】:2015-09-07 08:32:26
【问题描述】:

我的工作是提高从磁盘读取大量小文件 (1KB) 以写入我们的数据库的速度。 数据库对我来说是开源的,我可以将所有代码从客户端更改为服务器。 数据库架构是,它是一个简单的主从分布式基于HDFS的数据库,如HBase。磁盘中的小文件可以插入到我们的数据库中,自动组合成更大的块,然后写入HDFS。(也可以将大文件由数据库分割成更小的块,然后写入HDFS)

改变客户端的一种方法是增加线程数。 我没有任何其他想法。或者您可以提供一些想法来进行性能分析。

【问题讨论】:

  • 最后我们从分布式机器读取文件以提高速度

标签: mongodb database-design hbase database nosql


【解决方案1】:

处理此类小文件的一种方法是将这些小文件转换为序列文件并将其存储到 HDFS 中。然后将此文件作为 Map Reduce 作业输入文件,将数据放入 HBase 或类似数据库中。

【讨论】:

    【解决方案2】:

    这里以 aws 为例,但它可以是任何存储/队列设置:

    如果文件能够存在于共享存储(如 S3)上,您可以为每个文件添加一个队列条目,然后开始将服务器扔到队列中以将文件添加到数据库。那时瓶颈变成了数据库而不是客户端。

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 2013-08-10
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多