SlideShare a Scribd company logo
1 of 28
Download to read offline
PostgreSQL 筆記
資料可靠性及WAL
陳彥⽂文
Write-Ahead Logging (WAL)
•

預寫⽇日誌

•

中⼼心思維:改變前先記錄
•
•

•

預先將⼀一連串的Transaction先⾏行寫⼊入到Log, 來預防系統潰散時的損失
固定時間或是緩衝⽤用完時,把所有Transaction⼀一⼝口氣flush回硬碟

優勢
•

減少硬碟的IO次數 (使⽤用fsync()將Transaction⼀一⼝口氣依序寫⼊入硬碟)
•

⾮非隨機寫⼊入,所以性能很好

•
•
•

確保資料完整性 (以往的⽅方式無法保證此事)
易於資料庫在運作時,也可執⾏行備份及回復 (利⽤用pg_dump來取得定時資料)

PostgreSQL 7.1+
WAL 特性
•

Transaction 特性 (Gray & Reuter)
•
•

Consistency (data typing, referential integrity)

•

Isolation (concurrent execution appears serial)

•
•

Atomicity (transactions are all-or-nothing)!

Durability (transactions can't come uncommitted)!

⾼高度可⽤用性 (High Availability)
•

•

如果Server掛了,我們希望會有⼀一台擁有相同資料,⽽而且是最新資料的機器

時間點回復 (PITR, Point-in-Time Recovery)
•

如果我們在 4:03am 刪除了⼀一張Table,我們可以透過PITR回復到還沒刪除Table
前的狀態 (ex: 4:02am)
Crash
•

Many database actions involve modifying more than one page.
•

Example: Splitting an index page.

•

Writing two data pages A and B is not atomic.

•

One write must happen before the other.
•

•

We need to give the operating system and disk controller freedom to reorder the writes;
we don't even know which one will happen first.

We could crash in between.

!
•

Writing one data page isn't even atomic.

•

Pages are 8kB, but the disk writes in chunks as small as 512 bytes.

•

We could crash in the middle (“torn page”).
Durability (持久性)
•

我們會將所有的WAL寫⼊入到磁碟後,才告知Client,
Transaction已完成

•

如果有錯誤的情況發⽣生,所有的資料都會被復原

•

他的⾏行為就跟⼀一次將所有Block寫⼊入到磁碟的效果⼀一樣好,
但是成本更便宜
•

I/O 的⾏行為是依序的,並⾮非隨機

•

⽐比起寫⼊入整個Page,WAL的entries很⼩小

•

Page 可能會更新許多次,但是只會寫⼊入⼀一次
Replication (副本)
•

可進⾏行hot backup (不停機備份)到其他的幾次
•

需要使⽤用pg_start_backup/pg_stop_backip

•

在PostgreSQL 9.1之後,提供pg_basebackup⼯工具可使⽤用

•

可將每個WAL entry送到網路上,並且在遠端的機器還原 (Archive
Recovery)

•

每個更新將會在本地執⾏行,也將會在遠端發⽣生 – 兩個資料庫將會同時
鎖住

•

容錯轉移(Failover):若是Master掛了,則可轉移到其它可⽤用機器

•

在PostgreSQL 9.0之後,你甚⾄至可以對Slave進⾏行”唯讀”的查詢
WAL 概念
•

Log sequence number (LSN).

•

WAL Segment.

•

Checkpoint.

•

Restartpoint.

•

Full page write.

•

Consistency.

•

Minimum recovery point.
Log sequence number
•

我們在WAL Stream中,透過byte的位置來分辨出特定的
WAL Entry

•

當資料庫Cluster第⼀一次啟動時,啟動了WAL Stream,放置
在第⼀一個位置

•

LSN為64bit的整數,所以⽤用不完

•

每個檔案分⾴頁,都包含著LSN,緊接著下⼀一個WAL Entry就
記錄著如何修改這個分⾴頁

•

在將分⾴頁寫出之前,我們必須flush所有的WAL Entry到該
分⾴頁
WAL Segment

•

WAL entry所寫⼊入的檔案,每個檔案固定在16MB

•

該檔案就被稱為WAL Segment
Checkpoints
•

儘管LSN的數值會持續往上增加,但我們並不希望永遠保存
WAL

•

所以我們需要Checkpoints

•

所有修改過的buffer(⼜又稱Dirty buffer)將會被寫⼊入(flush)到磁
碟

•

在Server啟動時,我們會需要重新載⼊入最後⼀一個checkpoint
後所有的WAL

•

在Checkpoint之前,所產⽣生的WAL segment都會被回收(通
常是複寫,⽽而⾮非建⽴立新的檔案)
Restartpoints
•

Replication是持續不斷的

•

很多個WAL segments也會不停的累積

•

Restarpoints基本上等同於Checkpoints,但僅發⽣生
在Recovery時

•

Restartpoints只會發⽣生在系統執⾏行Checkpoints時

•

如果線上系統發⽣生crash,則可以從Restartpoint繼續
執⾏行
Full Page Write
•

Physical Logging
•
•

•

不論何時改變,都會將整個page寫⼊入
簡單,但是很沒效率

Logical Logging
•
•

•

依序將 Insert/Update/Delete 儲存下來
Redo困難

Physiological Logging
•

儲存每⼀一個Page所修改的地⽅方

•

必須依賴現存的Page,所以無法處理撕裂後的Page (Torn Page)
•

•

Torn Page,可能發⽣生在I/O Error時

解法 —> Full Page Write
•

在最新的checkpoint之後,使⽤用Physical Logging將整個Page寫⼊入

•

之後所有的更動,則使⽤用 Physiological Logging 來實作
•

如果因I/O error產⽣生Torn Page,Physical Logging則會重新覆寫整個Page
Consistency
•

無法載⼊入WAL造成的結果
•

Torn Page

•

Index損毀

•

部分或是所有的更動將會遺失

•

如果系統在⼀一般運作情況下發⽣生Crash,我們必須重現在Crash發⽣生之前所有的WAL entry

•

但是在Archive Recovery(Replication, PITR等),這個情況會更加複雜
•

當開始第⼀一次Archive Recovery,我們必須重新載⼊入在hot backup期間,所有產⽣生的WAL
entry

•

如果Archive Recovery因為Crash或是Restart⽽而必須重新啟動,我們必須重新載⼊入
Restartpoint之後的WAL Entry

•

如果我們已經載完了WAL entry,並且修改了Page X,如果Page X還沒寫⼊入磁碟前就發⽣生系
統Crash,我們不需要再載⼊入WAL entry了
Minimum Recovery Point
•

第⼀一筆WAL記錄的LSN不需要被重新載⼊入,就可以達
到⼀一致性

•

在Recovery時,我們會block寫⼊入時,更新Minima
Recovery Point

•

Minimum Recovery Point儲存在Control File

•

如果寫⼊入的block,它的LSN⽐比Minimum Recovery
Point還⼤大,我們則會把Minimum Recovery Point指
向該Block的LSN
減少WAL的overhead
•

WAL bypass

•

wal_level

•

wal_buffers

•

Checkpoint parameters

•

synchronous_commit

•

fsync

•

Temporary tables

•

Unlogged tables (in 9.1)
WAL bypass
•

如果你的系統沒有Replication …

•

⽽而且你在這個Transaction期間,建⽴立及移除Table …

•

那麼針對該張Table的⾏行為將不會被WAL記錄下來

•

如果系統崩潰了,Transaction將被視為中⽌止,整個
檔案將會被移除 …事實上是部分的資料會被遺棄,
無所謂
wal_level
•

預設為wal_level=minimal

•

如果要採⽤用Warm Standby,則需設定為 wal_level=archive
•
•

•

這個設定會取消WAL bypass
Warm Standby: 意指架構在第⼆二台的Server,已經預裝好軟體,當Master掛點
時,可以隨時轉移到此主機,⽽而Master也會將資料mirror到這台機器。需要花費
Recovery Time

如果要採⽤用Hot Standby,則需要設 wal_level=hot_standby
•

這個設定也會同時取消WAL bypass

•

它同時會記錄額外的資訊,使新的機器可以透過有效的MVCC snapshot建構資料

•

Hot Standby: 意指同時有兩台Server,並且做及時備份,當⼀一台掛點時,另外⼀一
台可以及時on起來
wal_buffers
•

在PostgreSQL 9.0以上,wal_buffers預設為64K

•

這個數字太⼩小,容易引發頻繁的flushing

•

從PostgreSQL 9.1開始,預設為3%的
shared_buffer,最⼤大為16MB,儘管不⼤大,但是已經
⽐比原始的預設值好上許多
配置 - Checkpoints
•

Checkpoints (檢查點)
•
•

在這個點之前的Transaction都會保證已寫⼊入磁碟

•

若寫⼊入失敗,則會roll-back回上⼀一個checkpoint

•
•

每固定時間的Transaction中會插⼊入的點

檢查點越頻繁,資料越安全,但是效能越差。反之亦然

相關參數
•

checkpoint_segments
•
•

•

設置在LogFile中,多少個Segments要放⼀一個檢查點 (每個Segments預設16mb)。預設為3個Segments
3可能太⼩小,建議可達30

checkpoint_timeout
•

設置幾分鐘做⼀一次檢查點,預設為5分鐘

•

5min是合理的數值,但是若能更⾼高,則可能可以更減少I/O的消耗
配置 - Checkpoints
•

checkpoint_completion_target (0~1, Float)
•

•

執⾏行下⼀一次檢查點之前,必須完成上⼀一個檢查點,所以設置這
個數值相當需要經驗

•
•

執⾏行檢查點完成所需的時間,計算⽅方式為 checkpoint_timeout
* checkpoint_completion_target

預設值為0.5,建議可以提升到0.9

checkpoint_warning
•

如果兩次檢查點中的間隔時間(完成->開始)⼩小於這個數值,則
在Log中出現警⽰示訊息
重點實作機制
•

內部使⽤用XLogInsert及XLogFlush來達成整個WAL

•

XLogInsert
•

當⼀一筆新的資料進來,系統會使⽤用XLogInsert在WAL Buffer配給空間,再將資料
寫⼊入,XLogInsert影響到資料更動的整體性能

•

引響性能因素
•
•

•

建⽴立新的Segment區段

XLogFlush
•

•

lock-row等排他性問題

如果WAL buffer已滿,則採⽤用XLogFlush來將資料flush進硬碟

可使⽤用pg_test_fsync來測試寫⼊入性能
配置 - WAL參數
•

full_page_writes
•

•

可使每個Segment寫⼊入磁碟時,是以Page的⽅方式,以防寫⼊入過程中如果發⽣生錯誤,可能導致DB損毀 (寫⼊入中發⽣生錯誤,
可以Page的⽅方式直接回復到之前的狀態)

wal_buffers
•
•

加⼤大這個數值可以減緩full_page_write使系統太忙碌時,仍然可以確保回應給client的效能

•
•

在共享記憶體內,WAL緩衝區的⼤大⼩小

預設為 -1,系統會⾃自動調整為共享緩衝區的3% (但介於64k ~ 16M)

commit_delay
•

定義了當XLogFlush之前,Committer必須停⼯工多少時間

•
•

若沒有打開fsync或是當前連線數少於commit_siblings時,則不會停⼯工

•
•

此項設定是為了避免Commit不完全所設⽴立

預設為0

commit_siblings
•

在執⾏行commit_dalay之前,最少的transaction請求數量
配置 - WAL參數
•

wal_sync_method
•

決定PostgreSQL以什麼樣⼦子的形式讓系統將Transaction寫⼊入磁碟
•
•

fsync (call fsync() at each commit)

•

fsync_writethrough (call fsync() at each commit, forcing write-through of any disk write
cache)

•

•

fdatasync (call fdatasync() at each commit)

•

•

open_datasync (write WAL files with open() option O_DSYNC)

open_sync (write WAL files with open() option O_SYNC)

⼀一般採⽤用系統預設,官⽅方⽂文件建議使⽤用pg_test_fsync來測試寫⼊入性能之後,在決定採⽤用的模式

wal_debug
•

每個XLogInsert及XFLogFlush的⾏行為將寫⼊入到Server Log內

•

未來將提供更好的機制來取代這個功能
配置 - Archive
•

Archive (打包, ⼜又名歸檔)
•
•

也同時可作為備份歸檔⽤用途

•
•

由於WAL相當肥⼤大,所以可將使⽤用過的Log打包起來節省空間

利⽤用Archive做熱備援可參考: http://kaien.kaienroid.com/blog/?p=334

相關參數
•

archive_mode (Boolean)
•

•

是否啟動打包模式

archive_command (String)
•
•

•

使⽤用系統指令進⾏行打包
Any %p in the string is replaced by the path name of the file to archive, and any %f is replaced by only the
file name. (The path name is relative to the working directory of the server, i.e., the cluster's data directory.)
Use %% to embed an actual % character in the command. It is important for the command to return a zero
exit status only if it succeeds.

archive_timeout
•

強制Server在固定時間進⾏行打包
Asynchronous Commit
•

⾮非同步認可模式

•

⽤用於多Database Server架構
•

同步Commit會即時的將所有Transaction寫⼊入底下所有⼦子
Server,才會返回給Client (預設)

•

⾮非同步Commit則不保證所有Transaction都會即時更新到⼦子
Server,改採固定時間進⾏行同步

•

優勢:在⾮非同步化的模式底下,可擁有更好的寫⼊入效能

•

注意:並⾮非所有情形都適⽤用⾮非同步化Commit,部分指令也不⽀支
援⾮非同步
配置
•

synchronous_commit
•

•

•

關閉這個選項,會使當Transaction結束時,flush的⾏行為
將會在背景實現,⽽而⾮非前景
如果你的系統在flush進磁碟前就crash,可能會導致資料
的流失

fsync
•

關閉這個選項將會使系統不再注意資料寫⼊入是否正確

•

如果你的系統crash了,祝你好運
Temporary & Unlogged
Tables
•

WAL不需要暫存的Table

•

如果系統崩潰,我們只需要把損毀的資料移除,如果
資料正確則不需要在意

•

Backend-local.

•

在PostgreSQL 9.1,你可以建⽴立⼀一個Unlogged
Table,這張Table不會有任何的WAL logged,如果
正常關閉Server,則這張Table會存活,如果系統
Crash,這張Table則會被刪除
參考資料

•

Introduction to Write-Ahead Logging by Robert
Haas, EnterpriseDB company.

•

PostgreSQL 9.3 manual

More Related Content

What's hot

Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETLAndrej Pashchenko
 
Qlik Replicateのファイルチャネルの利用
Qlik Replicateのファイルチャネルの利用Qlik Replicateのファイルチャネルの利用
Qlik Replicateのファイルチャネルの利用QlikPresalesJapan
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングオラクルエンジニア通信
 
Understanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsUnderstanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsMarkus Michalewicz
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オラクルエンジニア通信
 
Oracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - PresentationOracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - PresentationMarkus Michalewicz
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付きInsight Technology, Inc.
 
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling ExamplesLow Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling ExamplesTanel Poder
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートオラクルエンジニア通信
 
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Anil Nair
 
(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle CloudRuggero Citton
 
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介オラクルエンジニア通信
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Yuya Ohta
 
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)Tomoyuki Oota
 

What's hot (20)

Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETL
 
Qlik Replicateのファイルチャネルの利用
Qlik Replicateのファイルチャネルの利用Qlik Replicateのファイルチャネルの利用
Qlik Replicateのファイルチャネルの利用
 
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみるOracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
Understanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsUnderstanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 Internals
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
 
Oracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - PresentationOracle RAC on Extended Distance Clusters - Presentation
Oracle RAC on Extended Distance Clusters - Presentation
 
Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
 
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling ExamplesLow Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19
 
(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud(ZDM) Zero Downtime DB Migration to Oracle Cloud
(ZDM) Zero Downtime DB Migration to Oracle Cloud
 
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
 
Oracle Analytics Cloud のご紹介【2021年3月版】
Oracle Analytics Cloud のご紹介【2021年3月版】Oracle Analytics Cloud のご紹介【2021年3月版】
Oracle Analytics Cloud のご紹介【2021年3月版】
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
 
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
 
Oracle Integration Cloud 概要(20200507版)
Oracle Integration Cloud 概要(20200507版)Oracle Integration Cloud 概要(20200507版)
Oracle Integration Cloud 概要(20200507版)
 

Similar to PostgreSQL 資料可靠性及WAL

1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture introted-xu
 
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報Wales Chen
 
MySQL自动切换设计与实现
MySQL自动切换设计与实现MySQL自动切换设计与实现
MySQL自动切换设计与实现orczhou
 
主库自动切换 V2.0
主库自动切换 V2.0主库自动切换 V2.0
主库自动切换 V2.0jinqing zhu
 
淘宝主备数据库自动切换
淘宝主备数据库自动切换淘宝主备数据库自动切换
淘宝主备数据库自动切换mysqlops
 
统一接入的架构思考
统一接入的架构思考统一接入的架构思考
统一接入的架构思考yang bingwu
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
FtnApp 的缩略图实践
FtnApp 的缩略图实践FtnApp 的缩略图实践
FtnApp 的缩略图实践Frank Xu
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discusseverestsun
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践孙立
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten TrainingLi Chen
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recoveryted-xu
 
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysqlZoom Quiet
 
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎frogd
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rmanted-xu
 
Sql server 交易機制與 log
Sql server 交易機制與 logSql server 交易機制與 log
Sql server 交易機制與 logLearningTech
 
Enqueue Lock介绍.ppt
Enqueue Lock介绍.pptEnqueue Lock介绍.ppt
Enqueue Lock介绍.pptjames tong
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践drewz lin
 

Similar to PostgreSQL 資料可靠性及WAL (20)

1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture intro
 
賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
 
MySQL自动切换设计与实现
MySQL自动切换设计与实现MySQL自动切换设计与实现
MySQL自动切换设计与实现
 
主库自动切换 V2.0
主库自动切换 V2.0主库自动切换 V2.0
主库自动切换 V2.0
 
淘宝主备数据库自动切换
淘宝主备数据库自动切换淘宝主备数据库自动切换
淘宝主备数据库自动切换
 
统一接入的架构思考
统一接入的架构思考统一接入的架构思考
统一接入的架构思考
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
FtnApp 的缩略图实践
FtnApp 的缩略图实践FtnApp 的缩略图实践
FtnApp 的缩略图实践
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discuss
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten Training
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
 
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
 
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
 
Sql server 交易機制與 log
Sql server 交易機制與 logSql server 交易機制與 log
Sql server 交易機制與 log
 
Enqueue Lock介绍.ppt
Enqueue Lock介绍.pptEnqueue Lock介绍.ppt
Enqueue Lock介绍.ppt
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践
 

PostgreSQL 資料可靠性及WAL