2015åš´ãŽPG DayãĢãŗããĄãŦãŗãšã§æãäēēæ°ãŽããŖããŦããŧããŽ1ã¤ã¯ãåąæŠåžãŽæ įšãį
æ°ãĢãĒãŖãå ´åãŽãĻãŠã¸ããŧãĢããããŖãŗã¨ã¤ãĢããšã¯ãĢããŗãŦãĒã¨ããŽčŠąã§ãããããããč¨ēæããĻãããĢããã¯ãæĸãåŋ
čĻããããžãã ãŦããŧããŽããšãĻãŽäžã¯ãåŽéãŽYandexãŽåŽčˇĩããåãããĻãããã¤ãŠãšãã¨ãbotnekããŽæ¤į´ĸãĢéĸããčŠŗį´°ãĒãšããŧãĒãŧãæˇģããããĻããžãã ããŧãŋããŧãšãŽ9.4ãããŗ9.5ããŧã¸ã§ãŗãŽãŗãŗãããšãã§åéĄãčæ
Žãããã¨ããäēåŽãĢããããããããĻãŠã¸ããŧãĢã¨ã¤ãĢããšãŽãĸããã¤ãšãŽå
¨äŊįãĒ䞥å¤ã¨åŽį¨įãĒéŠį¨æ§ã¯å¤ããŖãĻããžããã ããŽãŦããŧããŽčģĸåãæäžããĻåãã§ããžããã¤ãĒã¤ãģãŗãšãĸãããŖãŗãšããŧãĢããį´šäģ īŧäģãį§ããĄã¯ããĒããæŦåŊãĢãĒãŠã¯ãĢãæãĄãããĒãįããæšæŗãĢã¤ããĻãŽįŠčĒãæãĄãžãããããã§ã¯ãããžããã åŽéãããã¯æį¨ãĒãŦããŧãã§ãããĒããĒããįžå¨æąããĻããåéĄãŽ1ã¤ã¯č¨ēæããŧãĢãŽåéĄã ããã§ãã ä¸é¨ãŽå ´æã§ã¯ãé常ãŽč¨ēæããŧãĢãŽäģŖãããĢč¨ēæããŧãĢãäŊŋį¨ã§ããžãããDBAã§ã¯ãĒãLinuxéįēč
åããŽé常ãĢč¤éãĒããŧãĢãäŊŋį¨ããåŋ
čĻããããžãã DBAãŽæ¯ã¯ãããããŽãšã¯ãĒãããčĻãã¨åˇã¤ãå§ããžãã ãžããYandexã¨PG ProãŽãĄãŗããŧã¯ãäŊŋį¨ããĻããPostgresãŽč¨ēææšæŗãããããŽäŊŋ፿šæŗããããŗããŽä¸įããŠãŽãããĢæšåããããĢã¤ããĻå°ã芹ããžãã
ãĻãŠã¸ããŧãĢãģããããŖãŗ īŧãŋãĒããããããĢãĄã¯ã į§ãŽååã¯Vovaã§ãYandexãĄãŧãĢãŽįŽĄįč
ã§ãã ãŦããŧãã¯Ildusã¨å
ąåã§ãPostgres Proã§PostgreSQLãéįēããĻããžãã
Postgresč¨ēæãŦããŧãã¨ããŽéčĻãĒãã¤ãŗãã¯åįã§ãã ãŦããŧããŽæåãŽé¨åã¯ãäŊãããšããããĸããŋãĒãŗã°ãå¤ąæããå ´åãĢäŊãããšãããčĒŦæããĻããžãã

ããŽå ´åããŠãã§åŽčĄããžããīŧ įŖčĻãŽįįē-ããã¯é常ãĢæŊ蹥įãĒãã¨ã§ãããŧãŋããŧãšãĢéĸéŖäģããããįŖčĻãįįēãããã¨ãæåŗããžãã

Postgresã¯åĒããããŧãŋããŧãšã§ããã¨čããĻããžãã č¯ãããŧãŋããŧãšããããããšãĻæĒãã¨ããããã¯ååã¨ããĻäŊããŽä¸ãĢįŊŽãããžãã ãģã¨ããŠãŽå ´åãããã¯äŊãããŽãˇãšãã ãĒãŊãŧãšã§ãã åŊŧåĨŗãĢã¯ãããģããĩãŧããããžããã åŊŧåĨŗãĢã¯ããŖãšã¯ããããã¯ãŧã¯ããããžããã éãããã¯ãåįˇãŽããã¯ããŋããŦãããĒãŠãĢčãããã¨ãã§ããžãã ããããããŧãšãäģãŽäŊããĢãããŖãĻããå ´åããããžãã

åããããã¯ãˇã§ãŗãããŽããã¤ããŽåįã ããã§ããã¨ãã°ããããģããĩãĢįŊŽããã1ã¤ãŽPostgresããŧãšãŽhtopã Load Average 200ã夿°ãŽãģããˇã§ãŗããããŗãĻãŧãļãŧįŠēéãŽãããģããĩå
¨äŊããããįēįããžãã

ããŧãšã¯ãã¤ãŧãĢãĢčŧãããã¨ãã§ããžãã sgresã§é常ãĢäēēæ°ãŽããããŽã ä¸å¯žãŽããŖãšã¯ã§ãŽåģæŖã¯ãģãŧ100īŧ
ã§ãã 大éãŽããŖãšã¯čĒãŋåããåž
ãĄãžãã

ããŖãšã¯ã¯iopsãžãã¯å¸¯ååš
ã§įĩããã ãã§ãĒããæŽåŋĩãĒããæåŽãŽäŊįŊŽã§įĩããå¯čŊæ§ããããžãã ããã¯ãxlogãģã¯ãˇã§ãŗã§įĩäēããããŧãŋããŧãšãŽåįã§ãã

ããŧãšããããã¯ãŧã¯ä¸ãĢãããxlogããŦããĒãĢããĸãŧãĢã¤ãããžãã¯äģãŽå ´æãĢčģĸéããĻã¯ãŠã¤ãĸãŗãã¸ãŽåįããåããããįļæŗããããžãã

ãĄãĸãĒãŽå ´åãããšãĻãããč¤éã§ãã ååã¨ããĻãåéĄããĄãĸãĒãĢãããã¨ã¯ããããžããã ãĒããŦãŧããŖãŗã°ãˇãšãã ãŽč¨åŽæšæŗãĢåŋããĻãSWAPã¸ãŽã¯ããŧãĢãéå§ããããŖãšã¯ãĸã¯ããŖãããŖãŽåéĄã¨ããĻãããįĸēčĒããããOOMãå°įããĻããã¯ã¨ãŗããåŧˇåļįĩäēããįĩæã¨ããĻPostgreså
¨äŊã夿ããžãã


ãããã¯ããšãĻãPostgresãŽå¤é¨ãŽããŧãĢãĢããŖãĻé常ãĢããč¨ēæãããžãã ã¤ãžãããæ°ãĢå
ĨããŽtop-likeãĻãŧããŖãĒããŖãdstatãiostatãĒãŠã§ãã į§ã¯ä¸ģãĢLinuxãĢã¤ããĻ芹ããžãã ããŧãŋããŧãšãéãããã¯ãĢįŊŽãããĻããå ´åãããŽæ
å ąã¯PGããã¯ãäģããĻ襨į¤ēã§ããžãããžãããããããŽåēåãįŽã§į°ĄåãĢč§Ŗæã§ãããããĢãããĒã¯ã¨ãšããããã¤ããããžãã ãããããããã¯Postgres wikiã§ãŗãŗãã¤ãĢãããĻããžãã åŽéãä¸č¨ãŽäžã¯ããšãĻãįžããį¤ēããĻããžãã

įįēãįēįããäŊããĢééããžããã åŊŧããäŧãã ããŽãŽãããĢãæĒéã¯åŊŧãįĨãŖãĻããžãã ãģã¨ããŠãŽå ´åãããŽåŗãŽãããĢãäŊãã夿´ãããããäŊããåąéãããããããŧãšãŽč˛ čˇãåĸå ããããčĻæąãŽč¨įģããĒããĒãŖãĻãæåž
ãŠãããĢæŠčŊããĒããĒãŖããããžãã

ããŧã¸ã§ãŗ9.4ããåãĢã¯ãåĒããpg_stat_statementsããŧãĢããããžããã æãæéããããã¯ã¨ãĒãæ¤į´ĸã§ããžãã ã¤ãžããããŧãšãæãå¤ããŽæéãč˛ģããã¯ã¨ãĒã§ãã ããĻãããã¯ãã§ãĢæ¨æēã§ãããåæãčĒŦæããĻãããŽæéããŠãã§éããããäŊãããããĒãŠãįĸēčĒããžãã ãã ããããŧãŋããŧãšãã¯ã¨ãĒãŽåŽčĄãĢč˛ģããæéã¯æč¯ãŽææ¨ã§ã¯ãããžããã ããŽæéã¯ããžããžãĒãĒãŊãŧãšãĢč˛ģãããã¨ãã§ããžãã ããŖãšã¯ããčĒãŋåãŖããããããģããĩããåŧˇåļãããããäŊãããŊãŧãããããäŊãããŽããã¯ãæåž
ãããã§ããžãã

9.4ããã¯ãpg_stat_kcacheã¨åŧã°ããį´ æ´ãããããŽããããžããããããĢããããĻãŧãļãŧæéã§ãŽãããģããĩæļč˛ģããˇãšãã æéã§ãŽãããģããĩæļč˛ģãĒãŠããĒã¯ã¨ãšããžã§įĸēčĒã§ããžãã ãããĻãåŊŧåĨŗãã§ããé常ãĢã¯ãŧãĢãĒãã¨ã¯ãããŖãšã¯ãããŽįŠįįãĒčĒãŋåãå¤ãå
ąæãããĒããŦãŧããŖãŗã°ãˇãšãã ããããŧã¸ããŖããˇãĨããŧãŋãååžãããã¨ã§ãã

ããã¤ããŽäžã ãã¨ãã°ãä¸äŊãŽã¯ã¨ãĒãĢéĸããæ
å ąã襨į¤ēããã¯ã¨ãĒã įš°ãčŋããžãããæéã§ãŊãŧããããĻããžãã ãããããˇãšãã æéããĻãŧãļãŧæéãããŖãšã¯ãããŽæ¸ãčžŧãŋ/čĒãŋåãããĄãĸãĒãããŽååžéãĒãŠã§ãããģããĩããŠãã ãæļč˛ģããããį¤ēããĻããžãã ããããŽãĒã¯ã¨ãšããŽãããšããčĻããã¨ãã§ããžãã


ãĒã¯ã¨ãšãčĒäŊã¯æŦĄãŽãããĢãĒããžãã ããŽãããšãã¯ãŗããŧã§ããžãã åŊŧã¯ãããģãŠč¤éã§ã¯ãããžããã ããã§ã¯ããšãĻãį°Ąåã§ãã ããŽįšåŽãŽãąãŧãšã§ã¯ãpg_stat_statementsãpg_stat_kcacheããããŧãŋãååžããããŧãŋããŧãšãããŽãĒã¯ã¨ãšããĢč˛ģãããæéã§ãŊãŧãããžãã

ããããããã¯pg_stat_kcacheãŽæå¤§ãŽåŠįšã§ã¯ãããžããã ããŖãšã¯ãããŽčĒãŋåããããŖãšã¯ã¸ãŽæ¸ãčžŧãŋãĒãŠã§ãŊãŧãã§ããžãã ãã¨ãã°ãåãpg_stat_statementsã¯shared_hitã¨shared_readãå
ąæã§ããžãã ããã¯ãå
ąæããããĄãããŗããŽäģããšãĻãããŽčĒãŋåããæåŗããžãã ããäģĨå¤ã¯ããšãĻããĒããŦãŧããŖãŗã°ãˇãšãã ãŽããŧã¸ããŖããˇãĨããååžãããã¨ããããŖãšã¯ããįŠįįãĢååžãããã¨ãã§ããžãã pg_stat_kcacheã¯ããããåéĸã§ããžãã åŊŧã¯getrusageīŧīŧãˇãšãã ãŗãŧãĢãäŊŋį¨ããĻãããčĄããžããããŽãˇãšãã ãŗãŧãĢã¯ãåãĒã¯ã¨ãšããŽåžãĢįæŖããžãã

