stg 2004/11/30 ntt res ql3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ...

19
PostgreSQL 䝓䝇䜻䝩䜨䝷䝋䝇䜳䜽䛴 䝓䝇䜻䝩䜨䝷䝋䝇䜳䜽䛴 䛝䛕䜅 䛝䛕䜅 2004/11/30 NTT䜹䜨䝔䞀䜽䝞䞀䜽◂✪ᡜ ᑈᮇ

Upload: others

Post on 19-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

PostgreSQL

2004/11/30NTT

Page 2: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 2

PostgreSQLPostgreSQL

PostgreSQL B-Tree

PostgreSQL

R-Tree

GiST

Hash Exact Match

B-Tree

Page 3: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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

Page 4: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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

Page 5: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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

Page 6: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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

Page 7: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 7

2 i h0 h1

h2

0 i

PostgreSQL

7.4 オ

Page 8: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 8

/

haah/BTree

Page 9: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 9

ID

ID

Page 10: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 10

IDID ID

Page 11: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 11

304 7.3

HashMetaPage-Data

Page 12: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 12

オ ┘

Page 13: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 13

AM amgettuple aminsert ambeginscan ぞ

amrescan amendscan ammarkpos オ

amrestrpos オ

ambuild ぞ

ambulkdelete amcostestimate amvacuumcleanup VACUUM

7.4 ス hash

レ ...

Page 14: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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()

Page 15: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 15

1.2.3. ┞ ゝ

4. よ

5.6. よ

7.8. よ

9.10. よ

11.12. さ

13. よ

14. さ

_hash_doinsert()

Page 16: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 16

1. ッ

2.3. ↓ さ

さ よ

4.5.

よ よ

6. モ

7.8. よ

9. よ

10. さ

11. よ

_hash_expandtable()

Page 17: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

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()

Page 18: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 18

よよ

1. よ

2.3.よ ル

4. よ

5.6.7. よ

8. よ

1.2. ↓ よ

3. よ

_hash_freeobflpage()

Page 19: stg 2004/11/30 NTT reS QL3. & jfÒ j↓fîfÝfì ªさfÑgeg+ggg3 g fÝ & jfô ªさ îfÒfðfÕfðféfìfÊfåg gqggg3g よ 2fÝ) ¡ 4.fïfôgtg5ghg & jfßg fÑ ì ý 5. fÊgtg5ghg^g

2004/11/30 NTT Cyber Space Lab. 19

PostgreSQL

DBMS㎰

⇅ スゝ さiST Wrap り ㎲

Executor AM よ