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

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

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個での性能で正規化しているため、バージョンアップによる性能向上は見えていない。当然ながら、基本性能も向上し続けている。