ãã¨ãã°ãčĒãŋåãå¤ãæã¤ããŖãšã¯ä¸ãĢįŊŽãããããŧãšããããããŽãããĒããŽãæ§į¯ããžãããããŖãšã¯ãããŽįŠįįãĒčĒãŋåãå¤ã§ãŊãŧãããã¯ã¨ãĒã§ãã ãããĻããããã¯į¸å¯žįãĒå¤ã§ãã ããã§ã¯ãæä¸äŊãĢãããĒã¯ã¨ãšãããããã¨ã¯æããã§ãã æ°ããŧãģãŗããããŖãšã¯ãĢå°éããããŖãšã¯ããäŊããčĒãŋåããžãã ããäģĨå¤ãŽããšãĻã¯ãå
ąæãĄãĸãĒãžãã¯ãĒããŦãŧããŖãŗã°ãˇãšãã ãŽããŖããˇãĨããæäžãããžãã ã¤ãžããããŽããŧãŋããŧãšãŽããŖããˇãĨã¯é常ãĢåšæįãĢæŠčŊããžããã 9.4ãäŊŋį¨ããå ´åã¯ãåŋ
ãpg_stat_kcacheãäŊŋį¨ããĻãã ããã

ä¸čŦãĢįšåŽãŽčĻæąãĢããŖãĻæąēåŽãããĒããããč¤éãĒåéĄããããžãã ãã¨ãã°ãããŽãããĒåéĄã æåãŽįĸå°ã§ãããŖãšã¯IOãåĸãããžãã įģåãŽä¸å¤ŽãĢããããŖãŧãĢããŽčĒŦæã ããããŽ2ã¤ãŽåã¯iopsã§ãã iopsã1ä¸ãã10ä¸ãĢåĸãããžãã ãããĻããã°ããããĻãããããŧãšã¯ãˇãšãã æéã§ãããģããĩå
¨äŊãæŽēãå§ããžãã ããŽæįšã§ãããšãĻãæĒããĒããä¸čŦįãĢåŊŧåĨŗãäŊãããĻãããã¯æįĸēã§ã¯ãããžããã ãããĻãpg_stat_statementsãžãã¯pg_stats_kcacheãčĻãã¨ããˇãšãã æéãĢããˇãšãã ãããšãĻãŽãĒã¯ã¨ãšããå°ãã§ãåŽčĄãããã¨ãããããžãã ããã¯įšåŽãŽã¯ã¨ãĒãŽåéĄã§ã¯ãããžããã

ãããģããĩãįĄé§ãĢããĻããããŽãč¨ēæãããããŽį´ æ´ããããããŠãŧããŗãšãĻãŧããŖãĒããŖããããDBAããĢãŧããĢéįēč
ãĢã¨ãŖãĻã¯äžŋåŠã§ã¯ãããžãããããĩãŗããĒãŗã°ãĢããŖãĻæŠčŊããæĻéãããģãšãåˇã¤ããžããã é常ããˇãšãã ããåŧˇåļããããã¨ã¯ãããžããã ãããĻãããã§ããããģããĩæéãŽãģã¨ããŠããšããŗããã¯ãĢč˛ģããããĻãããã¨ãããããžãã åæãĢãæãå¯čŊæ§ãéĢããŽã¯ãčģŊéããã¯ãååžãããã¨ã§ãã ãããĻãæãå¯čŊæ§ãéĢããŽã¯ãããããĄããŖããˇãĨãŽé åã§ãã åŊŧãã¯ãPinBufferãUnpinBufferãReadBufferãĒãŠãåŧãŗåēããžããã ããŽįĩčĢãŽperf topãčĻãã¨ããããģãšããˇãšãã æéãŽãŠãã§č˛ģããããĻããããįč§Ŗããããããŧãŋããŧãšå
ã§æŖįĸēãĢãŠãã§č˛ģããããĻããããæ¨æ¸Ŧãããã§ããžãã

åããšããŗããã¯ãčĻãã¨æĒãįļæŗããããžãããåæãĢãããŽãšããŗããã¯ãŽå
Ĩæå
ã¨ããŽåĻįæšæŗã¯æįĸēã§ã¯ãããžããã

ããŧã įģåãããã¯ãã§ãã ããŖã¨æˇąããããã§äŊãčĩˇããŖãĻãããŽããäŊãĢåēãĨããĻãããŽããčĻããã¨ãã§ããžãã

ãããĢã¯ããã¤ããŽããŧãĢããããžãã ããããŽ1ã¤ã¯ãdtraceã¨systemtapīŧLinuxãŽå ´åīŧã§ãã ããŽåŠįšã¯ãæåéãããšãĻãčĻããã¨ãã§ãããã¨ã§ãã ããããããŽãããĢã¯ãããã¤ããŽãŗãŧããæ¸ãåŋ
čĻããããžãã ãããæåã§ãã æŦĄãĢãsystemtapãPostgresãĢãĸã¯ãģãšã§ãããããĢPostgresãåæ§į¯ããåŋ
čĻããããžãã ãããϿ大ãŽåéĄã¯ãsystemtapããŠãŽãããĒæĄäģļä¸ã§ãéŠį¨ã§ããĒããã¨ã§ãã č˛ čˇããšãį¨ãŽãšãŋãŗãã§äŊŋį¨ã§ããžãã 常ãĢåŽåŽããĻåäŊããã¨ã¯éãããįįŖãĢčŋŊå ãããå¯čŊæ§ãããããã§ãã ããã¯į§ããĄã¨äŊåēĻãčĩˇãããžããã åēåã¨ããĻããããã°ãã§systemtapãäŊŋį¨ãããããã°įļæŗãĢã¤ããĻæ¸ããžããã

åĨãŽããŧãĢã¯å¤å
¸įãĒGDBããããŦãŧã§ããããããäŊŋį¨ããžãã é常ãĢį°ĄåãĢč¨ãã°ããããģãšãĢåēåˇãããšãŦããããããã¯ããŠãã¯ãåé¤ããžããPostgresãŽå ´åã1ã¤ãŽãããģãšã1ã¤ãŽãšãŦããã§ãã ããããŖãĻãããã¯ããŠãã¯ãåé¤ããã ãã§ãã ãããĻããããģããĩããåãéĸããžãã

įĩčĢã¯æŦĄãŽã¨ããã§ãã ããããĄããŖããˇãĨãæäŊããé åã§čģŊéããã¯ãåž
æŠããĻããĻããŠããã§į°Ąåã§ã¯ãĒããįšåŽãŽãŊãŧãščĄã§äŊæĨããĻãããã¨ãããããžãã 591čĄbufmgr.cãŽãŊãŧãšãŗãŧããĢį§ģåããĻãããã§äŊãčĩˇããããįĸēčĒã§ããžãã CãįĨããĒããĻããé常ãĢč¯ããŗãĄãŗããããããŠãã§äŊãčĩˇããŖãĻãããŽããįč§Ŗã§ããžãã

