Webインターフェイスで使用されている科学データのデータベースを再開発する作業を引き継いだ。元の著者は、規模が大きくなくてはるかに難しい「テーブルごとのデータセット」アプローチを採用していた作成された200以上のテーブルを管理できます。私は物事をどう扱うかを理解しようとかなりの時間を費やしましたが、データセットには異種の値が含まれているため、列定義用の設定スキーマを使用してそれらを1つのテーブルに結合することは合理的ではありません。SQL Serverで異種データの複数のテーブルを結合するためのデータベースモデルリファクタリング?
私はEAV、XML列の可能性を探究し、データベースがSQL Server 2008上で実行されているので、多くのスパース列を持つテーブルを使用しようとしました。DBAは最近作成されたスパース列はバックアップスクリプトで何らかの混乱を招くので、これを行うより良い方法がないかどうかもう一度疑問に思っています。私はEAVがまともなパフォーマンスをもたらさないことを知っています。また、XMLデータ型を使った私の実験でも、一部のテーブルのレコード数が多いため、パフォーマンスが低下することがありました。 、
- 200周りのテーブル、:
はここにまとめますカラムは最初の実験データのサンプル数に依存していたためです。
- SQL Server 2008の
私が開発しています新しいバージョンに遺産として、このデータのほとんどを処理することがありますが、私はまだそれを表示し、IT-を照会できるようにする必要があると私は思います現在のマルチテーブルのアプローチと同じように、ストアドプロシージャのテーブル名を動的に指定することで、そうする必要はありません。助言がありますか?
これが主に科学的データである場合、ほとんどの列数値は数字ですか?また、データセットあたりの一般的な列数は何ですか?また、データセット内の最大列数は何ですか? –
dbaはどのような問題に遭遇していますか?スパース列は、テーブルのコピーなどを実行していない限り、バックアップに影響を与えません。 – SqlACID
ほとんどの列は浮動小数点ですが、そこにはいくつかの短い文字列もあります。 1つの表あたりの列数は1から23まで変化します。スパース列のインデックスは圧縮できないため、バックアップが失敗していました。彼らはそれに対処していると思っていますが、今はサービスパックが修正されると思う他の理由で失敗していますが、それは他のもののプロダクションサーバーなので、ダウンタイムを避けるのが良いでしょう。 –