2012-04-26 14 views
1

データベースのWALシーケンスが無限であるかどうか疑問に思っていますか?私はほとんどのWALレコードがWAL番号の修正サイズを持っていると思いますか?これは本当に大きな数字なので、終わりには達しませんか?これはかなりのスペースの無駄かもしれませんか?または、大規模なDBプレーヤーがより良い方法を発明してもらえますか?WALシーケンス番号は無限ですか?

また、WAlを再び0にするロジックを実装していますか?それはコード内の多くの箇所に大きな影響を与えるかもしれません...?

EDIT:

影響:例えばクラッシュ後の回復は、タイムラインに沿って大きくなるシーケンス番号に依存しています。シーケンスがリカバリを開始できる場合、混乱する可能性があります。

用語WALシーケンス番号: WAL(アプリケーション層がトランザクションが成功したことを受け取る前に、ディスク上にあると思われるトランザクションログを書き留めてください)。このログは、データベースを合理的に維持するための数が増えています。復旧の場合、WALからのシーケンス番号に対してページからWALシーケンス番号をチェックすることによって行われる。

+0

考えられる影響のシナリオを表示してください。 – vyegorov

+0

私はこれまでに "WALシーケンス"という言葉が使われてきたことは確信していませんし、Googleは明らかにデータベース関連のものを返していません。あなたはその言葉を私たちのために定義できますか? –

+0

@JustinCave編集を参照してください。 –

答えて

3

すべてのデータベースが同じ戦略を実装しているとは限りません。

Oracleのみで言えば、SCN(システム変更番号)は48ビットの数値なので、Oracleデータベースは制限を超える前に約300兆件のトランザクションを処理できます。現実的には、それは永遠にかかります。 1秒間に1,000回のトランザクションを実行できたとしても、SCNは3000億秒(約9500年)の制限に達することはありません。さて、取引を行うだけでなく、SCNを増やす原因になるさまざまなことがあります(これは、SCNの妥当性についてデータベースのチェックを超える少数のユーザーの原因となった有名なrecent issue with hot backups and database linksです)。限界に達する。しかし、現実的には、Oracleは何年にもわたって64ビットのSCNに移行するために多くの時間を要し、誰もが何世紀もの機能を購入しています。

+1

PostgreSQLのWALシーケンスは、OracleのSCNとは異なるものだと思います。 PostgreSQLのWALはOracleのREDOログと多少似ています。 –

+1

@a_horse_with_no_name - SCNはREDOログに記録する必要があります。私が考えていないOracleのREDOログの別のコンポーネントがPostgreSQL WALシーケンスに似ていますか? –

+1

私は、両方の(ロギング)内部に精通していないので、私は完全に間違っているかもしれません:**私は思う** Oracles "Log Sequence Numbers"はWALシーケンスによくマッチします。しかし再び:私は絶対に確信していません。一方。 PostgreSQLの 'ctid'はオラクルの' SCN'によく似ています。両方とも "トランザクション注文"を定義していますので、それは意味します。 –

1

What is an LSN: Log Sequence Numberを参照してください。この資料では、SQL Server LSN(WAL番号)の構造について説明し、それをデコードする方法を示します。 LSNは固定サイズであり、ロールオーバーしないので、それらを使い果たすことができます。しかし、非常に長い時間がかかります。

1

SQL Serverと同様に、DB2はそのカウンタをLog Sequence Number(LSN)と呼びます。 IBMは最近、LSNのサイズを6バイトから8バイトに拡張しました。 LSNは、ログファイル内で特定のログレコードがどこにあるかを示すポインタが増えています。 8バイトのLSNは、DB2データベースが、アドレス空間を使い果たす前に、ログ・レコードのほぼを書き込むことができ、その時点でデータベースの内容をアンロードして新しいデータベースにコピーする必要があることを意味します。

1

PostgreSQLでは、WALログはset of segment filesとして保存されます。 msgstr "" 000000010000000000000000から始まるセグメントファイルの名前はますま​​す増加しています。 "番号はラップアラウンドしません。

関連する問題