GDBãĢ䏿åŋĢãĒæŦ éĨãããå¯ä¸ãŽãã¨ã ãããģãšãĢãããŋã¤ããĻ
ctrl + Cã¨č¨ãã¨ã
SIGTERMã
SIGQUITã§ã¯ãĒããããģãšãĢéŖãŗãžããã
SIGKILLã¯éŖãŗãPostgresã¯ãããčŋŊå ããžãã ããããŖãĻãé常ãĢæããĒãã¤ãŗããŖãŗã°ãäŊæããžããã ããŽãã¤ãŗããŖãŗã°ãĢéäŋĄããããšãĻãŽãˇã°ããĢãGDBãĢéäŋĄããããã§ã¯ãããžããã ããããŖãĻãæããããã¯ã¨ãŗããĢãå°éããžããã
ãšããŠãããäŊŋį¨ããã¨ããĸãããã¯ããã¯ã¨ãŗããããšãŋãã¯ããŦãŧãšãåé¤ã§ããžããããŽåžãåŊŧãã¯įŽãåčĻããããã§äŊãčĩˇããŖãĻãããŽããįč§Ŗããžãã ããŠãšãŽįšã¯ãåŽåŽããĻåäŊãããæĻéããåˇã¤ããĒããã¨ã§ãã ãããæŠčŊãããããĢã¯ãäŊãåæ§į¯ããåŋ
čĻã¯ãããžããã debuginfoãããąãŧã¸ãã¤ãŗãšããŧãĢããã ãã§ãīŧpostgresql-debuginfoãlibc-debuginfoãkernel-debuginfoããããĻããĒãã¯æēčļŗããã§ãããã éčĻãĒãŽã¯ãããã¯ã¨ãŗããæéãč˛ģãããĻããæŖįĸēãĒå ´æããŗãŧãčĄãĢ寞ããĻæŖįĸēãĢįč§Ŗã§ãããããĢãããã¨ã§ãã

ããŦãŧãŗããŧãˇã§ãŗãŽ2įĒįŽãŽé¨åã¯ãäŊãããŽãããŠãŧããŗãšãŽåéĄãæãäģããĒããŖãå ´åãŽå¯žåĻæšæŗãĢå°åŋĩããčĒäŋĄãæãŖãĻåįžããžãã ããĒãã¯åŊŧåĨŗããããĢæ˛ģįããæšæŗãįĨããžããã ãããĻãåŊŧãã¯ããĒããããĨãŧãšãŦãŋãŧãĢäŊãæ¸ããšãããæããĻãäŊãããšããå°ããžãã ãã ããããĨãŧãšãŦãŋãŧãĢæ¸ãčžŧãåãĢãããå¤ããŽč¨ēæãåéã§ããžãã

ããã¤ããŽäžã ãã¨ãã°ãããŽãããĒįļæŗããããžããã ãããģããĩä¸ãĢããããŧãšãæãĄãžããã ãããŽ2įĒįŽãŽåįã§ã¯ãéģč˛ããĻãŧãļãŧãšããŧãšãŽãããģããĩã§ããããģã¨ããŠäŊãéŖãšããĢããšãĻæļč˛ģãããĻãããã¨ãããããžãã åæãĢãããŽãããĒããããĄã¤ãĢč˛ čˇã§ã¯ãããŧãšãč˛ čˇããžãŖããåĻįããĒããŖãæå¤§2åãŽæéééããããžããã ããšãĻãåŠåŽŗéĸäŋã§ããã ãĒããŦãŧããŖãŗã°ãˇãšãã ãããŽããŧãšãã¯čĄ¨į¤ēãããžããã§ããã

perftopãŽåēåãįŽãåŧãããŽã§ã¯ãããžããã ããŽæįšã§æŗ¨æãæãŖãå¯ä¸ãŽãã¨ã¯ãããŽéåŽŗãåēåãĢ襨į¤ēãããã¨ãginãæäŊããåŧãŗåēãã襨į¤ēããããã¨ã§ãã ãããĢč˛ģããããæéã¯é常ãĢå°ãĒãã¨ããäēåŽãĢããããããã ããããããã§å¤ąæããã¨ãããĢããããã襨į¤ēãããžãã ããšãĻãč¯ããĒãã¨ãããĢæļããžãã ããŽããŧãŋããŧãšãĢã¯ã¸ãŗã¤ãŗããã¯ãšã1ã¤ãããžããã ãžããããŽgin-indexãäŊŋį¨ããã¯ã¨ãĒããĒããĢããĻãĒããĢããããšãĻãæŖå¸¸ã§ãããã¨ãįĸēčĒããžããã

ããããåŊŧãã¯įč§Ŗãå§ããžããã ãã¤ããŽãããĢããããĨãĄãŗããčĒãžãĒããŖããã¨ã夿ããžããã 9.4ã§ã¯ãginãŽfastupdateãįģå ´ããžããã ãģã¨ããŠãŽå ´åãæŋå
Ĩæéã¯įį¸ŽãããžãããéæąēåŽįãĒæŋå
Ĩæéãįēįããå ´åããããžãã į§ããĄãĢã¨ãŖãĻãæéãŽåŽåŽæ§ã¯ãį¸å¯žįãĢč¨ãã°ãããŽæéčĒäŊãŽééãããéčĻã§ãã fastupdateããĒããĢããžããããããšãĻãæŖå¸¸ã§ããã ããããŖãĻãæåãŽæ¨åĨ¨äēé
ã¯ãããĨãŧãšãŦãŋãŧãĢæ¸ãčžŧãåãĢãããĨãĄãŗããčĒããã¨ã§ãã ãģã¨ããŠãŽå ´åããããĢįãããããžãã

2įĒįŽãŽäžã įš°ãčŋããĢãĒããžãããæŽåŊąä¸ãĢãé常čãĒį§åäŊãŽåįãŽããŧãšããŽãšããŖãŗãčĻŗå¯ããžããã ãžããčĒåãããĨãŧã ããã§ãã¯ãã¤ãŗãããžãã¯äģãŽãˇãšãã ãããģãšã¨æéįãĢį¸éĸããžããã§ããã

perfoãŽå´éĸããã¯ãããŽãããĢčĻããžããã compaction_allocãŽæä¸é¨ãĢã¯ãį°å¸¸ãĒããŽã¯äŊããããžããã§ããã ãããģããĩæļč˛ģãŽå¤å
¸įãĒåŗã

