1

Railsアプリケーションの下で大量のデータ(約500万レコード)をpostgresqlデータベースにインポートする必要があります。データはxml形式で提供され、その中の画像はBase64でエンコードされます。

xmlファイルの推定サイズは40GBです。どのxmlパーサーがrubyでそのような量のデータを処理できますか?

ありがとう。

4

3 に答える 3

3

ある種のSAXパーサーを使用することをお勧めします。SAXパーサーは、すべてを一度にメモリにロードするわけではありません。

Rubyパーサーについてはわかりませんが、グーグルですばやくこのブログに投稿しました。そこから掘り始めることができます。

XMLファイルをより小さな部分に分割して、管理しやすくすることもできます。

于 2010-05-13T09:07:10.940 に答える
1

Juhaが言ったように、XMLSAXパーサーを使用する必要があります。Libxmlはrubyにとって最速のxmllibだと思います。

于 2010-05-13T09:31:15.790 に答える
1

データをCSVに変換し、DBMSCSV読み込み機能を使用してデータベースに読み込むことができます。MySQLの場合はこれであり、PostgreSQLの場合はこれです。私は40GBのファイルをロードするためにRubyに組み込まれているものを何も使用しません、それはメモリではあまり良くありません。「専門家」に任せるのが最善です。

于 2010-05-13T09:39:19.313 に答える