Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite928c82

Browse files
committed
update README
2 parentsabc1cfc +913e0fc commite928c82

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

‎README.md‎

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66

77
PTRACK allows speed up incremental backups for the huge PostgreSQL databases. PTRACK saves changes of physical blocks in the memory. You can[effectively use](https://postgrespro.github.io/pg_probackup/#pbk-setting-up-ptrack-backups)`PTRACK` engine for taking incremental backups by[pg_probackup](https://github.com/postgrespro/pg_probackup).
88

9-
Current patch are available for[11](https://github.com/postgrespro/ptrack/blob/master/patches/REL_11_STABLE-ptrack-core.diff),[12](https://github.com/postgrespro/ptrack/blob/master/patches/REL_12_STABLE-ptrack-core.diff),[13](https://github.com/postgrespro/ptrack/blob/master/patches/REL_13_STABLE-ptrack-core.diff),[14](https://github.com/postgrespro/ptrack/blob/master/patches/REL_14_STABLE-ptrack-core.diff),[15](https://github.com/postgrespro/ptrack/blob/master/patches/REL_15_STABLE-ptrack-core.diff)
9+
Current patch are available forPostgreSQL[11](https://github.com/postgrespro/ptrack/blob/master/patches/REL_11_STABLE-ptrack-core.diff),[12](https://github.com/postgrespro/ptrack/blob/master/patches/REL_12_STABLE-ptrack-core.diff),[13](https://github.com/postgrespro/ptrack/blob/master/patches/REL_13_STABLE-ptrack-core.diff),[14](https://github.com/postgrespro/ptrack/blob/master/patches/REL_14_STABLE-ptrack-core.diff),[15](https://github.com/postgrespro/ptrack/blob/master/patches/REL_15_STABLE-ptrack-core.diff)
1010

1111
##Enterprise edition
1212

13-
Enterprise PTRACK are part of[Postgres Pro Enterprise](https://postgrespro.ru/products/postgrespro/enterprise) and share posibility to track more than 100 000 tables and indexes per time without speed degradation with[CFS (compressed file system)](https://postgrespro.ru/docs/enterprise/current/cfs).
14-
Benchmarks are x5 time faster and useful for ERP and DWH with huge amounth of tables and relations between them.
13+
Enterprise PTRACK are part of[Postgres Pro Backup Enterprise](https://postgrespro.ru/products/postgrespro/enterprise) and offers the capability to track more than 100 000 tables and indexes concurrently without any degradation in speed[CFS (compressed file system)](https://postgrespro.ru/docs/enterprise/current/cfs).
14+
According to benchmarks, it operated up to 5 times faster and useful for ERP and DWH with huge amount of tables and relations between them.
15+
1516

1617
##Installation
1718

@@ -135,7 +136,7 @@ Since version 2.2 we use a different algorithm for tracking changed pages. Thus,
135136

136137
2. The only one production-ready backup utility, that fully supports`PTRACK` is[pg_probackup](https://github.com/postgrespro/pg_probackup).
137138

138-
3. You cannot resize`PTRACK` map in runtime, only on postmaster start. Also, you willloose all tracked changes, so it is recommended to do so in the maintainance window and accompany this operation with full backup.
139+
3. You cannot resize`PTRACK` map in runtime, only on postmaster start. Also, you willlose all tracked changes, so it is recommended to do so in the maintainance window and accompany this operation with full backup.
139140

140141
4. You will need up to`ptrack.map_size * 2` of additional disk space, since`PTRACK` uses additional temporary file for durability purpose. See[Architecture section](#Architecture) for details.
141142

@@ -145,13 +146,13 @@ Briefly, an overhead of using `PTRACK` on TPS usually does not exceed a couple o
145146

146147
##Architecture
147148

148-
It is designed toallow false positives (i.e. block/page is marked in the`PTRACK` map, but actually has not been changed), butto neverallow false negatives (i.e. loosingany`PGDATA` changes, excepting hint-bits).
149+
It is designed topermit false positives (i.e., block/page is markedas alteredin the`PTRACK` map when it hasn't actually been changed), butit nevertolerates false negatives (i.e., it never losesany PGDATA modifications, barring hint-bits).
149150

150-
Currently,`PTRACK` codebase issplit between small PostgreSQL core patch and extension.All public SQL API methods and main engine areplaced in the`PTRACK` extension,while the core patchcontainsonlycertainhooks and modifies binary utilities toignore`ptrack.map.*` files.
151+
At present, thePTRACK codebase isdivided betweenasmall PostgreSQL core patch andanextension.The public SQL API methods andthemain engine arehoused in the`PTRACK` extension,whereas the core patch onlyincludes specifichooks and modifies binary utilities todisregardptrack.map.* files.
151152

152-
Weuse a single shared hash table in`PTRACK`. Due to the fixed size of the map theremay be false positives (whensome block is marked as changed withoutbeing actually modified), butnotfalsenegative results. However, these falsepostives may be completelyeliminated by setting a highenough`ptrack.map_size`.
153+
In`PTRACK`, weuse a single shared hash table. Due to the fixed size of the map, therecan be false positives (whena block is marked as changed withoutactual modification), but falsenegatives are not allowed. Nevertheless, these falsepositives can be completelyremoved by setting asufficientlyhigh ptrack.map_size.
153154

154-
All reads/writes aremade using atomic operations on`uint64` entries,so the mapiscompletely lockless duringthe normalPostgreSQL operation.Because we do notuse locks for read/write access,`PTRACK`keeps a map (`ptrack.map`) since the last checkpointintact and usesup to 1additional temporary file:
155+
All reads/writes areperformed using atomic operations on uint64 entries,making the map completely lockless duringstandardPostgreSQL operation.Since we do notutilize locks for read/write access,`PTRACK`maintains a map (ptrack.map) from the last checkpointunaltered and usesa maximum of oneadditional temporary file.
155156

156157
* temporary file`ptrack.map.tmp` to durably replace`ptrack.map` during checkpoint.
157158

@@ -162,6 +163,8 @@ To gather the whole changeset of modified blocks in `ptrack_get_pagemapset()` we
162163
##Contribution
163164

164165
Feel free to[send pull requests](https://github.com/postgrespro/ptrack/compare),[fill up issues](https://github.com/postgrespro/ptrack/issues/new).
166+
See also the list of[authors](AUTHORS.md) who participated in this project.
167+
165168
###Tests
166169

167170
Everything is tested automatically with[travis-ci.com](https://travis-ci.com/postgrespro/ptrack) and[codecov.io](https://codecov.io/gh/postgrespro/ptrack), but you can also run tests locally via`Docker`:
@@ -179,4 +182,8 @@ docker-compose run tests
179182

180183
Available test modes (`MODE`) are`basic` (default) and`paranoia` (per-block checksum comparison of`PGDATA` content before and after backup-restore process). Available test cases (`TEST_CASE`) are`tap` (minimalistic PostgreSQL[tap test](https://github.com/postgrespro/ptrack/blob/master/t/001_basic.pl)),`all` or any specific[pg_probackup test](https://github.com/postgrespro/pg_probackup/blob/master/tests/ptrack.py), e.g.`test_ptrack_simple`.
181184

185+
##Acknowledgments
186+
187+
PTRACK development is supported by Postgres Professional
188+
You can ask any question about contributing or usage in[Russian chat](https://t.me/pg_probackup) or[Internation chat](https://t.me/pg_probackup_eng) of[pg_probackup](https://github.com/postgrespro/pg_probackup).
182189

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp