SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
PostgreSQL
               9.0

            NTT



                  2010-06-19



JPUG 2010                      1
: PostgreSQL 9.0




              :




              : PostgreSQL
            PGCon 2010


JPUG 2010                        2
PostgreSQL 9.0
               9.0 5
                                                                                                                  9.0.0
                                                                     2      /                 3


 Ingress
  Ingress         PostgreSQL
                  PostgreSQL                                       8.1
 1977
                      6.0
                      6.0
                                           7.4
                                           7.4
                                                           ••
                                                           •2
                                                                                       8.3                 9.0 (2010/8    )
                                                            •2
        1986
                1996
                        2000                               ••
                                                                                  •HOT:
                                                                                  •HOT:                •
                                                                                                       •
                                  2003                                            •VACUUM
                                                                                  •VACUUM
                                          2004
                                                                                  •
                                                                                  •
                                                                                                       •
                                                                                                       •
POSTGRES
POSTGRES                                            2005
                                                                                                       •
                                                                                                       •    //
                                                                   2006
                       7.3
                       7.3                                                                             •
                                                                                                       •
                                                                                2007
                                                                                       2008
                                                                                                  2009
                                         8.0                                                                     2010
                             •Windows                                     8.2
                             •Windows
                             ••                                  •CPU
                                                                 •CPU
                             ••                  (PITR)
                                                  (PITR)         •
                                                                 •                                8.
                             ••                                  •GIN:
                                                                 •GIN:                  Window
                                                                                        Window
                                                                                        •VACUUM
                                                                                        •VACUUM
                                                                                        • DBMS
                                                                                        • DBMS

JPUG 2010                                                                                                                 3
PostgreSQL 9.0


                1.
                2.              (                                              )
                3.            VACUUM FULL

                                                               1           2            3



                                                     /
                LISTEN/NOTIFY                    /
                Windows                 64-bit
            (                                            URL         )
                     http://developer.postgresql.org/pgdocs/postgres/release-9-0.html
                     http://lets.postgresql.jp/documents/technical/9.0/

JPUG 2010                                                                                   4
1.
        9.0              2




                                 •
            =
            =                    •



                             (       )

                VACUUM
                         /
            PostgreSQL
JPUG 2010                                5
vs.
              READ WRITE                READ WRITE




                              ( v8.4)

 8.4
                                                        WAL
            archive_command    WAL      pg_standby
                                                              ( 1 )

              READ WRITE                READ WRITE




 9.0                          (v9.0)
                                                        WAL
                                                              (       )
                wal sender     WAL       wal receiver



            9.0
            9.0
JPUG 2010                                                             6
vs.
                               Slony-I                pgpool-II
                 9.0             2.0                    2.3




                DB             (             )        DB
     SQL                  PK       , DDL     ※

            ☆        10             10                     3
                                                  (               )
                                                           ○
                                                           ○
                                   ○


JPUG 2010                                                             7
                      ☆                    ※PK=   , DDL=
2.

                          (UNIQUE)
             “    ”   “    ”
                      (EXCLUDE)
             “        ”          “   ”




            GPS

JPUG 2010                                8
CREATE TABLE placement (
                                                 &&       “    ”
              object   text,
              location box, --
              EXCLUDE USING gist (location WITH &&)
            );


            CREATE TABLE reservation (
              room    text,
              during period, -- {        ,      }
              EXCLUDE USING gist (room WITH =, during WITH &&)
            );
                                                gist

                text   gist               contrib/btree_gist
                period          (   9.1          )
JPUG 2010                                                          9
3.            VACUUM FULL
        VACUUM FULL
            8.4      “    ”

            9.0      “    ”


       VACUUM FULL
       VACUUM FULL                 UP
                                   UP

                              VACUUM (      )
            FULL
                         FULL
                                +TRUNCATE

JPUG 2010                                       10
PostgreSQL


            VACUUM
      VACUUM         8.4                                    ,
       FULL          9.0                                    ,
            CLUSTER             +                           ,
            REINDEX                 -                       ,

                 VACUUM

            VACUUM FULL (8.4)
                      REINDEX
            VACUUM FULL (9.0)           CLUSTER   REINDEX
                   REINDEX
JPUG 2010                                                       11
JPUG 2010   12
8.1     8.3

            CPU
                                                  ?


                                   16CPU

                                            8.3
                      8CPU            8.2
                             8.1

              2CPU
                      8.0
JPUG 2010                                         13
- CPU
バ        5
ー                       8.0
ジ                                                     8.2
ョ                       8.1                          8CPU
ン        4                                                                    8 16core
ご                                                                           CPU
と                       8.2
の
、
C
         3
P
U
1
個        2                                    8.1
に                                            4CPU
対
す
る        1                         8.0
相                                 2CPU
対
性
能        0
                   1          2          4          8       12   16    20       24       28         32core
    Scaling PostgreSQL on SMP Architectures Doug Tolbert (Unisys), PGCon 2007, Ottawa, 2007-05-24
    http://www.pgcon.org/2007/schedule/events/16.en.html

JPUG 2010                                                                                             14
8.3
            HOT   2


                                         8.3
                             8.3




                                          HOT
                      8.2

                            FILLFACTOR

JPUG 2010                                       15
– HOT (Heap-Only Tuples)
       HOT                                   Fill Factor
                                            Fill Factor           TPS
                                      TPS
            pgbench                   280
            40%                       260
                                      240
                                      220                         40%UP!
            VACUUM                    200
              VACUUM
                                      180
                Fill Factor           160
                                                       HOT
                                      140
            100%(             )       120              HOT
            90~95%                    100
              ALTER TABLE tablename         70   75    80 85 90 95 100
              SET (fillfactor=95);                     Fill Factor (%)
                                                 pgbench -s400 (5GB)
                                                 NTT OSS Center



JPUG 2010                                                                  16
-
                                    Checkpoint




                Throughput [TPM]
                                   8.2

                                         Checkpoint           Next Checkpoint




                                   8.3
                                                 Time [sec]

JPUG 2010                                                                  17
SQL                       /



                                                              9.0
                                                8.4
                                   8.3                              O/R          ※



                      8.2                                IN, EXISTS

        8.1
                                                         Window
                            Bitmap Scan
            min/max                             ORDER BY LIMIT

                                                “     ” Seq Scan

JPUG 2010                     ※           ORM           SQL          JOIN   18
VACUUM


                   VACUUM
                 8.2 8.3
                                                           9.0
                                               8.4
             autovacuum                  8.3
                                                            VACUUM
                                                            FULL
                                   8.2
 VACUUM

                           8.1
                8.0                              HOT
      7.4                    XID
                                                 autovacuum
            REINDEX
                          VACUUM                     XID
JPUG 2010                                                        19
PostgreSQL is NoSQL!
            Not Only SQL : SQL(              )


                                   (   /     )
                      XML
                                                       9.1
             (GIN)                               9.0
                                       8.4               SQL/MED
   (GiST)                    8.3                          JSON

                     8.2
            6.0                              FDW



                       SQL
JPUG 2010                                                     20
VACUUM




                 : 8.3
JPUG 2010                21
PostgreSQL




JPUG 2010           22
PGCon 2010
        2010       5    20   21   @
                       150    (       )
              35




            9.0
            9.1


JPUG 2010                                 23
PGCon2010
                     :
            Caixa Economica Federal (                           )
                  22,000     ATM, 7                     /
            Enova Financial (                 )
                  OLTP 1.3TB,          4000                / , 24
                                      MySQL        PostgreSQL
                                                                    +


            9.0

            PgMQ :
                           Eventually Consistent
            Postgres-XC
                                                        ACID

JPUG 2010                                                           24
: 9.0                       9.1
        PostgreSQL 9.0
                                  α
                                         (    :                         )
                                                                        ??

        PostgreSQL 9.1
                                     (             ,            )



            MERGE :                          UPDATE,                INSERT
                      REPLACE, UPSERT             SQL       “MERGE”
                 Predicate Lock
            SE-PgSQL :                                  ,
            SQL/MED :                                   ,      DB
                 , JSON
    PGCon 2010                http://wiki.postgresql.org/wiki/PgCon_2010_Developer_Meeting
JPUG 2010                                                                              25
: PostgreSQL
                                   “         ”

            1



                RDBMS                    ,
                  DBMS     MySQL



                                       SQL



JPUG 2010                                        26
PostgreSQL “9.0”
        “               ”




        PostgreSQL 9.0          9.1
            “               ”


JPUG 2010                             27

Contenu connexe

Similaire à PostgreSQLのこれまで、9.0、そしてこれから

Polaris Company Presentation
Polaris Company PresentationPolaris Company Presentation
Polaris Company Presentationmoshe_m
 
Polaris company Presentation
Polaris company  PresentationPolaris company  Presentation
Polaris company Presentationmoshe_m
 
web_2.0_the_end_again
web_2.0_the_end_againweb_2.0_the_end_again
web_2.0_the_end_againgzioni
 
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyondOrdina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyondOrdina
 
産総研におけるプライベートクラウドへの取り組み
産総研におけるプライベートクラウドへの取り組み産総研におけるプライベートクラウドへの取り組み
産総研におけるプライベートクラウドへの取り組みRyousei Takano
 
Word Camp Fukuoka 2010
Word Camp Fukuoka 2010Word Camp Fukuoka 2010
Word Camp Fukuoka 2010Junji Manno
 
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔arg cafe
 
Newinfoqchinaintro 090412122754-phpapp02
Newinfoqchinaintro 090412122754-phpapp02Newinfoqchinaintro 090412122754-phpapp02
Newinfoqchinaintro 090412122754-phpapp02youzitang
 
유저스토리랩 회사소개서
유저스토리랩 회사소개서유저스토리랩 회사소개서
유저스토리랩 회사소개서userstorylab
 

Similaire à PostgreSQLのこれまで、9.0、そしてこれから (11)

Polaris Company Presentation
Polaris Company PresentationPolaris Company Presentation
Polaris Company Presentation
 
Polaris company Presentation
Polaris company  PresentationPolaris company  Presentation
Polaris company Presentation
 
Sample Roadmaps
Sample RoadmapsSample Roadmaps
Sample Roadmaps
 
web_2.0_the_end_again
web_2.0_the_end_againweb_2.0_the_end_again
web_2.0_the_end_again
 
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyondOrdina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
 
産総研におけるプライベートクラウドへの取り組み
産総研におけるプライベートクラウドへの取り組み産総研におけるプライベートクラウドへの取り組み
産総研におけるプライベートクラウドへの取り組み
 
Word Camp Fukuoka 2010
Word Camp Fukuoka 2010Word Camp Fukuoka 2010
Word Camp Fukuoka 2010
 
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔
大学生・院生にとってのブログによ る学術コミュニケーションの可能性 佐藤翔
 
Info Q介绍
Info Q介绍Info Q介绍
Info Q介绍
 
Newinfoqchinaintro 090412122754-phpapp02
Newinfoqchinaintro 090412122754-phpapp02Newinfoqchinaintro 090412122754-phpapp02
Newinfoqchinaintro 090412122754-phpapp02
 
유저스토리랩 회사소개서
유저스토리랩 회사소개서유저스토리랩 회사소개서
유저스토리랩 회사소개서
 

Plus de Takahiro Itagaki

PostgreSQL 9.0 in OSC@Tokyo,Okinawa
PostgreSQL 9.0 in OSC@Tokyo,OkinawaPostgreSQL 9.0 in OSC@Tokyo,Okinawa
PostgreSQL 9.0 in OSC@Tokyo,OkinawaTakahiro Itagaki
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイドTakahiro Itagaki
 
Wish list from PostgreSQL - Linux Kernel Summit 2009
Wish list from PostgreSQL - Linux Kernel Summit 2009Wish list from PostgreSQL - Linux Kernel Summit 2009
Wish list from PostgreSQL - Linux Kernel Summit 2009Takahiro Itagaki
 
コミュニティ開発に参加しよう!
コミュニティ開発に参加しよう!コミュニティ開発に参加しよう!
コミュニティ開発に参加しよう!Takahiro Itagaki
 

Plus de Takahiro Itagaki (6)

textsearch groonga v0.1
textsearch groonga v0.1textsearch groonga v0.1
textsearch groonga v0.1
 
PostgreSQL 9.0 in OSC@Tokyo,Okinawa
PostgreSQL 9.0 in OSC@Tokyo,OkinawaPostgreSQL 9.0 in OSC@Tokyo,Okinawa
PostgreSQL 9.0 in OSC@Tokyo,Okinawa
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイド
 
Wish list from PostgreSQL - Linux Kernel Summit 2009
Wish list from PostgreSQL - Linux Kernel Summit 2009Wish list from PostgreSQL - Linux Kernel Summit 2009
Wish list from PostgreSQL - Linux Kernel Summit 2009
 
コミュニティ開発に参加しよう!
コミュニティ開発に参加しよう!コミュニティ開発に参加しよう!
コミュニティ開発に参加しよう!
 
PostgreSQL 8.3 Update
PostgreSQL 8.3 UpdatePostgreSQL 8.3 Update
PostgreSQL 8.3 Update
 

Dernier

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Dernier (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

PostgreSQLのこれまで、9.0、そしてこれから

  • 1. PostgreSQL 9.0 NTT 2010-06-19 JPUG 2010 1
  • 2. : PostgreSQL 9.0 : : PostgreSQL PGCon 2010 JPUG 2010 2
  • 3. PostgreSQL 9.0 9.0 5 9.0.0 2 / 3 Ingress Ingress PostgreSQL PostgreSQL 8.1 1977 6.0 6.0 7.4 7.4 •• •2 8.3 9.0 (2010/8 ) •2 1986 1996 2000 •• •HOT: •HOT: • • 2003 •VACUUM •VACUUM 2004 • • • • POSTGRES POSTGRES 2005 • • // 2006 7.3 7.3 • • 2007 2008 2009 8.0 2010 •Windows 8.2 •Windows •• •CPU •CPU •• (PITR) (PITR) • • 8. •• •GIN: •GIN: Window Window •VACUUM •VACUUM • DBMS • DBMS JPUG 2010 3
  • 4. PostgreSQL 9.0 1. 2. ( ) 3. VACUUM FULL 1 2 3 / LISTEN/NOTIFY / Windows 64-bit ( URL ) http://developer.postgresql.org/pgdocs/postgres/release-9-0.html http://lets.postgresql.jp/documents/technical/9.0/ JPUG 2010 4
  • 5. 1. 9.0 2 • = = • ( ) VACUUM / PostgreSQL JPUG 2010 5
  • 6. vs. READ WRITE READ WRITE ( v8.4) 8.4 WAL archive_command WAL pg_standby ( 1 ) READ WRITE READ WRITE 9.0 (v9.0) WAL ( ) wal sender WAL wal receiver 9.0 9.0 JPUG 2010 6
  • 7. vs. Slony-I pgpool-II 9.0 2.0 2.3 DB ( ) DB SQL PK , DDL ※ ☆ 10 10 3 ( ) ○ ○ ○ JPUG 2010 7 ☆ ※PK= , DDL=
  • 8. 2. (UNIQUE) “ ” “ ” (EXCLUDE) “ ” “ ” GPS JPUG 2010 8
  • 9. CREATE TABLE placement ( && “ ” object text, location box, -- EXCLUDE USING gist (location WITH &&) ); CREATE TABLE reservation ( room text, during period, -- { , } EXCLUDE USING gist (room WITH =, during WITH &&) ); gist text gist contrib/btree_gist period ( 9.1 ) JPUG 2010 9
  • 10. 3. VACUUM FULL VACUUM FULL 8.4 “ ” 9.0 “ ” VACUUM FULL VACUUM FULL UP UP VACUUM ( ) FULL FULL +TRUNCATE JPUG 2010 10
  • 11. PostgreSQL VACUUM VACUUM 8.4 , FULL 9.0 , CLUSTER + , REINDEX - , VACUUM VACUUM FULL (8.4) REINDEX VACUUM FULL (9.0) CLUSTER REINDEX REINDEX JPUG 2010 11
  • 12. JPUG 2010 12
  • 13. 8.1 8.3 CPU ? 16CPU 8.3 8CPU 8.2 8.1 2CPU 8.0 JPUG 2010 13
  • 14. - CPU バ 5 ー 8.0 ジ 8.2 ョ 8.1 8CPU ン 4 8 16core ご CPU と 8.2 の 、 C 3 P U 1 個 2 8.1 に 4CPU 対 す る 1 8.0 相 2CPU 対 性 能 0 1 2 4 8 12 16 20 24 28 32core Scaling PostgreSQL on SMP Architectures Doug Tolbert (Unisys), PGCon 2007, Ottawa, 2007-05-24 http://www.pgcon.org/2007/schedule/events/16.en.html JPUG 2010 14
  • 15. 8.3 HOT 2 8.3 8.3 HOT 8.2 FILLFACTOR JPUG 2010 15
  • 16. – HOT (Heap-Only Tuples) HOT Fill Factor Fill Factor TPS TPS pgbench 280 40% 260 240 220 40%UP! VACUUM 200 VACUUM 180 Fill Factor 160 HOT 140 100%( ) 120 HOT 90~95% 100 ALTER TABLE tablename 70 75 80 85 90 95 100 SET (fillfactor=95); Fill Factor (%) pgbench -s400 (5GB) NTT OSS Center JPUG 2010 16
  • 17. - Checkpoint Throughput [TPM] 8.2 Checkpoint Next Checkpoint 8.3 Time [sec] JPUG 2010 17
  • 18. SQL / 9.0 8.4 8.3 O/R ※ 8.2 IN, EXISTS 8.1 Window Bitmap Scan min/max ORDER BY LIMIT “ ” Seq Scan JPUG 2010 ※ ORM SQL JOIN 18
  • 19. VACUUM VACUUM 8.2 8.3 9.0 8.4 autovacuum 8.3 VACUUM FULL 8.2 VACUUM 8.1 8.0 HOT 7.4 XID autovacuum REINDEX VACUUM XID JPUG 2010 19
  • 20. PostgreSQL is NoSQL! Not Only SQL : SQL( ) ( / ) XML 9.1 (GIN) 9.0 8.4 SQL/MED (GiST) 8.3 JSON 8.2 6.0 FDW SQL JPUG 2010 20
  • 21. VACUUM : 8.3 JPUG 2010 21
  • 23. PGCon 2010 2010 5 20 21 @ 150 ( ) 35 9.0 9.1 JPUG 2010 23
  • 24. PGCon2010 : Caixa Economica Federal ( ) 22,000 ATM, 7 / Enova Financial ( ) OLTP 1.3TB, 4000 / , 24 MySQL PostgreSQL + 9.0 PgMQ : Eventually Consistent Postgres-XC ACID JPUG 2010 24
  • 25. : 9.0 9.1 PostgreSQL 9.0 α ( : ) ?? PostgreSQL 9.1 ( , ) MERGE : UPDATE, INSERT REPLACE, UPSERT SQL “MERGE” Predicate Lock SE-PgSQL : , SQL/MED : , DB , JSON PGCon 2010 http://wiki.postgresql.org/wiki/PgCon_2010_Developer_Meeting JPUG 2010 25
  • 26. : PostgreSQL “ ” 1 RDBMS , DBMS MySQL SQL JPUG 2010 26
  • 27. PostgreSQL “9.0” “ ” PostgreSQL 9.0 9.1 “ ” JPUG 2010 27

Notes de l'éditeur

  1. それぞれのバージョンでのCPU1個での性能で正規化しているため、バージョンアップによる性能向上は見えていない。当然ながら、基本性能も向上し続けている。