SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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

Más contenido relacionado

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

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
 

Similar a PostgreSQLのこれまで、9.0、そしてこれから (10)

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
 
유저스토리랩 회사소개서
유저스토리랩 회사소개서유저스토리랩 회사소개서
유저스토리랩 회사소개서
 

Más 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
 

Más 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
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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

Notas del editor

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