原创 持久內存編程

持久內存編程2013年6月我寫了關於非易失性內存(NVM)的未來接口。其中描述了SNIA NVM Programming technical work group(TWG)正在開發的NVM編程模型。在過去的四年裏,規範已經發布,正如預測的那

原创 非易失性WAL buffer

今天看到PG郵件列表裏有非易失性內存在PG應用的討論,做下記錄,接着學習其補丁,如何將WAL buffer改造成非易失性buffer,以及和之前有和區別。該補丁是也是日本NTT公司提供。 一、原文https://www.postgresql

原创 PostgreSQL VFD機制

1、結構體VFD機制中由結構體struct vfd來維護。其中各個成員變量的意義如下表所示:fdvfd實際對應的物理文件文件描述符fdstateFD_DELETE_AT_CLOSE:表示文件在關閉時需刪除FD_TEMP_FILE_LIMIT

原创 NVM作爲主存上對數據庫管理系統的影響

NVM作爲主存上對數據庫管理系統的影響implications of non-volatile memory as primary storage for database management systems摘要傳統的數據庫管理系統使用磁

原创 PostgreSQL WAL解析:構建WAL記錄準備

以heap_insert爲例,簡述WAL的插入過程。在構建WAL日誌記錄的過程中主要涉及2個數據變量:static XLogRecData *rdatas數組和static registered_buffer *registered_buf

原创 應用PMDK修改WAL操作使之適配持久化內存

應用PMDK修改WAL操作使之適配持久化內存這幾個補丁能夠通過使用PMDK對存儲在持久化內存PMEM上的WAL日誌進行讀寫。PMEM是下一代存儲介質,具有一系列特性:快速、字節尋址、非易失。Pgbench是PG的通用benchmark,使用

原创 Postgres-XL 10R1 release版本發佈

2018年10月25日2ndQuadrant發佈了Postgres-XL 10R1版本。Postgres-XL是一個大規模並行數據庫,它基於PG社區版本開發,並和PG高度兼容,支持Business Intelligence負載和讀寫大事務負

原创 An Overview of PG & MySQL Cross Replication

本博客的目的在於簡述MySQL和PostgreSQL之間如何跨數據庫進行復制。涉及跨數據庫複製的databases一般被稱作異構databases。這是將數據從一種RDBMS server複製到另一種server的一種很好的方法。Postg

原创 PostgreSQL的MVCC vs InnoDB的MVCC

任何一個數據庫最主要功能之一是可擴展。如果不刪除彼此,則儘可能較少鎖競爭從而達到這個目的。由於read、write、update、delete是數據庫中最主要且頻繁進行的操作,所以併發執行這些操作時不被阻塞則顯得非常重要。爲了達到這種目的,

原创 What's New in MariaDB 10.4

MariaDB 10.4是其當前的開發分支。 5月21日,10.4.5的RC release版本發佈,距離正式版本發佈越來越近。10.4的新特性也越來越值得關注。本文總結mariadb官方發佈一些的博客內容。對應詳細信息,可以細讀Maria

原创 PostgreSQL的B-tree索引

結構B-tree索引適合用於存儲排序的數據。對於這種數據類型需要定義大於、大於等於、小於、小於等於操作符。通常情況下,B-tree的索引記錄存儲在數據頁中。葉子頁中的記錄包含索引數據(keys)以及指向heap tuple記錄(即表的行記錄

原创 Introducing PMDK into PostgreSQL

將PMDK引入PostgreSQL持久性內存(PMEM)具有快速、非易失和可字節訪問的特性,能夠通過load/store指令被CPU直接訪問。現在已有供應商提供這種產品。相對於HSS或者SSD,數據庫管理系統跑在PMEM上性能更好。藉助PM

原创 PostgreSQL pg_rewind實例--could not find previous WA

一、介紹 作爲pg_rewind報錯章節補充一個用例,說明其用法。 二、實例 1、history文件 --新主 $ cat 00000004.history 1 0/140000C8 no recovery target spe

原创 PostgreSQL統計信息的幾個重要視圖

1、pg_stat_database yzs=# select *from pg_stat_database; -[ RECORD 1 ]--+------------------------------ datid |