0

5M はそれほど多くないかもしれませんが、次のスキーマに基づいて XML を受信する必要が ありますhttp://www.sat.gob.mx/sitio_internet/cfd/3/cfdv3.xsd したがって、ほとんどすべてを保存する必要があります。行ごとの情報。現在、法律により、情報を非常に長期間保存する必要があり、最終的にこのデータベースは非常に大きくなります。

多分毎日テーブルを作成しますか?_invoices_16_07_2012 のようなものです。

うーん、道に迷った..これを行う方法がわかりませんが、可能であることはわかっています。

さらに、各 XML に基づいて PDF とさらに 2 つのファイルを作成し、それらを HD に保存する必要があります。また、Web サイトを使用してファイルをすばやく取得できる必要があります。

4

1 に答える 1

3

これは、1つの行の1つのフィールドに入力する大量のデータです(それがあなたが考えていたものであったかどうかはわかりません)。

xmlオブジェクトを解析し、xmlの各値を別のフィールドに、または自分にとって意味のある方法で保存するスクリプトを記述します(したがって、適切なすべてのフィールドを含むテーブルを作成する必要があります)。xmlシートごとに1行としてデータを入力できるはずです。

また、データベースをシャーディングして、多くのテーブル上のサーバーのクラスター全体に分散させることもできます。MySQLはこれをサポートしていますが、私は以前に自分のシャーディングメカニズムをブーストしただけです。

XMLシートごとにテーブルを作成しないでください。それはやり過ぎです。

さて、なぜこれにmysqlが必要なのですか?XMLのデータをクエリしていますか?単にアーカイブ目的でこのデータを保存する場合は、mysqlは必要ありませんが、代わりにファイルをtarballなどに圧縮して、ディスクに直接保存することができます。あなたのウェブサイトはこの方法でファイルを簡単にフェッチすることができます。

あなたが言っているのと同じくらい多くのデータで500万のトランザクションを処理できるビッグデータストアが必要な場合は、Hadoopのようなものを調べて、データを分散ファイルシステムに保存することもできます。データをより簡単にクエリしたい場合は、Hadoop上で実行できるHBaseを調べてください。

お役に立てれば。

于 2012-07-18T00:46:26.227 に答える