postgresqlのレプリの方法について調査
レプリケーションとは?
Replication と書き、レプリカを作成するの意味で
リアルタイムにデータをコピーする技術のこと。
postgresqlのレプリの種類
以下がデフォルトのconfigで、 synchronous_commit
でレプリの種類を決めています。
# cat postgresql.conf | grep -A 1 synchronous_commit
==========
#synchronous_commit = on # synchronization level;
# off, local, remote_write, remote_apply, or on
==========
コメントアウトの箇所にも書かれている通り、以下5種類あります。
- remote_apply : 完全同期
- on : 同期
- remote_write : 準同期
- local : 非同期
- off : 完全非同期
と、その前に 先に出てくる WAL
という言葉をお話します。
WAL
とは Write Ahead Logging の略で、DBのデータを変更する前に更新内容をログに記録します。
もしDBが壊れてしまっても、WALがあればデータを復旧することが出来ます。
WALに書き込まれてから、DBにデータの変更が行われます
それを踏まえて以下を進みます。
remote_apply : 完全同期
完全同期 で、slaveのWALがpostgresqlに書き込まれるまで保証します。
on : 同期
同期で、 slaveのWALのディスク書き込みまで保証されます。
remote_write : 準同期
準同期で、slaveのWALのメモリに書き込まれるまで保証されます。
local : 非同期
slaveには転送を保証しません。
ローカルのWALに書き込まれるまで保証します。
off : 完全非同期
非同期同様、slaveには転送を保証しません。
ローカルのWALへ書き込みすることすら保証しません。
一番パフォーマンスが良いです。
参考
Author And Source
この問題について(postgresqlのレプリの方法について調査), 我々は、より多くの情報をここで見つけました https://qiita.com/miyuki_samitani/items/2f050c21447657030154著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .