いくつかの統計を実行する必要がある研究プロジェクトのデータを含むXMLファイルがいくつかあります。データ量は100GBに近いです。
構造はそれほど複雑ではなく(リレーショナルモデルではおそらく10個のテーブルにマップできます)、問題の性質を考えると、このデータは二度と更新されません。クエリを実行しやすい場所でのみ利用可能である必要があります。の上。
XMLデータベースと、その上でXPATHスタイルのクエリを実行する可能性について読んだことがありますが、それらを使用したことはなく、あまり慣れていません。リレーショナルデータベースにデータを保存するのが私の好みです。
そのため、XMLに格納されているデータをリレーショナルデータベースに変換する方法を探しています(によって生成されたものと同様の大きな.sqlファイルをmysqldump
考えてみてください。最終的な目標は、データを処理するためのSQLクエリを実行できるようにすることです。
いくつかの調査の後、私は自分でそれを書かなければならないとほとんど確信しています。しかし、これは一般的な問題だと思います。したがって、すでにそれを実行しているツールが必要です。
では、XMLデータをリレーショナルデータベースに変換するツールを知っていますか?
PS1:
私のアイデアは次のようになります(動作は異なりますが、私の主張を確実に理解するためです)。
- データ構造を分析します(XML自体またはXSDに基づいて)
- その構造に基づいてリレーショナルデータベース(テーブル、キー)を構築します
- SQLステートメントを生成してデータベースを作成します
- SQLステートメントを生成してデータの入力を作成します
PS2:
私はここSOでいくつかの 投稿を見ましたが、それでも解決策を見つけることができませんでした。Microsoftの「XmlBulkLoad」ツールはその方向に何かをしているようですが、私はMSSQLServerを持っていません。