GDBã§ã¯ãå
ąæãĄãĸãĒãŽåéĄãŽãããĢčĻããžãããããã¯ãããããĄããŖããˇãĨãŽé åãĢãããžããã éčĻãĒãŽã¯ã9.4ãĢæ´æ°ããåžãĢåēå§ããžããã 9.3ã§ã¯ããã§ã¯ãããžããã§ããã 9.4ã§å¤§čĻæ¨Ąããŧã¸ããĩããŧããããčĩ¤ãå¸ŊåããŧãšãŽãĒããŦãŧããŖãŗã°ãˇãšãã ã§ã¯ãããŠãĢãã§éæãĒ大čĻæ¨Ąããŧã¸ããĒãŗãĢãĒããããããããĻãããããåŊŧãã¯ãããčĻã¤ãå§ããžããã åŽéãį§ããĄã¯ããŽåéĄãĢæåãĢééãããã¨ãĢã¯ãģãŠé ãã

ããŽåéĄãč°čĢããĻãããšãŦããã¸ãŽãĒãŗã¯ã¯ããĄãã§ãã éæãĒ厍大ããŧã¸ããĒããĢããã¨ãããšãĻãéŖãŗå§ããžããã ããã¯2įĒįŽãŽæ¨åĨ¨äēé
ã§ããããããĨãĄãŗããŽčĒãŋæšãåŊšãĢįĢããĒããŖãåéã§ãã ãã ãããąãŧãšãŽ95īŧ
ã§åŊšįĢãĄãžãã ã¤ãŗãŋãŧããããæ¤į´ĸãããŽã¯įãĢããĒãŖãĻããžãããããããããĒãäģĨå¤ãŽčǰããããŽåéĄãĢééããã§ãããã

3įĒįŽãŽäžã ããŖãšã¯IOãŽåĸå åžãã°ããããĻãããããŧãŋããŧãšããˇãšãã ã§ããšãĻãŽæéãč˛ģããå§ããã¨ããŽåãåéĄã ãããģããĩå
¨äŊã

ãžããperfåēåã§ã¯ããšããŗããã¯ãŽãããĢčĻããžãã

ä¸åŽæ°ãŽbacktrace'ovãæŽåŊąãããããĢåæããĻãããããĄããŖããˇãĨãŽæäŊãĢéĸãããģãŧããšãĻãŽãã¨ãããããžããã ãŊãŧãšãĢčĄãåŋ
čĻãããããžããã

ããŽå ´åãŽå¤å
¸įãĒæ¨åĨ¨äēé
ã¯ãå
ąæããããĄãæ¸ãããã¨ã§ãã é常ãPostgresã§äŊæĨãéå§ãããĻãŧãļãŧã¯ãå
ąæããããĄãŧãĢäŊŋį¨å¯čŊãĒããšãĻãŽRAMãåæããžãã ããã¯é常ã˛ãŠãįĩãããžãã åžæĨãŽæ¨åĨ¨äēé
ã¯
ãããšãĻãŽãĄãĸãĒãŽ25īŧ
ã§ããã8 GBäģĨä¸ã§ãã åŽéãĢã
8 GBãĢ
æ¸ããã¨ãããŽåéĄã¯
č§Ŗæļãããžãã ã§ãããĒããããŽįįąã§ãå
ąæããããĄãŽä¸ã§å¤ãã忏ããããŖããŽã§ãã
ãŊãŧãšãĢčĄããããããŽčĄããŠããĢããããčĒŋãšãžããã ããããĄããŖããˇãĨãŽããŧããŖãˇã§ãŗãŽããã¯ãŽå¨ããĢãããã¨ãããããžããã 9.5ã§ã¯ã128ãŽå¤ããããŠãĢããĢãĒããžãã 9.4ã§ããžã 16ã§ãã ãããĢãããããã¯ãŽæ°ã忏ãããžããã ãããĢã9.5ãĢã¯æĸãĢč¨åãããããããããã¤ããããžãã ããã¯ãå¤ããŽãŋã¤ããŽã¯ãŧã¯ããŧãã§ãããŠãŧããŗãšãåä¸ããžãã å¯ä¸ãŽãã¨ã¯ãããããŽãããã¯ä¸ģãĢčĒãŋčžŧãŋãŽč˛ čˇãĢéĸããããŽã§ãã ãããĢå¤ããŽčĒãŋåãå¤ãæã¤ããŧãŋããŧãšãããå ´åã
å
ąæããããĄãŽä¸ãŽãģã¨ããŠããšãĻãŽãĄãĸãĒãåæã§ãããģã¨ããŠãŽå ´å
ãåéĄã¯įēįããžããã
ãããĢå¤ããŽã¨ãŗããĒãããå ´åã¯ãé
ããæŠããããŽåéĄãįēįããžãã éĒæĒãĒãĻãŖãã¯ãå°æĨããŽįļæŗãæšåããæšæŗãĢéĸãããĸã¤ããĸãéããĻããžãã åŽéããããĨãĄãŗããŧãˇã§ãŗãįĒįļčĒãã§ã¤ãŗãŋãŧããããæ¤į´ĸããĻãåéĄãŽč§ŖæąēįãåžãããĒãå ´åã¯ããŊãŧãšãå¸ãŖãĻ1ã¤ãŽå¤æ°ãããããã¨ãįãĢããĒãŖãĻãããåéĄãč§Ŗæąēããžãã ããããããã¯é常ãĢãžããĒããã§ãã

4įĒįŽãŽäžã åéĄãŽčĒŦæã¯ããĄãããå
Ĩæã§ããžãã æŦčŗĒã¯ãããæŦĄãŽã¨ããã§ãããĩã¤ãēãį´10åčĄãŽå¤§ããĒãŋããŦããã大ããĒBããĒãŧã¤ãŗããã¯ãšīŧãĩã¤ãēã200 GBīŧã ããŽããŦãŧãã§VACUUMã¨č¨ãã15åäģĨå
ãĢãŦããĒãĢã¸ãŽå¤æ´ãŽããŧãĢãĒãŧããŧãåæĸããžãã ãšããĒãŧããŗã°č¤čŖŊãĢã¤ããĻã§ãã

åæãĢãããŧãŋčĒäŊãåå¨ãããģã¯ãˇã§ãŗããããŦããĒãĢãããŖãšã¯ãã大éãŽčĒãŋåããéå§ãããã¨ã¯æããã§ãã čĩˇåãããģãšã¯ãxlogãåŽčĄããå¤ããŽäŋĄį¨ãåˇã¤ããããŽã¨åãã§ãããã¨ãããããžãã

