1 PostgreSQL 8.3 Update 䡚8.3䛿᭦᪂䜒㏿䛔䡚 ᪥ᮏPostgreSQL䝴䞊䝄 / NTT OSS䝉䞁䝍 ᯈᇉ ㈗⿱ 2007.6.23 䜸䞊䝥䞁䝋䞊䝇䜹䞁䝣䜯䝺䞁䝇2007.DB䛾ㅮ₇㈨ᩱ䛷䛩䚹 http://www.ospn.jp/osc2007.db/ ᮏ㈨ᩱ䛿䜽䝸䜶䜲䝔䜱䝤䞉䝁䝰䞁䝈䞉䝷䜲䝉䞁䝇 䛾ୗ䛷බ㛤䛥䜜䛶䛔䜎䛩䚹
Nov 02, 2014
1
PostgreSQL 8.3 Update8.3
PostgreSQL / NTT OSS
2007.6.23
2007.DB
http://www.ospn.jp/osc2007.db/
2
8.1 8.3
8.1
8.2
8.3XML
GIN
HOT
fillfactor
autovacuum
autovacuum
3
8.1 8.2
8.1
8.2
8.3XML
GIN
HOT
fillfactor
autovacuum
autovacuum
4
CPU
0000
1111
2222
3333
4444
5555
1111 2222 4444 8888 12121212 16161616 20202020 24242424 28282828 32323232
8.08.08.08.0
8.18.18.18.1
8.28.28.28.2
8.2
8CPU
8.1
4CPU
8.0
2CPU
NUMA
Scaling PostgreSQL on SMP Architectures
Doug Tolbert (Unisys), PGCon 2007, Ottawa, 2007-05-24http://www.pgcon.org/2007/schedule/events/16.en.html
core
TPC-C(OLTP) CPU
SMP(8CPU )
バージョンごとの、CPU1個に対する相対性能
5
• tsearch2
: SELECT isbn,title FROM booksWHERE fts @@ to_tsquery(‘word1 & word2’);
– GiST, GIN: 2
– ,
•
306MB532s3344ms39msGIN
×2.10×3.02×11.94×0.35
146MB176s280ms112msGiST
Full-Text Search in PostgreSQL
Oleg Bartunov PGCon 2007, Ottawa, 2007/5/23http://www.pgcon.org/2007/schedule/events/13.en.html
• → GiST
• → GIN
tsearch2 GiST GIN
6
VACUUM
• UPDATE
–
–
VACUUM
7
PostgreSQL 8.3
1.– HOT OLTP
2.–
3.– WAL
4. VACUUM– VACUUM autovacuum
8
(1) 8.3
• HOT
–
– pgbench40%
•–
– VACUUM
• VACUUM
• FillFactor
–
– 100%( )90~95%
• ALTER TABLE nameSET (fillfactor=95);
pgbench -s400 (5GB)NTT OSS Center
Fill Factor TPS
100
120
140
160
180
200
220
240
260
280
70 75 80 85 90 95 100Fill Factor (%)
TPS
HOT
HOT
FillFactor
40%UP!
9
HOT (1)
• 8.2 UPDATE
D
C
B
A
8→7002
12004
20003
10001
ID…
10
HOT (2)
• 8.2 UPDATE
12D004
B
C
B
A
8002
7002
20003
10001
ID
UPDATE
××××3(I/O)
××××2(CPU)
11
HOT (3)
• 8.3 HOT UPDATE
7B002
12D004
C
B
A
8002
20003
10001
ID
UPDATE
1→
××××1(I/O)
××××1(CPU)
HOT
1/2
1/3
Heap
Only
Tuple
12
HOT (4)
• 8.3 HOT UPDATE
7B002
6B002
12D004
C
A
20003
10001
ID
UPDATE
HOT
VACUUM
××××1(I/O)
××××1(CPU)
HOT
VACUUM
13
HOT
• UPDATE
– DELETE+INSERT
•
–
–
•
– FillFactor
– VACUUM
VACUUM
14
PostgreSQL 8.3
1.– HOT OLTP
2.–
3.– WAL
4. VACUUM– VACUUM autovacuum
15
(2) 8.3
• (LDC)
EnterpriseDB Performance Testing http://community.enterprisedb.com/ldc/
16
•
– (write)
– (fsync)
8.2
8.3
PostgreSQL
I/O
I/O
17
PostgreSQL 8.3
1.– HOT OLTP
2.–
3.– WAL
4. VACUUM– VACUUM autovacuum
18
(3) 8.3
•– WAL I/O 1/2
• ( )
–• InfoFrame DB Maintenance (NEC)
• pg_bulkload ( , pgFoundry)
BEGIN;
TRUNCATE t;
COPY t FROM …;
COMMIT;0 20 40 60 80
pgbench -i -s30 ( COPY )
35%
NTT OSS Center
8.3
19
(4) 8.3 VACUUM
• autovacuum VACUUM
– (autovacuum_max_workers)
8.2 8.31
→ VACUUM
A B
VACUUM
20
8.1
8.2
8.3XML
GIN
HOT
fillfactor
autovacuum
autovacuum
21
PostgreSQL 8.3
–
• HOT OLTP
–
• VACUUM, Background Writer ( )
–
• SQL/XML, , , etc.