Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PostgreSQL and SQL:2023 - Property Graph Queries の話題と各RDBの実装

PostgreSQL and SQL:2023 - Property Graph Queries の話題と各RDBの実装

PostgreSQL Conference Japan 2023の発表資料です。

【A1】PostgreSQL and SQL:2023 - Property Graph Queries の話題と各RDBの実装

SQL:2023では、Part 16: Property Graph Queries (SQL/PGQ)が追加されました。 Oracle Database 23c には既に実装され、PostgreSQLでは将来の機能となっています。 他のRDBも実装が始まっています。それぞれ、実装はどう違っているのでしょうか? RDBに追加された問い合わせ言語 SQL/PGQ と 2024年にリリースされるグラフデータベース用のGQL はどこが異なっているのでしょうか? 最新の話題をお伝えします。

Koji Annoura

November 24, 2023
Tweet

More Decks by Koji Annoura

Other Decks in Programming

Transcript

  1. 1PTUHSF42-$POGFSFODF+BQBO /PW
    1PTUHSF42-BOE42-
    1SPQFSUZ(SBQI2VFSJFTͷ࿩୊
    ͱ֤3%#ͷ࣮૷
    ,PKJ"OOPVSB
    ҊӜߒೋ
    LPKJ!BOOPVSBDPN
    4PVSDF೔ຊ1PTUHSF42-Ϣʔβձ IUUQTXXXQPTUHSFTRMKQOQPMPHP

    View full-size slide

  2. 8IPBN*
    ⿣ *MPWF
    ⿣ /FPK(SBQI%BUBCBTF
    ⿣ /FPK6TFST(SPVQ5PLZP
    ⿣ *BNPOFPGUIFGPVOEFST
    ⿣ (SBQI$PNNVOJUZ.71
    ⿣ "QBDIF)PQ
    ⿣ %BUB0SDIFTUSBUJPO"QQ
    ⿣ "QBDIF6TFS(SPVQ+BQBO
    ⿣ *BNBGPVOEFS

    View full-size slide

  3. "HFOEB
    ⿣ 42-1(2
    ⿣ ,FZXPSET
    ⿣ 42-
    ⿣ %BUBCBTFT
    ⿣ 42-1(2
    ⿣ PQFO$ZQIFS

    View full-size slide

  4. 42-1(2
    ⿣ 1SPQFSUZ(SBQI2VFSZ
    ⿣ IUUQTXXXJTPPSHTUBOEBSEIUNM
    ⿣ 42- *40*&$

    ⿣ 1BSU
    ⿣ (FOFSBMJOGPSNBUJPO
    ⿣ 4UBUVT 1VCMJTIFE
    ⿣ 1VCMJDBUJPOEBUF
    ⿣ 4UBHF*OUFSOBUJPOBM4UBOEBSEQVCMJTIFE
    ⿣ &EJUJPO
    ⿣ /VNCFSPGQBHFT
    ⿣ 5FDIOJDBM$PNNJUUFF *40*&$+5$4$
    4PVSDF*40 IUUQTXXXJTPPSHTUBOEBSEIUNM

    View full-size slide

  5. 42-1(2BOE(2-
    ⿣ 42-1(2
    ⿣ 42-JODMVEFT
    1SPQFSUZ(SBQI2VFSZ
    ⿣ 0SBDMF%BUBCBTFD
    ⿣ (2-
    ⿣ *OUFSOBUJPOBM4UBOEBSE
    ⿣ XJMMSFMFBTF
    4PVSDFPQFO$ZQIFSIUUQTXXXHRMTUBOEBSETPSHIPNF

    View full-size slide

  6. ,FZXPSET
    ⿣ 5ZQFTPG%BUBCBTFT
    ⿣ 42-
    ⿣ /P42-
    ⿣ (SBQI
    ⿣ /BUJWF(SBQI
    ⿣ /PO/BUJWF(SBQI
    ⿣ -BOHVBHF
    ⿣ $ZQIFS
    ⿣ PQFO$ZQIFS
    ⿣ (2-
    ⿣ (SBQI2-

    View full-size slide

  7. 5ZQFTPG%BUBCBTFT
    ⿣ 42-
    ⿣ /P42-
    ⿣ ,FZrWBMVFTUPSF
    ⿣ %PDVNFOUTUPSF
    ⿣ 8JEFDPMVNOTUPSF
    ⿣ (SBQITUPSF
    ⿣ /BUJWF(SBQI
    ⿣ /PO/BUJWF(SBQI
    ⿣ *ONFNPSZTUPSF
    4PVSDF8JLJQFEJB IUUQTFOXJLJQFEJBPSHXJLJ/P42-

    View full-size slide

  8. /FPK
    ⿣ 0O1SFNJTFT
    ⿣ /FPK(SBQI%BUBCBTF
    ⿣ $MPVE
    ⿣ /FPK"VSB%#
    ⿣ (PPHMF
    ⿣ "84
    ⿣ "[VSF
    4PVSDF/FPK IUUQTOFPKDPNQSPEVDUOFPKHSBQIEBUBCBTF

    View full-size slide

  9. /FPK
    ⿣ (FO"*BQQT
    ⿣ --.
    ⿣ 7FDUPS
    ⿣ ,OPXMFEHFHSBQIT
    4PVSDF/FPK IUUQTOFPKDPN

    View full-size slide

  10. /BUJWF(SBQI
    ⿣ (SBQI%BUBCBTF
    ⿣ /BUJWF(SBQI
    ⿣ /FPK
    ⿣ /PO/BUJWF(SBQI
    ⿣ (SBQITUPSBHF
    ⿣ 3%#
    ⿣ 8JEF$PMVNO
    ⿣ 0UIFS/P42-

    View full-size slide

  11. /BUJWFWT/PO/BUJWF
    ⿣ (SBQI%BUBCBTF
    ⿣ /BUJWF(SBQI
    ⿣ /FPK $ZQIFS

    ⿣ .FNHSBQI PQFO$ZQIFS

    ⿣ 5JHFS(SBQI (42-

    ⿣ /PO/BUJWF(SBQI
    ⿣ .JDSPTPGU"[VSF$PTNPT%# 42-

    ⿣ +BOVT(SBQI (SFNMJO

    ⿣ "NB[POF/FQUVOF (SFNMJO PQFO$ZQIFS
    41"32-

    ⿣ 4UBS%PH 41"32-

    View full-size slide

  12. +BOVT(SBQI
    ⿣ +BOVT(SBQI
    ⿣ 5IF-JOVY'PVOEBUJPO
    ⿣ 7FSTJPO 0DUPCFS

    ⿣ +BWB
    ⿣ %BUB4UPSBHF
    ⿣ "QBDIF$BTTBOESB
    ⿣ "QBDIF)#BTF
    ⿣ (PPHMF$MPVE#JHUBCMF
    ⿣ 0SBDMF#FSLFMFZ%#
    ⿣ 4DZMMB%#
    4PVSDF*40 IUUQTKBOVTHSBQIPSH

    View full-size slide

  13. )PXJTJUCFJOHVTFE
    ⿣ (SBQI%BUBCBTF
    ⿣ 6TBHFTJNJMBSUP#*
    ⿣ /PUSFBMUJNF CVUHBJOJOHJOTJHIUT
    GSPNEBUBSFMBUJPOTIJQT
    ⿣ /BUJWFHSBQIVTBHF
    ⿣ 3FBMUJNFBOBMZTJTJO*P5 JOTVSBODF
    BOEDSFEJUDBSEGSBVEEFUFDUJPOEVF
    UPVOEFSTUBOEJOHEBUBSFMBUJPOTIJQT
    ⿣ 4FBSDIJOHUIFTDPQFPGJNQBDUPG
    GBVMUEFUFDUJPOJOSFBMUJNF

    View full-size slide

  14. 2VFSZ-BOHVBHF
    ⿣ 3%#
    ⿣ 42-
    ⿣ (SBQI%BUBCBTF
    ⿣ (2-
    ⿣ $ZQIFS /FPK "NB[PO/FQUVOF 4"1

    ⿣ 1(2- 0SBDMF

    ⿣ ($03& -%#$

    ⿣ (42- 5JHFS(SBQI

    ⿣ 41"32- "NB[PO/FQUVOF

    ⿣ (SFNMJO "[VSF$PTNPT%# +BOVT(SBQI
    "NB[PO/FQUVOF

    4PVSDF1FUFS&JTFOUSBVU IUUQQFUFSFJTFOUSBVUPSHCMPHQPTUHSFTRMBOETRM

    View full-size slide

  15. $ZQIFS
    ⿣ "OESÉT5BZMPS
    ⿣ "4$**"SU
    ⿣ /PEF
    <3&-"5*0/4)*1> /PEF

    ⿣ $ZQIFS
    ⿣ 8)&3&BOE03%&3#:GSPN42-
    ⿣ 1BUUFSONBUDIJOHGSPN41"32-
    ⿣ $PMMFDUJPOTFNBOUJDTGSPN)BTLFMM
    BOE1ZUIPO
    4PVSDF."53*98JLJ IUUQTNBUSJYGBOEPNDPNXJLJ$ZQIFS

    View full-size slide

  16. 41:º'".*-:
    ⿣ 41:º'".*-: ࡗמݖՈՈ

    ⿣ +BQBOFTFNBOHBTFSJFTXSJUUFO
    BOEJMMVTUSBUFECZ5BUTVZB&OEP
    ⿣ $IBSBDUFST
    ⿣ -PJE'PSHFS
    ⿣ :PS'PSHFS
    ⿣ "OZB'PSHFS
    ⿣ #POE'PSHFS
    4PVSDF41:Y'BNJMZIUUQTTQZGBNJMZOFUUWTFSJFT

    View full-size slide

  17. /FPK(SBQI%BUBCBTF
    ⿣ (SBQI.PEFM
    ⿣ (SBQI /PEFT 3FMBUJPOTIJQ

    ⿣ $PNQPOFOUT
    ⿣ /PEFT
    ⿣ -BCFMT
    ⿣ 3FMBUJPOTIJQT
    ⿣ 1SPQFSUJFT

    View full-size slide

  18. 3%#WT/FPK
    ⿣ 3%#
    ⿣ #FGPSFMPBEJOHEBUB $3&"5&5"#-&JT
    OFDFTTBSZ
    ⿣ +0*/PQFSBUJPOTBSFQFSGPSNFEXIFO
    RVFSZJOHVTJOH42-
    ⿣ $PMVNOTSFRVJSFTPNFWBMVF JODMVEJOH
    OVMM

    ⿣ /FPK 8IJUFCPBSE'SJFOEMZ

    ⿣ $3&"5&5"#-&JTOPUSFRVJSFECFGPSF
    MPBEJOHEBUB
    ⿣ 3FMBUJPOTIJQTBSFTUPSFEEJSFDUMZ

    View full-size slide

  19. $PNQPOFOUT
    ⿣ /PEFT
    ⿣ #SBLFUT


    ⿣ .VMUJQMFMBCFMTDBOCFBUUBDIFEUPB
    OPEF
    ⿣ 1FSTPO

    ⿣ 1FSTPO4QZ



    $3&"5& 1FSTPO\OBNF`-PJE'PSHFS`^
    <."33*&%> 1FSTPO\OBNF`:PS'PSHFS`^

    View full-size slide

  20. 3FMBUJPOTIJQTPS&EHF
    ⿣ 3FMBUJPOTIJQTPS&EHF
    ⿣ #SBDLFUT 4RVBSFCSBDLFUT
    ⿣ <."33*&%>
    ⿣ 3FMBUJPOIBTEJSFDUJPO
    ⿣ <."33*&%>



    $3&"5& 1FSTPO\OBNF`-PJE'PSHFS`^
    <."33*&%> 1FSTPO\OBNF`:PS'PSHFS`^

    View full-size slide

  21. 1SPQFSUJFT
    ⿣ 1SPQFSUJFT
    ⿣ 1SPQFSUJFTDBOCFBEEFEGPSCPUIOPEFT
    BOESFMBUJPOTIJQT
    ⿣ $VSMZCSBDLF
    ⿣ \OP OBNF`"#$`^





    $3&"5& 1FSTPO\OBNF`-PJE'PSHFS`^
    <."33*&%> 1FSTPO\OBNF`:PS'PSHFS`^

    View full-size slide

  22. PQFO$ZQIFS
    ⿣ PQFO$ZQIFS
    ⿣ IUUQTPQFODZQIFSPSH
    ⿣ 0DU
    ⿣ $ZQIFSJNQMFNFOUBUJPOT
    ⿣ "HFOT(SBQI
    ⿣ "NB[PO/FQUVOF
    ⿣ $"14$ZQIFSGPS"QBDIF4QBSL
    ⿣ $ZQIFSGPS(SFNMJO
    ⿣ ,BUBOB(SBQI
    ⿣ .FNHSBQI
    4PVSDFPQFO$ZQIFS IUUQTPQFODZQIFSPSH

    View full-size slide

  23. PQFO$ZQIFS
    ⿣ PQFO$ZQIFS*NQMFNFOUFST.FFUJOH
    ⿣ (FSNBOZ P$*.

    ⿣ 'JSTU'FCSVBSZ
    ⿣ -POEPO P$*.

    ⿣ 4FDPOE.BZ
    ⿣ 'SBODF P$*.

    ⿣ 5IJSE/PWFNCFS
    ⿣ %FONBSL P$*.

    ⿣ 'PVSUI.BZ
    ⿣ (FSNBOZ P$*.

    ⿣ 'JGUI.BSDI

    View full-size slide

  24. PQFO$ZQIFS
    ⿣ 8$
    ⿣ (SBQI%BUB8PSLTIPQ
    ⿣ .BSDI
    ⿣ 0QFO$ZQIFSNFFUVQ
    ⿣ .BSDI

    View full-size slide

  25. 1(2-
    ⿣ 1SPQFSUZ(SBQI2VFSZ-BOHVBHF
    ⿣ 42-MJLFRVFSZMBOHVBHF
    4PVSDF0SBDMF IUUQTQHRMMBOHPSH

    View full-size slide

  26. (2-㱠(SBQI2-
    ⿣ (2-

    ⿣ 2VFSZMBOHVBHFMJLF$ZQIFS
    ⿣ (SBQI2-

    ⿣ 2VFSZ-BOHVBHFGPS"1*
    ⿣ "1*
    ⿣ 3&45
    ⿣ (SBQI2-
    4PVSDF(SBQI2- IUUQTHSBQIRMPSH

    View full-size slide

  27. (SBQI2-
    ⿣ (SBQI2-
    ⿣ &WFOUT
    ⿣ (SBQI2-$POG
    ⿣ IUUQTHSBQIRMPSHDPOG
    ⿣ (3"1)2-46..*5
    ⿣ IUUQTTVNNJUHSBQIRMDPN
    ⿣ 0DUPCFS
    ⿣ 4BO%JFHP
    ⿣ 0DUPCFS
    ⿣ %PXOUPXO/FX:PSL$JUZ

    View full-size slide

  28. (SBQI2-"2VFSZ-BOHVBHFGPS"1*T
    ⿣ 2VFSZ-BOHVBHFGPS"1*
    ⿣ 40"1 "QS

    ⿣ 4JNQMF0CKFDU"DDFTT1SPUPDPM
    ⿣ IUUQTXXXXPSH53TPBQ
    ⿣ 3&45
    ⿣ 3&QSFTFOUBUJPOBM4UBUF5SBOTGFS
    ⿣ 0QFO"1*
    ⿣ UIFNPTUXJEFMZBDDFQUFEGPSNBU
    ⿣ (SBQI2- +VOF

    ⿣ IUUQTHSBQIRMPSH
    4PVSDF(SBQI2-PSH IUUQTMBOETDBQFHSBQIRMPSHDBSENPEF

    View full-size slide

  29. (SBQI2-
    ⿣ 'BDFCPPL
    ⿣ .PCJMFBQQTCFDBNFNPSFDPNQMFY
    ⿣ 1PPSQFSGPSNBODF
    ⿣ 'SFRVFOUMZDSBTIFE
    ⿣ (SBQI2-
    ⿣ 3FCVJME'BDFCPPL`TOBUJWF
    NPCJMFBQQMJDBUJPOT
    ⿣ XBTQVCMJDMZSFMFBTFEJO
    4PVSDF(SBQI2-PSH IUUQTTQFDHSBQIRMPSH+VMZɹ

    View full-size slide

  30. 3&45WT(SBQI2-
    ⿣ 3&45
    ⿣ 1045NPWJFT
    ⿣ (&5NPWJFT
    ⿣ (&5NPWJFT\JE^
    ⿣ 1"5$)NPWJFT\JE^
    ⿣ %&-&5&NPWJFT\JE^
    ⿣ (SBQI2-
    ⿣ 1045HSBQIRM
    4PVSDF(SBQI2-PSH IUUQTMBOETDBQFHSBQIRMPSHDBSENPEF

    View full-size slide

  31. (SBQI2VFSZ-BOHVBHF
    ⿣ 2VFSZ-BOHVBHFGPS(SBQI
    ⿣ (2- 8$

    ⿣ $ZQIFS /FPK 4"1ʜ

    ⿣ 1(2- 0SBDMF

    ⿣ ($03& -%#$

    ⿣ (42- 5JHFS(SBQI

    ⿣ 41"32- "NB[PO/FQUVOF

    ⿣ (SBQI2- /FPK

    ⿣ (SFNMJO "[VSF$PTNPT%# +BOVT(SBQI
    "NB[PO/FQUVOF

    4PVSDFIUUQTHRMUPEBZ

    View full-size slide

  32. (SBQI2VFSZ-BOHVBHF
    ⿣ (SBQI"OBMZTJTPG$BOEJEBUF(2-
    'FBUVSFT
    ⿣ 5IPNBT'SJTFOEBM
    ⿣ &YJTUJOH-BOHVBHFT
    ⿣ $ZQIFS
    ⿣ 1(2-
    ⿣ (42-
    ⿣ 42-1(2
    ⿣ ($03&
    4PVSDFIUUQTHRMUPEBZ

    View full-size slide

  33. (SBQI"OBMZTJTPG$BOEJEBUF(2-'FBUVSFT
    4PVSDF5IPNBT'SJTFOEBM
    IUUQTTBNB[POBXTDPNBSUJGBDUTPQFODZQIFSPSHXFCTJUFPDJNTMJEFTPDJN&-8(5'QEG

    View full-size slide

  34. (SBQI"OBMZTJTPG$BOEJEBUF(2-'FBUVSFT
    4PVSDF5IPNBT'SJTFOEBM
    IUUQTTBNB[POBXTDPNBSUJGBDUTPQFODZQIFSPSHXFCTJUFPDJNTMJEFTPDJN&-8(5'QEG

    View full-size slide

  35. (SBQI"OBMZTJTPG$BOEJEBUF(2-'FBUVSFT
    4PVSDF5IPNBT'SJTFOEBM
    IUUQTTBNB[POBXTDPNBSUJGBDUTPQFODZQIFSPSHXFCTJUFPDJNTMJEFTPDJN&-8(5'QEG

    View full-size slide

  36. (SBQI"OBMZTJTPG$BOEJEBUF(2-'FBUVSFT
    4PVSDF5IPNBT'SJTFOEBM
    IUUQTTBNB[POBXTDPNBSUJGBDUTPQFODZQIFSPSHXFCTJUFPDJNTMJEFTPDJN&-8(5'QEG

    View full-size slide

  37. (SBQI"OBMZTJTPG$BOEJEBUF(2-'FBUVSFT
    4PVSDF5IPNBT'SJTFOEBM
    IUUQTTBNB[POBXTDPNBSUJGBDUTPQFODZQIFSPSHXFCTJUFPDJNTMJEFTPDJN&-8(5'QEG

    View full-size slide

  38. (2-
    4PVSDF(2-4UBOEBSE IUUQTXXXHRMTUBOEBSETPSHXIBUJTBHRMTUBOEBSE
    ⿣ (2-
    ⿣ 1(2- 0SBDMF

    ⿣ PQFO$ZQIFS
    ⿣ ($03& -%#$

    View full-size slide

  39. PQFO$ZQIFS*NQMFNFOUFST(SPVQ
    ⿣ .FFUJOH
    ⿣ (FSNBOZ
    ⿣ 'JSTUPQFO$ZQIFS*NQMFNFOUFST.FFUJOH'FCSVBSZ
    ⿣ -POEPO
    ⿣ 4FDPOEPQFO$ZQIFS*NQMFNFOUFST.FFUJOH.BZ
    ⿣ 'SBODF
    ⿣ 5IJSEPQFO$ZQIFS*NQMFNFOUFST.FFUJOH/PWFNCFS
    ⿣ %FONBSL
    ⿣ 'PVSUIPQFO$ZQIFS*NQMFNFOUFST.FFUJOH.BZ
    ⿣ (FSNBOZ
    ⿣ 'JGUIPQFO$ZQIFS*NQMFNFOUFST.FFUJOH.BSDI

    View full-size slide

  40. 42-1(2BOE(2-
    ⿣ 42-1(2
    ⿣ 42-JODMVEFT
    1SPQFSUZ(SBQI2VFSZ
    ⿣ 0SBDMF%BUBCBTFD
    ⿣ (2-
    ⿣ *OUFSOBUJPOBM4UBOEBSE
    ⿣ XJMMSFMFBTF
    4PVSDFPQFO$ZQIFSIUUQTXXXHRMTUBOEBSETPSHIPNF

    View full-size slide

  41. 42-1(2&YBNQMF
    4PVSDF0SBDMF (SBQIEBUBCBTFBQQMJDBUJPOTXJUI42-1(2

    View full-size slide

  42. 1PTTJCMF5JNFMJOFGPSB(2-4UBOEBSE
    ⿣ r%BUBCBTF-BOHVBHF
    (2-QSPKFDUBQQSPWFEUIJTJTUIFTUBSU
    ⿣ r$%#BMMPUTUBSUFE
    ⿣ r$%#BMMPUFOEFEBOE
    DPNNFOUSFTPMVUJPOTUBSUFE
    ⿣ r%*4 %SBGU*OUFSOBUJPOBM
    4UBOEBSE
    #BMMPUTUBSUT
    ⿣ r%*4CBMMPUFOET
    ⿣ r*OUFSOBUJPOBM4UBOEBSE
    4PVSDF(2-4UBOEBSE IUUQTXXXHRMTUBOEBSETPSHXIBUJTBHRMTUBOEBSE

    View full-size slide

  43. -%#$
    ⿣ -JOLFE%BUB#FODINBSL$PVODJM
    ⿣ -%#$
    ⿣ 6OJUFE,JOHEPN
    ⿣ /POQSP
    fi
    UPSHBOJ[BUJPO
    ⿣ %F
    fi
    OFTUBOEBSEHSBQICFODINBSLT
    ⿣ .FNCFST
    ⿣ *OEVTUSZBOE"DBEFNJB
    ⿣ 0SHBOJ[BUJPOTBOE*OEJWJEVBMT
    4PVSDF-%#$ IUUQTMECDPVODJMPSHCFODINBSLTPWFSWJFX

    View full-size slide

  44. 42-
    ⿣ /FX1BSU
    ⿣ 1SPQFSUZ(SBQI2VFSJFT 42-1(2
    GVUVSF

    ⿣ /FXGFBUVSFT
    ⿣ +40/EBUBUZQF 5

    ⿣ &OIBODFE+40/EBUBUZQF 5

    ⿣ 4USJOHCBTFE+40/ 5

    ⿣ )FYJOUFHFSMJUFSBMTJO42-+40/QBUI
    MBOHVBHF 5

    ⿣ 42-+40/TJNQMJ
    fi
    FEBDDFTTPS 5r5

    ⿣ 42-+40/JUFNNFUIPET 5r5

    ⿣ +40/DPNQBSJTPO 5r5

    4PVSDF1FUFS&JTFOUSBVU IUUQQFUFSFJTFOUSBVUPSHCMPHQPTUHSFTRMBOETRM

    View full-size slide

  45. 0SBDMFD 42-1(2 1(2-

    ⿣ 42-1(2
    ⿣ RVFSZXJUI1(9
    ⿣ 1(2-
    ⿣ EJSFDUMZRVFSZXJUIPVU1(9
    ⿣ HSBQIBMHPSJUINTOFFET1(9
    4PVSDF0SBDMF IUUQTEPDTPSBDMFDPNFOEBUBCBTFPSBDMFQSPQFSUZHSBQITQHEHJOUSPEVDUJPOQSPQFSUZHSBQITIUNM

    View full-size slide

  46. 1(9
    ⿣ 1BSBMMFM(SBQI"OBMZUJ9
    ⿣ *ONFNPSZ(SBQI4FSWFS
    ⿣ 1(9JTBUPPMLJUGPSHSBQIBOBMZTJT
    ⿣ TVQQPSUJOHCPUIF
    ff
    i
    DJFOUHSBQI
    BMHPSJUINT
    ⿣ GBTU42-MJLFHSBQIQBUUFSO
    NBUDIJOHRVFSJFT
    4PVSDF0SBDMF IUUQTXXXZPVUVCFDPNXBUDI W%":N:B%#&

    View full-size slide

  47. 4&-&$5."5$)
    4PVSDF0SBDMF IUUQTEPDTPSBDMFDPNFOEBUBCBTFPSBDMFQSPQFSUZHSBQITQHEHTRMHSBQI@UBCMFRVFSJFTIUNM
    4&-&$5'30.(3"1)@5"#-& TUVEFOUT@HSBQI
    ."5$)
    B*4QFSTPO
    C*4QFSTPO8)&3&COBNF"MJDF

    8)&3&BOBNF.BSZ
    $0-6./4 BOBNF"4QFSTPO@B COBNF"4QFSTPO@C



    1&340/@"1&340/@#

    .BSZ"MJDF

    View full-size slide

  48. 4&-&$5."5$)
    4PVSDF0SBDMF IUUQTEPDTPSBDMFDPNFOEBUBCBTFPSBDMFQSPQFSUZHSBQITQHEHTRMHSBQI@UBCMFRVFSJFTIUNM
    4&-&$5'30.(3"1)@5"#-& TUVEFOUT@HSBQI
    ."5$)
    B*4QFSTPO
    <*4GSJFOET> C*4QFSTPO
    <*4GSJFOET>
    D*4QFSTPO
    <*4GSJFOET> B

    $0-6./4 BOBNF"4QFSTPO@B COBNF"4QFSTPO@C DOBNF"4QFSTPO@D



    1&340/@"1&340/@#1&340/@$

    #PC.BSZ+PIO
    +PIO#PC.BSZ
    .BSZ+PIO#PC

    View full-size slide

  49. BMFOHUIPGVQUPUISFFFEHFT \ ^

    4PVSDF0SBDMF IUUQTEPDTPSBDMFDPNFOEBUBCBTFPSBDMFQSPQFSUZHSBQITQHEHTRMHSBQI@UBCMFRVFSJFTIUNM
    4&-&$5'30.(3"1)@5"#-& TUVEFOUT@HSBQI
    ."5$) V*4VOJWFSTJUZ
    \ ^ V*4VOJWFSTJUZ

    8)&3&VOBNF"#$"/%VOBNF9:;
    $0-6./4 +40/@"33":"(( $"4&8)&/FTVCKFDU*4/05/6--5)&/FTVCKFDU
    &-4&$"45 FGSJFOETIJQ@JE"47"3$)"3

    &/%
    "4QBUI


    1"5)

    <"SUT .BUI>
    <.VTJD .BUI>

    View full-size slide

  50. %VDL%#
    ⿣ %VDL1(2
    ⿣ FYUFOTJPONPEVMF
    4PVSDF%VDL%# IUUQTEVDLECPSH

    View full-size slide

  51. "QBDIF"(& PQFO$ZQIFS

    ⿣ IUUQTBHFBQBDIFPSH
    ⿣ (SBQI%BUBCBTF1MVHJOGPS
    1PTUHSF42-
    ⿣ JOTQJSFECZ"HFOT(SBQI
    ⿣ 5PQ-FWFM1SPKFDUPGUIF"QBDIF
    4PGUXBSF'PVOEBUJPOTJODF.BZ

    ⿣ 8JMMCFPO.BSJB%#BOE.Z42-
    4PVSDF"QBDIF"(& IUUQTBHFBQBDIFPSH

    View full-size slide

  52. %BUBCBTFT
    1SPEVDU
    0SBDMFD 42-1(2 42-1(2 XJUI1(9
    1PTUHSF42-
    .Z42- 1(9
    %#(SBQI (SFNMJO UPCFEJTDPOUJOVFE
    42-4FSWFS 5SBOTBDU42-
    4RMJUF (2-FOHJOF "1*MJCSBSZ
    %VDL%# 42-1(2
    "QBDIF"(& PQFO$ZQIFS JOTQJSFECZ"HFOT(SBQI 1(


    "NB[PO/FQUVOF PQFO$ZQIFS (2-

    /FPK $ZQIFS (2-
    DIBS@MFOHUI
    DIBSBDUFS@MFOHUI

    5JHBS(SBQI (42- 42-1(2 (2-

    View full-size slide

  53. 2VFTUJPOT
    ⿣ /BNF
    ⿣ ,PKJ"OOPVSB
    ⿣ -JOLFEJO
    ⿣ LPKJBOOPVSB
    ⿣ 5XJUUFS
    ⿣ !LPKJBOOPVSB

    View full-size slide