ããŽå ´åããããģããĩã§ã¯ãĒãAIãĢããšãĻãč˛ģãããĻããããããããããŧã¯ãŽåēåãčĻããŽã¯įĄæåŗã§ãã GDBã§ã¯ãããŖãšã¯ãããŽčĒãŋåããĢæŦåŊãĢããŗã°ããĻãããã¨ãããããžãã ããã¯libcåŧãŗåēãã§ãã ãããĻã1čĄãŽãŗãŧããžã§ãããããŠãã§čĄãŖãĻããããčĻããã¨ãã§ããžãã ãŊãŧãšãĢį§ģåããĻããã§äŊãčĩˇããããčĻãã¨ãããã§čĄããããã¨ãæéŠã§ã¯ãĒããã¨ã
éããˇãĸčĒãŽįŊã§į´æĨæ¸ãããĻããžãã æšåã§ããžãã

ããŽåéĄãŽč°čĢã¸ãŽãĒãŗã¯ããããč§ŖæąēããæšæŗãĢã¤ããĻã ããã¯ããšãĻãPostgresãŽãããã§įĩãããžããããããĢããããŦããĒãĢãŽããã¯ãã°ã忏ã§ããžãã ãžãŖããåãå¤ããĒãã§ãįãããĻãã ããã ããŽåŗãĢã¯ã2ã¤ãŽãŦããĒãĢããããžãã įˇč˛ãŽããŽã¯ããããŽãĒããŦããĒãĢã§ãã éãããŽã¯ãããããŽãããŦããĒãĢã§ãã ã°ãŠãã¯é
ããį¤ēããĻããžãã ãããĻãããã¯ããŖãšã¯ãããŽčĒãŋåããŽã°ãŠããĢãããžã[į´ã Edãīŧåŗå´]ã čĒãŋåãããĒãĨãŧã ã¯åĸå ããžããã ã¤ãžãããããĨãĄãŗããčĒãã§ãã¤ãŗãŋãŧããããæ¤į´ĸãããŊãŧãšãæããĢįčããĻãããĒããŽčŗĒåãĢ寞ããįããåžãããĒããŖãããããããäŋŽæŖãããŽã¯ãããã¨ã ã¨æããžãã ããããį§ãŽãããĒCãããããĒãå ´åãããŽįšåŽãŽįļæŗã§ã¯ã大ããĒããŦãŧãã大ããĒ
BããĒãŧã¤ãŗããã¯ãšãããããããĢãģã¨ããŠå¤æ´ããĒããåēæŦįãĢ
æŋå
ĨãŽãŋãŽããŧãã§ããå ´åãããŧããŖãˇã§ãŗåãããŽãįãĢããĒãŖãĻããžãããŽãããĒåéĄã¯įēįããžããã

ããŽæįšã§ãé ãĢæŦĄãŽãã¨ãčããĻããåŋ
čĻããããžããã¯ããããžãčĄããĒããŖããGDBã¯æĻéä¸ãPostgresãŽãŊãŧãšãŗãŧããĢããããåŊãĻãžããé常ãŽDBAããããåĻįããããã§ã¯ãããžããã ãããĻãããŽčãã¯æŖããã§ãã į§ããĄãããæããžããã ããããŖãĻãį§ã¯ããã§ã¤ãĢããĨãšãæåž
ããžããã¤ãĢããĨãšã¯į§ããĄãåž
ãŖãĻããæããæĒæĨãĢã¤ããĻæããĻãããžãã
Ildus Kurbangaliev īŧãŋãĒããããããĢãĄã¯ã į§ãŽååã¯ã¤ãĢããĨãšã§ãã į§ã¯Postgres Professionalã§éįēč
ã¨ããĻåããĻããžãã įžæįšã§ã¯ãįŖčĻãčĄãŖãĻããžãã ã¤ãžããPostgresã§ããããŽæåž
ãįŖčĻã§ãããããĢããįŖčĻããããäŊæããĻããžãã åž
ãŖãĻãããã¨ããžããĢPostgresãŽæ šåššã§ãã ããã¯ããã¨ãã°ãããŖãšã¯ããããã¯ãŧã¯ãããŠããããå
é¨ã§įēįããčģŊéãŽãããã¯ãããžãã¯ééãŽãããããã¯ãčĒäŊã§ãã ããããŽæåž
ã¯å¤ããŽãĩããŋã¤ããĢåããããžãã čģŊéããã¯ã¯50åãããã¯ã¯9åã§ãã ãããã¯ãŧã¯-čĒãŋåããžãã¯æ¸ãčžŧãŋå¯čŊã ãšããŦãŧã¸ã¯åãã§ãã

