代码之家  ›  专栏  ›  技术社区  ›  Bogdan Gusiev

将500万条记录导入rails应用程序

  •  1
  • Bogdan Gusiev  · 技术社区  · 14 年前

    我们需要将大量数据(大约500万条记录)导入到postgresqldb underrails应用程序中。 数据将以xml格式提供,其中包含用Base64编码的图像。

    xml文件的估计大小为40GB。 什么样的xml解析器可以在ruby中处理如此多的数据?

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Juha Syrjälä    14 年前

    你会想用一些 SAX parser . SAX解析器不会一次将所有内容加载到内存中。

    googling this blog post . 你可以从那里开始挖掘。

    你也可以试着 split 将XML文件分成更小的部分,使其更易于管理。

        2
  •  1
  •   Sebastian    14 年前

        3
  •  1
  •   Ryan Bigg Andrés Bonilla    14 年前

    您可以使用DBMS CSV加载功能将数据转换为CSV,然后将其加载到数据库中。为了 MySQL it's this PostgreSQL it's this . 我不会用Ruby内置的任何东西来加载40GB的文件,它的内存不太好。最好留给“专业人士”。