「永続的なトランザクション」を説明する正しい用語は何ですか?

dba.stackexchange https://dba.stackexchange.com/questions/2313

  •  16-10-2019
  •  | 
  •  

質問

私はゼロ管理OODBMSの管理者のようなものですが、ほとんどがプログラミングをしています。

何年も前に、永続的なトランザクションのようなものの概念があるいくつかのSQLデータベースについて読んだことを覚えています。 Sybaseだったかもしれません。とにかく、その「もの」は何であったのは、あなたが開始するトランザクションのようなものであり、それは接続の間に持続し、「通常の」トランザクションを実行できるようにします。基本的に、メインデータベースから分岐する可能性のあるデータベースの「ビュー」を提供しますが、同じサーバーで実行されているため、「独自の」サーバーを使用するのではなく、ほとんどのリソースを共有します。私が今何を意味するのかを理解していただければ幸いです。

とにかく、そのようなものは何と呼ばれていますか、そしてそれはまだ最新のデータベースで利用可能です。特に、それを行うことができる派手な分散型NOSQLデータベースはありますか?

私が尋ねている理由は、そのようなものを使用してメインデータベース上のソフトウェアの次のバージョンのステージングを実行できるため、メインのものと同じくらい強力なステージングシステムが必要であるためです。メインからテストへの変更を同期するトラブル/帯域幅。 「永続的なトランザクション」を開始し、数日間新しいソフトウェアをテストします。おそらく、一部のユーザーがプレビューを取得し、完了したら変更を捨てることができます。次に、実際の展開を行い、次のバージョンの新しい「永続的なトランザクション」を開始します...

NB:それは私の最初の投稿であり、タグを発明する権利がなく、「永続的」、「永続的」、または「長い走り」のようなものはありませんでした。

役に立ちましたか?

解決

私はあなたが意味することを知っています、私たちはストレージでそれを使用してそれをします NetApp FlexClones. 。 FlexCloneはファイルシステムのコピーのように「見えます」が、ディスク上の基礎となるブロックは コピーオンワイト、 したがって、それが実際に占める唯一のスペースは、あなたが行った変化のスペースです。

ただし、クローンはです いいえ やり直しログのような変化のストリーム。 NetAppの仕組みは、ファイルシステムレベルで表示される各ブロックが、実際には「実際の」ストレージのブロックへのポインターであることです。 FlexCloneを作成することは、ポインターのリストをコピーするだけの問題であるため、非常に軽量の操作です。 FlexCloneのブロックを変更すると、ポインターが新鮮なブロックに移動し、オリジナルがコピーされ、通常どおりに進行します。これには2つの興味深い意味があります。

  1. 一度ブロックを変更したら、好きなだけ何度も変更し続けることができます - それ以上のストレージはありません
  2. 最初の牛が完了すると、FlexCloneへのアクセス速度は実際のボリュームの速度と同じです。

通常、プライマリを入力します ホットバックアップモード (Oracleの場合、しかしストレージ上にあるため、これは同等のモードを持つデータベースで動作します)、ストレージをFlexClone、NFSでクローンを(はるかに小さい)テストサーバーにマウントし、新しいコントロールファイルを作成し、データベースを回復します必要に応じてアーカイブされたREDOログから、それを開きます resetlogs. 。デフォルトでは10%の「スナップリザーブ」を許可します(つまり、クローンの最大10%を変更できます)が、これは完全に構成可能です - 100%作成して、独立したコピーを作成する「分割」を実行できます。このテクノロジー(いくつかの巧妙なシェルスクリプトで)により、テスト環境が3日以上から数分に数分に減少しました。私は大ファンです。

他のヒント

切断されたデータセットを探していると思います。データベースロックを維持できないため、トランザクション管理を複雑にします。

JDBCドライバーにより、データセットをデータベースから切断することができます。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top