SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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
 

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

Mais 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
 

Mais 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

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
 
🐬 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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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 do Editor

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