stg 2004/11/30 ntt res ql3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ...
TRANSCRIPT
PostgreSQL
2004/11/30NTT
2004/11/30 NTT Cyber Space Lab. 2
PostgreSQLPostgreSQL
PostgreSQL B-Tree
PostgreSQL
R-Tree
GiST
Hash Exact Match
B-Tree
2004/11/30 NTT Cyber Space Lab. 3
pg_am (AM) さ
AM amname AM amowner ID amstrategies AM "=" amsupport AM ゝ
amorderstrategy AM amcanunique AM amcanmulticol AM 々
amindexnulls AM NULL セ
amconcurrent AM AM
amgettuple, aminsert, ambeginscan, amrescan, amendscan,ammarkpos, amrestrpos, ambuild, ambulkdelete, amcostestimate,amvacuumcleanup 7.4 ス
10+1 AMpg_am
2004/11/30 NTT Cyber Space Lab. 4
PostgreSQLPostgreSQL
Witold LitwinC
C Nh0: C 0,1,…,N-1}
h0 h1,h2,…,hi
1. hi: C 0,1,…,2iN-1}2. c
a. hi(c)=hi-1(c)b. hi(c)=hi-1(c)+2i-1N
• hi 1 hi-1 2: hi(c)=c mod 2iN
2004/11/30 NTT Cyber Space Lab. 5
N 10
h0(c)=c mod 10
4
h0
83
887
6423
6120
9481736
9473522110
9
8
7
6
5
4
3
2
1
0
132
40
79
25
53 h0(c)=c mod 10=3
2004/11/30 NTT Cyber Space Lab. 6
13
0
0
h1(c)=c mod 200 10
h0(c)=0h1(c)
PG 2
さ
1383
887
6423
6120
9481736
9473522110
9
8
7
6
5
4
3
2
1
0
132
40
79
25
53
10 10
20 40 h1(c)=c mod 20=0
h1(c)=c mod 20=10
2004/11/30 NTT Cyber Space Lab. 7
2 i h0 h1
h2
0 i
PostgreSQL
7.4 オ
Ⅴ
2004/11/30 NTT Cyber Space Lab. 8
/
haah/BTree
2004/11/30 NTT Cyber Space Lab. 9
ID
ID
2004/11/30 NTT Cyber Space Lab. 10
IDID ID
2004/11/30 NTT Cyber Space Lab. 11
304 7.3
HashMetaPage-Data
2004/11/30 NTT Cyber Space Lab. 12
オ ┘
2004/11/30 NTT Cyber Space Lab. 13
AM amgettuple aminsert ambeginscan ぞ
amrescan amendscan ammarkpos オ
amrestrpos オ
ambuild ぞ
ambulkdelete amcostestimate amvacuumcleanup VACUUM
7.4 ス hash
レ ...
2004/11/30 NTT Cyber Space Lab. 14
1. lmgr locks
7.32.
LWLock3. ┞ ゝ
4. よ
5.
6. よ
7. さ1.2. さ
3.4. よ
8. よ
_hash_first()
2004/11/30 NTT Cyber Space Lab. 15
1.2.3. ┞ ゝ
4. よ
5.6. よ
7.8. よ
さ
ぜ
9.10. よ
11.12. さ
13. よ
14. さ
_hash_doinsert()
2004/11/30 NTT Cyber Space Lab. 16
1. ッ
2.3. ↓ さ
さ よ
4.5.
よ よ
6. モ
7.8. よ
9. よ
10. さ
11. よ
_hash_expandtable()
2004/11/30 NTT Cyber Space Lab. 17
1.2.3. よ
4.5. 06. ぜ
1.2. よ
3.4.5. よ
6.7. ぜ
1. よ
2. 4.3. ぜ
_hash_getobflpage()
2004/11/30 NTT Cyber Space Lab. 18
よよ
1. よ
2.3.よ ル
4. よ
5.6.7. よ
8. よ
1.2. ↓ よ
3. よ
_hash_freeobflpage()
2004/11/30 NTT Cyber Space Lab. 19
PostgreSQL
DBMS㎰
⇅ スゝ さiST Wrap り ㎲
Executor AM よ