SlideShare a Scribd company logo
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

More Related Content

Similar to 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
 

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

More from 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
 

More from 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
 

Recently uploaded

In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsVlad Stirbu
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 

Recently uploaded (20)

In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

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

Editor's Notes

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