タグ付けされた質問 「archive」

3
現在の年を除くすべてをアーカイブし、同時にテーブルをパーティション分割する最良の方法は何ですか
仕事 大きなテーブルのグループから、13か月のローリング期間を除くすべてをアーカイブします。アーカイブされたデータは別のデータベースに保存する必要があります。 データベースは単純復旧モードです テーブルは50ミリ行から数十億行で、場合によってはそれぞれ数百GBを占有します。 テーブルは現在パーティション化されていません 各テーブルには、増え続ける日付列に1つのクラスター化インデックスがあります 各テーブルには、さらに1つの非クラスター化インデックスがあります テーブルに対するすべてのデータ変更は挿入です 目標は、プライマリデータベースのダウンタイムを最小限に抑えることです。 サーバーは2008 R2 Enterpriseです 「アーカイブ」テーブルには約11億行、「ライブ」テーブルには約4億行が含まれます。明らかに、アーカイブテーブルは時間とともに増加しますが、ライブテーブルも合理的に急速に増加することを期待しています。少なくとも次の数年で50%と言います。 Azureストレッチデータベースについて考えていましたが、残念ながら2008 R2にあり、しばらくそこに留まる可能性があります。 現在の計画 新しいデータベースを作成する 新しいデータベースに(変更日を使用して)月ごとにパーティション分割された新しいテーブルを作成します。 直近の12〜13か月分のデータをパーティションテーブルに移動します。 2つのデータベースの名前変更スワップを行う 移動したデータを現在の「アーカイブ」データベースから削除します。 「アーカイブ」データベースの各テーブルをパーティション分割します。 パーティションスワップを使用して、将来データをアーカイブします。 アーカイブするデータをスワップアウトし、そのテーブルをアーカイブデータベースにコピーし、それをアーカイブテーブルにスワップする必要があることを理解しています。これは許容範囲です。 問題: データを初期パーティションテーブルに移動しようとしています(実際、まだデータの概念実証を行っています)。私はTF 610(データロードパフォーマンスガイドに従って)とINSERT...SELECTステートメントを使用して、データを最小限に記録されると最初に考えて移動しようとしています。残念ながら、私が試すたびに完全にログに記録されます。 この時点で、SSISパッケージを使用してデータを移動することが最善の策だと考えています。200個のテーブルと、スクリプトでできることはすべて簡単に生成して実行できるため、これを回避しようとしています。 私の一般的な計画で不足しているものはありますか?SSISは、ログを最小限に抑えてデータをすばやく移動するための最善の策です(スペースの問題)? データなしのデモコード -- Existing structure USE [Audit] GO CREATE TABLE [dbo].[AuditTable]( [Col1] [bigint] NULL, [Col2] [int] NULL, [Col3] [int] NULL, [Col4] [int] …

1
データをパージする最も簡単な方法は何ですか?
シナリオ: 我々は2つのテーブル持っているTbl1&Tbl2加入者サーバ上に。Tbl1出版社から複製されServer A、それは2つのトリガーがある-挿入および更新を。トリガーはにデータを挿入および更新していますTbl2。 今、私たちはパージしなければなりません(約9億件のレコード)からTbl2、合計で1億件以上のレコードがあります。以下は、1か月から1分間のデータ分布です。 1か月-14986826行 1日-483446行 1時間-20143行 1分-335行 私が探しているもの; 生産上の問題、データの一貫性、そしておそらくダウンタイムなしでそのデータを消去する最速の方法。だから、私は以下の手順に従うことを考えていますが、立ち往生しています:( 手順: BCP既存のテーブルTbl2から必要なデータを出力します(約1億レコード、約30分かかる場合があります)。 1Fab2018の午後10:00にアクティビティを開始し、1Fab2018の午後10:30に終了したとします。アクティビティが完了するまでに、テーブルTbl2はデルタになる新しいレコードを取得します Tbl3という名前でデータベースに新しいテーブルを作成します 新しく作成されたテーブルTbl3にエクスポートされたデータのBCP(約1億レコード、約30分かかる場合があります) 複製ジョブを停止します BCP-inが完了したら、tsqlスクリプトを使用して新しいデルタデータを挿入します。 課題は-デルタ「更新」ステートメントに対処する方法ですか? レプリケーションを開始する 追加の質問: シナリオに対処する最良の方法は何ですか?

1
データベースアーカイブソリューション
私が投稿した質問に続いて、大量のアクセス頻度の高いテーブルを別のデータベースに移動することをお勧めしますか?、PostgreSQLでのデータベースアーカイブに利用できるさまざまなテクニック/ソリューションを探しています。 私が考えることができるいくつかのソリューションは次のとおりです。 テーブルのパーティション分割 別のテーブルスペースおよび/またはスキーマ アーカイブされたレコード/テーブルを別のハードディスクに移動する 他の提案/ポインター/ソリューションは本当に歓迎され、高く評価されています。 注: CentOS5.2でPostgreSQL v9.1.3を実行しています
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.