åĨãŽįŖčĻããŧãĢãåŋ
čĻãĒãŽã¯ãĒãã§ããīŧ å¤ããŽå ´åã2įĒįŽãŽãã¤ãŗãã¯åŽéãĢã¯æåãŽãã¤ãŗãã§ãã ãããã¯ãããããããããããååĨãĢ寞åĻããåŋ
čĻãããããã§ãã ããããįĩãŋåãããããŧãĢãäŊŋį¨ãããã¨ããå§ãããžãã į§ãĢã¯ããŽãããĒäģäēããããžããã
ãã¨ãã°ãsystemtapã¯åĒããããŧãĢã§ãããåŽį¨ŧåã§ã¯äŊŋį¨ã§ããžããã
ããããŖãĻãį§ã¯pg_stat_waitãéįēããžãããããã¯ãããããĄã¤ãĒãŗã°ãããĄã¤ãĢã¸ãŽããŦãŧãšããããŗåž
æŠåąĨæ´ãåŽčĄã§ããžããįšåĨãĒããŠãĄãŧãŋãŧããããæ¸ãčžŧãŋã¨äŋåãã§ããååĨãĢčĒãŋåããã¨ãã§ããžããããããĄã¤ãĒãŗã°ã¯ãåæåž
å¤ãŽæåž
å¤ãŽæ°ã¨æéãčĒãŋåããžããåã
ãŽãããģãšãŽããŦãŧãšãæåšãĢã§ããžãããããģãšãŽPIDãããĄã¤ãĢåããããŗããŽãããģãšãĢ寞ããããšãĻãŽæåž
å¤ããããĢæ¸ãčžŧãžããžããããŦãŧãšãŽãã¤ããšéĸã¯ã大ããĒãĒãŧããŧãããã§ãããã¨ã夿ãããĒãŗãŠã¤ãŗã§äŊŋį¨ã§ããĒããã¨ã§ãããããã¯ãˇã§ãŗã§ãããã¯ãˇã§ãŗã§äŊŋį¨ã§ãããããĢããžããã
ããã§ãč¨åŽãããčĻäģļãč¨čŋ°ããžãããã¤ãžãããããã¯ãĒãŗãŠã¤ãŗã§åäŊããã¯ãã§ããããŧãŋããŧãščĒäŊãĢéč˛ čˇããããĒãã§ãã ãããããšãĻãŽæåž
ãĢãããæŖįĸēãĒããŧãŋãååžãããã¨ãæãžããã§ããã¤ãžããããĒį§åäŊãŽæéãéããããŗä¸ģčĻãĒįŽæ¨ã§ããã夿°ãŽããŧãĢã1ã¤ãĢãžã¨ãããã¨ã§ããã§ããčĻããã
ããŽããŧãŋãčŋãã ããŽåĨåãŽéĸæ°ãåŧãŗåēãããããĄã¤ãŠãŧį¨ãŽãããããããžããã¤ãžããäēæŗãã¨ãĢããŠãã ãæéããããŖãããéãįĸēčĒã§ããžãããã¨ãã°ãįžããã°ãŠããäŊæããããäēį´ãå
Ĩããããããä¸åēĻčŗĒåããããããšãĻã襨į¤ēãããã°ãŠããäŊæãããã§ããžããããã§ã¯ãããã§ãŽä¸ģãĒæéã¯ããŠãããã§ãããã¯ãŧã¯ãæäŊãããŽãĢč˛ģããããĻãããã¨ãããããžãããããĻããããĢLWLockã1ã¤ãããžããã
įŠčĒã¯ããŽãããĢčĻããžããããŠãĄãŧãŋãŧã5,000ãŽå ´åãæåžãŽ5,000ãŽæåž
å¤ãååžããžãããããã¯ãããĢæļåģãããããããããĢčĻæąããåŋ
čĻããããžãããžããåæåž
å¤ãŽããŠãĄãŧãŋãŧãŽãŋã襨į¤ēãããžããä¸ãŽãšããŦãŧã¸ãĢã¯ãįšåŽãŽãããã¯ãæ¸ãčžŧãžããĻããããčĻããã¨ãã§ããžãããããĻããĸãŗããŧãããããŧããĢčĒäŊãč¨įŽããžãã
ããŦãŧãšãŽéå§įšã¯æŦĄãŽã¨ããã§ããéĸæ°īŧpidãfileīŧãåŧãŗåēãã¨ãããŽãããĒįĩæã襨į¤ēãããžããéå§ããã¤čĄããããããããĢ襨į¤ēãããããšãĻãįĩäēããã¨ãæéãč¨įŽããĻãããŽč¨é˛ãčĄãããå ´æãįĸēčĒã§ããžãã
åŽčŖ
ãĢã¤ããĻå°ããåŊåãįŖčĻãĢã¯ããŠãĄãŧãŋã1ã¤ãããããžããã§ãããããããŽ5ã¤ãŽãŋã¤ãã¯ããĩãŗããĒãŗã°ãĢããŖãĻåéãããããããĄã¤ãĢãäŊæãããžããããĩãŗããĒãŗã°ã¯æåãĢãããģãšãŽãĒãšããĢãããã¯ãįŊŽããããããã¯ããžãåŊšãĢįĢããĒããã¨ã夿ããžãããæŦĄãĢãæ¤į´ĸãįļčĄãããã¨ãäģãŽãããģãšãããã¯ãããããã¨ãã§ãããããã¯ãšããããããžããå°ãéãŖãããæšã§ããŖããã¤ãžããåããã¯ã¨ãŗãã¯ããčĒäŊå
ã§éč¨ãåéããå
ąæãĄãĸãĒãĢæã
ããããããžãããããããããããĄã¤ãĢã ããä¸ããããžãããšããŧãĒãŧã¯éģč˛ãŽãŗãŦã¯ãŋãŧãĢããŖãĻåéãããĻããžããProcArrayãå垊åĻįããįžå¨ããã§čĩˇããŖãĻãããã¨ãč¨é˛ããžããįžå¨ãŽããĨãŧããããžãååĨãĢãįšåŽãŽãããģãšãįžå¨äŊãããĻãããŽããčĻããã¨ãã§ããžãããĒãŧããŧããããåéŋãããããĢãããšãĻããããã¯ããĒãŧãĸãĢã´ãĒãēã ãĢåŽčŖ
ãããĻããžãã
äģĨä¸ãĢãããŽãããĒãããã¯ãŽãĒããĸãĢã´ãĒãēã ãåąĨæ´ãĢ寞ããĻãŠãŽãããĢäŊæãããããŽäžãį¤ēããžããæåž
ãã¨ãĢ2ã¤ãŽãããã¯ãäŋæããžãããããĻãããã¯ã¨ãŗãã䏿šãĢæ¸ãčžŧãã¨ããã䏿šãčĒãŋåããžããããããŖãĻããããã¯ãéŋããĻãã ããã

ãããĻãį§ã¯å¤ããŽãĒãŧããŧãããæ¸ŦåŽãčĄããžãããããããŽããšãã¯ããĒãŧããŧããããããŽå ´å0.5īŧ
æĒæēã§ãããã¨ãį¤ēããžãããããããSELECTã¯ã¨ãĒã§ãããããšããããã¨ãæįĸēãĢããžããããŽãããpg_benchãŽįĩæãŽæŖå¸åŗãååžãããžãããããã§ã¯ãįŖčĻãŽæįĄãĢãããããããĒãŧããŧããããčŠäžĄãããã¨ã¯ä¸å¯čŊã§ãããããĻãčǰãããããčĄãæšæŗãæãã¤ããããį§ã¯é常ãĢæčŦããžããåŽåŽããé˛éŗįĩæãåžããŽã¯é常ãĢéŖããããã§ãã
ããã§ããŗãŧãã¯ãĒãŧããŗãŊãŧãšã§éãããĻãããgitgubã§ã¯ããŽããã¸ã§ã¯ãããããäŊããčļŗããĒãå ´åã¯åéĄãäŊæããįŖčĻãããšãããããŧãŋããŧãšããã§ãã¯ã¤ãŗãããã°ãæĸããžããããã¯é常ãĢåŊšįĢãĄãžããããããŽåéĄãĢéĸãã寞åŋãįĸēčĒã§ãããĒãŗã¯ã2ã¤ããããããĢãåå ã§ããžãã
ããŽįŖčĻãŽäŊŋį¨äžããããžãããããĢã¤ããĻã¯ãVovaãĢäŧããžãã
ãĻãŠã¸ããŧãĢãģããããŖãŗīŧäžãĢã¤ããĻå°ãã Ildusã¯ããã°ãããĻãŗããŧããčŠĻį¨ãããšããæ¤į´ĸã§ããã¨čŋ°ãšãžãããããĻãŗããŧããčŠĻį¨ãæ¤į´ĸãããšããčĄããžãããããšãĻãŽããˇãŗã§ãã§ãĢ9.4ãåŽį¨ŧåããĻããžãããããã¯9.4į¨ã§ãããįžå¨ãŽããšãŋãŧį¨ãŽãããããããžããããã¯įžå¨ããĸãããšããĒãŧã ãĢãããˇãĨãããĻããžããäģĨåã¯ãŠãã§ãããīŧį§ããĄãĢã¯ãäŊãĢ寞ããĻãäŧãžãĒããããĢæããããããäģĨä¸ãããįēčĄããĒãåēį¤ããããžãã 1į§ããã1ä¸ããŠãŗãļã¯ãˇã§ãŗãããŗãã¤ãŗããããæŠčŊããžããã GDBã§ã¯ãProcArrayEndTransactionã§ããŗã°ããčģŊéããã¯ãååžããĻãããã¨ãããããžãããįš°ãčŋããĢãĒããžãããæå¤§1čĄãŽãŗãŧãã§ãProcArrayLockã§ããŗã°ããĻãããã¨ãããããžããããŽGDBãæĨįļããįšåŽãŽããã¯ã¨ãŗãã§ããŖããããĻããããįĸēčĒã§ããžãã
ãããĻäģãããã¯1ã¤ãŽSELECTã¯ã¨ãĒã§ãpg_stat_wait_currentãžãã¯pg_stat_wait_historyã§ãįžå¨ãŽįļæŗãčĻãĻããããéåģãŽåąĨæ´ãčĻãĻããããĢããŖãĻį°ãĒããžãããããĻãããã§ã¯ããããããšãĻãProcArrayLockãĢãããŖãĻãããã¨ãããããããŽProcArrayLockãåž
æŠãããŽãĢãŠãã ããŽæéãč˛ģãããããããããžãã
ããã¯čĻčĻåã§ããžããããã¯ãååž
æŠã¯ãŠãšã§ããŧãšãč˛ģããæéãŽã°ãŠãã§ããčĩ¤ã¯ããŖãšã¯ãįˇã¯čģŊéããã¯ãéã¯éããã¯ã§ãããããã¯ãŧã¯ã¨ããŠãããã¯ããã§ã¯ãĒããĢãĒãŖãĻããžããããã¯é常ãå¤ããŽæéããããããã§ããããã¯ã¨ãŗããããŗã°ããĻäŊãããžãããããããã¯ãŧã¯åž
æŠã¯ãŠãšããããåž
æŠæéãé常ãĢéˇããĒãŖãĻããžãããã§ãã¯ãã¤ãŗããããŗã°ããĻäŊãããĒãå ´åããŠããåž
æŠã¯ãŠãšããããžããåž
æŠæéã¯įĄéã§ãããžããįĄéã§ã¯ãĒãããé常ãĢ大ããããããĻããã§ããģã¨ããŠãŽå ´åãããŧãšã¯äŊããåž
ãŖãĻããã¨ããĢããŖãšã¯IOãåž
ãĄãžãããčģŊéããã¯ã§ããŗã°ãããã¨ããããžãã yčģ¸ã¯åž
æŠæéãxčģ¸ã¯ãĢãŦãŗããŧæéã§ãã
čģŊéããã¯å
ã§äŊãčĩˇãããã¨åãã°ãŠããããããã§ããžãããģã¨ããŠããšãĻãéģč˛ã§ãéģč˛ãBufferPartitionLockã§ãããã¨ãããããžããããããĄããŖããˇãĨãŽåãããã¯ã¨ããŧããŖãˇã§ãŗããããã ãã§ã¯ãĒãã16ãã128ãĢåĸãããžããã9.5ãŽãããĢããããã¯å¤§åš
ãĢæéŠåãããžããã
ãã¨ãã°ãããã¯ãããŧãŋããŧãšå
ãŽããšãĻãä¸č¯ãĢãĒãŖãįŦéãŽåž
æŠã¯ãŠãšãŽæ§åã§ããæåã¯ããããįįēããčģŊéãŽããã¯ãĢæåž
ããĻãļãä¸ããŖããã¨ãããããžãããã°ããããĻãããééãŽããããã¯ãĢããŦãŧããŽãŠã¤ãŗãŽãŦããĢã§ããã¯ãĸããããžãããčģŊéããã¯ã
åå ã§ããããŽãčĻãã¨ãįčĢįãĢã¯ãProcArrayLockã¨BuffFreelistLockãããã¯ãã§ããä¸įĩéĻåBuffFreelistLockãEããããŗProcArrayLockãã¨ãããããããã¯ã¨ãŗããŽå¤§čĻæ¨ĄãĒæ°ãäŊæãããããĢãįžæįšã§ã¯ãå¤ããããŖããæ°ããæĨįļãéããããããĻããŽ-č˛ čˇProcArrayãããŽåéĄãŽä¸ģãĒåå ã¯BuffFreelistLockã§ãããããã¯9.5ã§ã¯ãĒããĒããæéŠåãŽ1ã¤ã§čĻãããžãããå¨åēĢãįĸēčĒããæãæĨãžããã
ããã¯åž
æãŽæŠčŊã§ãããäģãŽå¤ããŽããŧãŋããŧãšãĢãããDBAãŽå¯ŋåŊã大åš
ãĢäŋé˛ããĻããããã§ãã
PG Day'17ãŽæŦĄãŽå¤ãYandexãŽå°éåŽļã¯ãããã¤ããŽã¯ãŧãĢãĒãŦããŧããæēåããĻããžããVladimir Krasilshchikã ããã°ããŧãŋãŽč´čĄã¨čŠąãããVasily SozykinãYandex.Moneyã§ãŽPostgreSQLã¸ãŽį§ģčĄãŽåŖŽå¤§ãĒãšããŧãĒãŧãčĒããäēēæ°ãŽClickHouseåæããŧãŋããŧãšãŽãĒãŧãéįēč
ã§ããAlexey Milovidov ãåŊŧãŽįēæãŽå
鍿§é ãĢã¤ããĻčĒããžããäģããåå ãããīŧ