pl / pgsql上ぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧ

過åŽģぎPGデイぎ 1つであるプロジェクト111ぎ IT部長Artem Makarovは 、Postgresでį‹Ŧč‡ĒぎERPã‚ˇã‚šãƒ†ãƒ ã‚’æ§‹į¯‰ã—ã€ã‚šãƒˆã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã§ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧã‚’æ§‹į¯‰ã™ã‚‹ãĒおぎã‚ŊãƒĒãƒĨãƒŧã‚ˇãƒ§ãƒŗã‚’äŧæĨ­ãŒãŠãŽã‚ˆã†ãĢæąē厚できるかをčĒžãŖãŸã€‚ これらぎおれがæ‚Ēã„ã€č‰¯ã„éĸがįļšã„た。 ArtemãŒå¤šããŽã‚ŗãƒŧドを書いたãĢもかかわらず、æąēしãĻæœŦåŊ“ぎプログナマãƒŧではãĒã‹ãŖãŸã“ã¨ã¯æŗ¨į›ŽãĢ値しぞす。 むしろ、åŊŧは反マネãƒŧã‚¸ãƒŖãƒŧであり、äŧé“č€…ã§ã‚ã‚Šã€ITã‚ŊãƒĒãƒĨãƒŧã‚ˇãƒ§ãƒŗãŽãƒ“ã‚¸ãƒã‚šãĢ寞するロビイ゚トとå‘ŧばれることがありぞす。 ã—ãŸãŒãŖãĻ、åŊŧぎãƒŦポãƒŧトでは、ビãƒĨãƒŧã¯æŠ€čĄ“å°‚é–€åŽļからだけでãĒく、マネãƒŧã‚¸ãƒŖãƒŧからぎもぎでもありぞす。

į§ãŸãĄã¯čĒ°ã§ã™ã‹īŧŸ

į§ãŸãĄãŽé¸æŠžã‚’čĒŦ明するためãĢは、äŧšį¤žãŽčŠŗį´°ã‚’čĒŦæ˜Žã™ã‚‹äžĄå€¤ãŒã‚ã‚Šãžã™ã€‚ Project 111 Webã‚ĩイトを開くとīŧˆãƒ—ログナマはæ—ĸãĢã‚šãƒŠãƒƒã‚ˇãƒĨドット劚果があるかおうかをįĸēčĒã—ãĻいぞすīŧ‰ã€eã‚ŗãƒžãƒŧ゚ぎã‚ĒãƒŗãƒŠã‚¤ãƒŗã‚šãƒˆã‚ĸと非常ãĢよくäŧŧãĻいぞすが、ã‚ĒãƒŗãƒŠã‚¤ãƒŗã‚šãƒˆã‚ĸぎことではãĒく、B2Bです。 ã¤ãžã‚Šã€į§ãŸãĄãĢã¯å¸¸é€ŖåŽĸがいãĻ、åŊŧらぎ多くがいãĻ、マãƒŧã‚ąãƒ†ã‚Ŗãƒŗã‚°ã¯į‹‚ãŖãĻおり、新しい゚キãƒŧãƒ ã€å‰˛åŧ•、プロãƒĸãƒŧã‚ˇãƒ§ãƒŗãĒãŠã‚’č€ƒãˆãĻã„ã‚‹ãŽã§ã€č˛ŠåŖ˛ãĢはかãĒã‚Šč¤‡é›‘ãĒビジネ゚プロã‚ģã‚šãŒã‚ã‚Šã€é•ˇã„æ™‚é–“ãŒã‹ã‹ã‚Šã€ãģãŧ1é€ąé–“ã‹ã‹ã‚Šãžã™ã€‚ ã‚ĩã‚¤ãƒˆãŽéĄ§åŽĸであるパãƒŧ​​トナãƒŧは、ERPã‚ˇã‚šãƒ†ãƒ ãŽæœŦæ ŧįš„ãĒåž“æĨ­å“Ąã§ã™ ã€‚ã¤ãžã‚Šã€č˛ŠåŖ˛éƒ¨é–€ãŽéžå¸¸ãĢ多くぎ抟čƒŊをäŊŋį”¨ã—ãĻいぞすが、č‡Ēåˆ†ã§æ”¯æ‰•ã„ã‚’čĄŒã†ã“ã¨ã¯ã§ããžã›ã‚“ã€‚ ããŽãŸã‚ã€ã‚ˇã‚šãƒ†ãƒ ã¯ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚’åĢむ非常ãĢ重いです。

į§ãŸãĄã¯ä¸­čĻæ¨ĄãŽäŧšį¤žã§ã™ã€‚ 数はそれãģお多くありぞせん。2300äēēぎãƒĻãƒŧã‚ļãƒŧがã‚ĩイトãĢログã‚Ēãƒŗã—ãĻいぞすīŧˆå‰˛åŧ•ã¨æĄäģļを備えたパãƒŧトナãƒŧīŧ‰ãŒã€ã“れらは「ヘビãƒŧãƒĻãƒŧã‚ļãƒŧ」です。つぞり、倉åēĢãžãŸã¯č˛Ąå‹™ãŽåž“æĨ­å“Ąã¨åŒã˜č˛ čˇã‚’äŊœæˆã—ぞす。 į§ãŸãĄã¯é•ˇã„é–“ã‚¤ãƒŗã‚ŋãƒŧネットãĢčŗ­ã‘ãĻきぞした。 æŗ¨æ–‡ãŽ97〜98īŧ…は ã‚ĒãƒŗãƒŠã‚¤ãƒŗã§čĄŒã‚ã‚Œã€æŗ¨æ–‡ãŽ60īŧ…はå–ļæĨ­å“ĄãŽæ‰‹ãĢč§ĻれることãĒく、č‡Ēå‹•įš„ãĢ倉åēĢãĢčĄŒããžã™ã€‚

č‡Ēåˆ†ã§ã‚ˇã‚šãƒ†ãƒ ã‚’æ§‹į¯‰ã™ã‚‹ã¨ã„ã†ã‚ĸイデã‚ĸをおぎようãĢしãĻ思いついたぎですかīŧŸ

2000åš´äģŖãŽåˆã‚ã€į§ãŸãĄãŒã“ã‚Œã‚’čĄŒãŖãĻいたとき、「éĢ˜č˛ čˇã€ã¨ã„ã†č¨€č‘‰ã¯čžã“ãˆãšã€ã‚ĸヤック゚さえありぞせんでした。 全äŊ“としãĻ、Internet Explorer 5.5が少しありぞした。 äŧšį¤žãŽįĩŒå–ļé™Ŗã¯ã€æœĒæĨã¯ã‚¤ãƒŗã‚ŋãƒŧネットãĢあり、é›ģčŠąã§æŗ¨æ–‡ã™ã‚‹ãŽã¯æ‚Ēい 、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’ãƒ‘ãƒŧトナãƒŧãĢ配布する、ぞたはã‚Ļェブã‚ĩã‚¤ãƒˆã‚’æŒãŖãĻいるīŧˆãã—ãĻã‚Ļェブã‚ĩã‚¤ãƒˆã‚’æŒãŖãĻいるīŧ‰ãŽã§ã¯ãĒいかとåŧˇãæ„Ÿã˜ãĻいぞした。 į§ãŸãĄãŽã‚ĩイトīŧˆãƒ‰ãƒĄã‚¤ãƒŗīŧ‰ã¯1998嚴ぎようãĢ、Dellぎ5嚴垌ãĢį™ģéŒ˛ã•ã‚Œãžã—ãŸã€‚ そしãĻį§ãŸãĄã¯å‘¨ã‚Šã‚’čĻ‹å›žã—ãŸã€‚

2000åš´äģŖåˆé ­ãĢは、毎嚴、ERPã‚ˇã‚šãƒ†ãƒ ãŽåĸ“地ãĢ新しいåĸ“åœ°ãŽã‚ã‚‹æ–°ã—ã„æŸąãŒã„ãã¤ã‹į™ģ場しぞした。 そしãĻ、「čŗŧå…Ĩするもぎ」、「将æĨãŽã‚ˇã‚šãƒ†ãƒ ã‚’æ§‹į¯‰ã™ã‚‹ã‚‚ãŽã€ãĢé–ĸする選択は非常ãĢå›°é›Ŗã§ã—ãŸã€‚ ã¤ãžã‚Šã€ãƒ™ãƒŗãƒ€ãƒŧロックを恐れãĻいぞしたが、一斚で、これらぎERPã‚ˇã‚šãƒ†ãƒ ãŽãƒ­ãƒŧãƒ‰ãƒžãƒƒãƒ—ã‚’į†č§Ŗã—ãĻいぞせんでした。 さらãĢ、ERPã‚ˇã‚šãƒ†ãƒ ãĢはかãĒã‚ŠåŽŗã—ã„ãƒŠã‚¤ã‚ģãƒŗã‚šåˆļ限がありぞすが、それらは䞝į„ļとしãĻ存在しぞす。 あãĒたが思うãĒら、ãĒぜ1Cを取り、BitrixをそれãĢねじčžŧã‚“ã§ã€åŠ›ã¨ãƒĄã‚¤ãƒŗã¨å–åŧ•しぞすかīŧŸ 1CãĢは、Web APIãŽãƒ—ãƒ­ã‚­ã‚ˇã‚’č¨ąå¯ã—ãĒい明įĸēãĢ構造化されたåˆļ限がぞだありぞす。 äŊ•ã‚‰ã‹ãŽį¨ŽéĄžãŽXML APIがありぞす。つぞり、1CãƒĄã‚ŊッドをプãƒĢできぞす。 ãŸã ã—ã€ã“ãŽæ–šæŗ•ã§į†čĢ–įš„ãĢäŊŋį”¨ã§ãã‚‹ã™ãšãĻぎæŽĨįļšãĢはナイã‚ģãƒŗã‚šãŒåŋ…čĻã§ã™ã€‚ つぞり、1Cで動äŊœã™ã‚‹ã‚ĩãƒŧビ゚をãƒĒã‚ĸãƒĢã‚ŋイムでã‚ĩイトãĢ投į¨ŋする場合、すずãĻぎナイã‚ģãƒŗã‚šã‚’čŗŧå…Ĩするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ 1万äēēぎãƒĻãƒŧã‚ļãƒŧがいる場合、1万ぎナイã‚ģãƒŗã‚šãŒãžã å­˜åœ¨ã™ã‚‹å ´åˆã¯čŗŧå…Ĩするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚

åˆĨぎã‚ĸプロãƒŧチがありぞす。 これぱã‚ŋãƒŗãƒ‰ã‚ĸãƒ­ãƒŗãŽERPã‚ˇã‚šãƒ†ãƒ ã¨ã‚šã‚ŋãƒŗãƒ‰ã‚ĸãƒ­ãƒŗãŽã‚ĩイトであり、それらぎ間ãĢはäŊ•らかぎä礿›ãŒã‚りぞす。 ã—ã‹ã—ã€į§ãŸãĄã¯é›Ŗã—ã„ãƒ“ã‚¸ãƒã‚šč˛ŠåŖ˛ãƒ—ãƒ­ã‚ģã‚šãŒã‚ã‚‹ã¨č¨€ã„ãžã—ãŸã€‚æŗ¨æ–‡ãŽã‚ŗã‚šãƒˆã‚’č¨ˆįŽ—ã™ã‚‹ãŸã‚ãĢ、おそらく12個半か2個ぎテãƒŧブãƒĢを尋ねぞす。 これらは、ボãƒĒãƒĨãƒŧãƒ ãƒ‡ã‚Ŗã‚šã‚Ģã‚Ļãƒŗãƒˆã€ãƒ’ã‚šãƒˆãƒĒã‚ĢãƒĢãƒ‡ã‚Ŗã‚šã‚Ģã‚Ļãƒŗãƒˆã€ãƒ‡ã‚Ŗã‚šã‚Ģã‚ĻãƒŗãƒˆãƒĒã‚šãƒˆã€į‰šåŽšãŽã‚¯ãƒŠã‚¤ã‚ĸãƒŗãƒˆãŽåĨ‘į´„ã€åĨ‘į´„æĄé …ã€é€šč˛¨ã§ã‚ã‚Šã€ãƒ¨ãƒŧロッパぎãƒĒ゚トでもäŊ•ã‚‰ã‹ãŽäžĄæ ŧãƒĒã‚šãƒˆãŒæŽĄį”¨ã•ã‚ŒãĻいぞす。 こぎã‚ĸãƒĢゴãƒĒã‚ēãƒ ã‚’æ›¸ãã“ã¨ã¯ã€ã‚ã‚‹æ„å‘ŗã§č‹Ļį—›ã§ã™ã€‚ ぞた、ERPã‚ˇã‚šãƒ†ãƒ ã§ã“ãŽã‚ĸãƒĢゴãƒĒã‚ēãƒ ã‚’č¨˜čŋ°ã™ã‚‹åŋ…čĻãŒã‚ã‚‹å ´åˆã¯ãŠã†ã§ã—ã‚‡ã†ã‹īŧŸ 一äēēが書いた。 それからおういうわけか、PHPプログナマãƒŧãĢčĄŒãã€ã“ã“ãĢはXMLã§č¤‡čŖŊされた25個ぎテãƒŧブãƒĢがあり、こぎã‚ĸãƒĢゴãƒĒã‚ēãƒ ã‚‚įš°ã‚Ščŋ”ã™ã¨č¨€ã„ãžã™ã€‚ ã‚‚ãĄã‚ã‚“ã€åŊŧã¯įš°ã‚Ščŋ”しぞすが、最初ぎã‚ĸãƒĢゴãƒĒã‚ēムではエナãƒŧがį™ēį”Ÿã™ã‚‹å¯čƒŊ性があり、2į•Ēį›ŽãŽã‚ĸãƒĢゴãƒĒã‚ēムではすずãĻãŒé–“é•ãŖãĻいることがわかりぞす。 つぞり、同じジョブを2å›žåŽŸčĄŒã—ãžã™ã€‚

そぎため、 ã‚ĩイト中åŋƒãŽERPã‚’æ§‹į¯‰ã™ã‚‹ã“ã¨ãĢしぞした。つぞり、すずãĻぎデãƒŧã‚ŋ、すずãĻãŽãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ã€ãŠã‚ˆãŗãƒŠãƒƒãƒ—ã•ã‚ŒãŸã™ãšãĻを所有する1ã¤ãŽã‚ŗã‚ĸが単ãĒã‚‹ã‚¤ãƒŗã‚ŋãƒŧフェイ゚ãĢãĒりぞす。 åŊŧらはすでãĢいくらかぎįŸĨæ€§ã‚’æŒãŖãĻいぞすが、ビジネ゚ブロックは原際ãĢはåĢぞれãĻいぞせん。 į´„2時間前ãĢ、CMSã‚ˇã‚šãƒ†ãƒ ã¨Bitrix、市場で尊æ•ŦされるパãƒŧトナãƒŧとįĢļ合äģ–į¤žã‚’čĻŗå¯Ÿã™ã‚‹æ–šæŗ•ãĢついãĻč­°čĢ–ã—ãžã—ãŸã€‚æœ€čŋ‘、äŧæĨ­ãŽ1つが1CぎæŦĄãŽãƒãƒŧã‚¸ãƒ§ãƒŗãĢ切りæ›ŋえぞした。 åŊŧらは、「最大ぎ1CパãƒŧトナãƒŧはäŊ•ã‚‰ã‹ãŽé‡‘ã§ã‚ã‚Šã€į§ãŸãĄãŽãƒ—ãƒ­ã‚°ãƒŠãƒžãƒŧチãƒŧムは1嚴間働いãĻåŽŸčŖ…ã—ãŸã€ã¨å ąå‘Šã—ã€6か月間すずãĻぎ抟čƒŊã‚’å¤ąãŖãŸã“ã¨ãŒã‚ã‹ã‚Šãžã—ãŸã€‚ ãĒんでīŧŸ åŊŧらは古いã‚ĩイトを捨ãĻ、新しいã‚ĩイトをäŊœã‚‰ãĒければãĒらãĒいからです。 ã—ãŸãŒãŖãĻ、äēˆį´„はé›ģčŠąã§čĄŒã‚ã‚Œãžã™ã€‚ さãĻ、最垌ぎčĻå› ã¯ã€ã‚ĩイト中åŋƒæ€§ãĢ加えãĻ、「ボック゚」へぎ恐怖がįĩĩが描くもぎです。 これができるとäŋĄã˜ãĻいぞした。



一čˆŦãĢ、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã§ãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ã‚’åŽŸčĄŒã™ã‚‹ã“ã¨ã¯č‰¯ããĒã„ã¨č€ƒãˆã‚‰ã‚ŒãĻいぞす 。 į§ã‚‚æĨãšã‹ã—ãŒã‚Šåą‹ã§ã—ãŸã€‚ į§ãŸãĄã¯ã“ã‚Œã‚’äŊ•åš´ã‚‚įļšã‘ãĻきぞしたが、Romanã¯į§ãĢč¨€ãŖãŸã‚ˆã†ãĢ思われ、あるæŽĩ階で原際ãĢã¯į§ãŸãĄãŽã‚ˆã†ãĒäēēがたくさんいることが判明しぞした。 į§ã ã‘ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚

įĨžčŠąã¯äŊ•ですかīŧŸ

į•°ãĒるデãƒŧã‚ŋベãƒŧ゚間ぎį§ģæ¤æ€§ã¯å¤ąã‚ã‚Œãžã™ã€‚ はい、ありぞす。 įļ­æŒã™ã‚‹ãŽã¯é›Ŗã—いです はい、Eclipseぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã¯ã€ãŠã†ã„ã†ã‚ã‘ã‹ã€ãã†ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ åą•é–‹æ–šæŗ• ぞあ チãƒŧムで開į™ēã‚’čĄŒã†ã“ã¨ã¯å›°é›Ŗã§ã™ã€‚ įĸēかãĢ、pl / sqlãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã€fig-figã€ãŠã‚ˆãŗäģ–ぎčĒ°ã‹ãŒæ—ĸãĢãã“ã§ã‚ŗãƒŗãƒ‘ã‚¤ãƒĢしãĻいぞす。 ᐆãĢかãĒãŖãĻいるようです。 最垌ãĢ、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽäŊœæˆã‚’é–‹å§‹ã—ãŸå ´åˆã€ã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã¯ã‚ã‚Šãžã›ã‚“ã€‚äŊ•らかぎ合成キãƒŧをäŊŋį”¨ã—ãĻåˆ†æ•Ŗæ§‹æˆã‚’ãŠãŽã‚ˆã†ãĢčĄŒã„ãžã™ã‹īŧŸ ãã‚Œã‚‚į†ãĢかãĒãŖãĻいるようです。

ã—ã‹ã—ã€ã“ã‚Œã¯æŠ€čĄ“įš„ãĢį•°č­°ã‚’å”ąãˆã‚‹ãŽãŒé›Ŗã—ã„ã§ã™ã€‚ å­ãŠã‚‚ãŸãĄãŽčŗĒ問ãĢį­”ãˆãžã—ã‚‡ã†ã€‚ 「デãƒŧã‚ŋベãƒŧ゚間ぎį§ģ植性、そしãĻčĒ°ãŒãã‚Œã‚’åŋ…čĻã¨ã—ãžã™ã‹īŧŸã€ããŽã‚ˆã†ãĒå¯žčŠąã‚’æƒŗåƒã—ãĻください。 クナイã‚ĸãƒŗãƒˆīŧšã€Œæ•™ãˆãĻください、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’åˆĨぎデãƒŧã‚ŋベãƒŧ゚ãĢčģĸ送できぞすかīŧŸã€ã¯ã„、少ãĒくとも毎æ—Ĩ、Microsoft-Oracle、Microsoft-Oracle。 そしãĻčĒ°ãŒãã‚Œã‚’åŋ…čĻã¨ã—ãžã™ã‹īŧŸ



デãƒŧã‚ŋベãƒŧ゚間ぎį§ģ植性は、čŖŊå“ã‚’č˛ŠåŖ˛ã™ã‚‹č˛ŠåŖ˛č€…ãĢã¨ãŖãĻプナ゚ぎ抟čƒŊです。 しかし、こぎčŖŊå“ã‚’å—ã‘å–ãŖãĻäŊŋį”¨ã™ã‚‹ã¨ããĢは、それãģお重čĻã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚

æŦĄãŽãƒã‚¤ãƒŗãƒˆīŧšãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šãŒé›Ŗã—い。 はい、全å›ŊãĢ100ãŽã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢがある場合、ボック゚化されたčŖŊ品をįļ­æŒã™ã‚‹ã“ã¨ã¯å›°é›Ŗã§ã™ã€‚ãã‚Œãžã‚ŒãĢ個åˆĨぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŒã‚ã‚Šãžã™ã€‚ įǁį„ļã€éŠãŗåŋƒãŽã‚ã‚‹ãƒšãƒŗã‚’æŒãŖãŸã‚¯ãƒŠã‚¤ã‚ĸãƒŗãƒˆãŒäŊ•ã‹ã‚’ã‚ŗãƒŗãƒ‘ã‚¤ãƒĢし、すぐãĢãĒんとãĒくįĨžįĩŒčŗĒãĢãĒã‚Šã€åą•é–‹æ–šæŗ•ã€ãƒ­ãƒŧãƒĢæ–šæŗ•ã‚’æ•™ãˆãĻくれぞすかīŧŸ ãĒんとãĒãé›Ŗã—ã„ã€‚

įš°ã‚Ščŋ”しぞすが、こぎčŖŊ品ぎæļˆč˛ģč€…ã§ã‚ã‚‹å ´åˆã¯ã€č‡Ē分でäŊœæˆã—ãĻäŊŋį”¨ã—ã€ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢ数が1万個ではãĒã„å ´åˆã€ã“ã‚Œã¯å•éĄŒã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ 大čĻæ¨ĄãĒチãƒŧムでボック゚を運čģĸã™ã‚‹ãŽã¯é›Ŗã—ã„ã§ã™ã‹īŧŸ į§ãŸãĄã¯ä¸­å°äŧæĨ­ã§ã‚り、HighLodではãĒく、YandexではãĒく、Googleã§ã‚‚ã‚ã‚Šãžã›ã‚“ã€‚į§ãŸãĄã¯æ™Žé€šãŽį´į¨Žč€…ã§ã™ã€‚ AvitoがéĢ˜č˛ čˇã§æĩŽä¸Šã—ãĻã„ã‚‹ã¨ãã€į§ã¯Yandex、Mail.RUをįŸĨã‚Šãžã›ã‚“ã€‚ããŽåžŒã€į§ãŸãĄã¯é€šå¸¸ãŽį´į¨Žč€…ã§ã‚ã‚Šã€1Cã§ã˛ã–ãžã§įĢ‹ãŖãĻいぞす。 大きãĒチãƒŧムãĢはお金がありぞせん。そぎようãĒč§’ãŽã‚ã‚‹ãƒ—ãƒ­ã‚°ãƒŠãƒžãƒŧãĢはお金がありぞせん。 į§ãŸãĄãŽãƒãƒŧムは小さいです。 æ™‚é–“ãŒæŽ‹ãŖãĻいãĻéĸį™Ŋい場合は、原際ãĢおぎようãĢč¨­č¨ˆãŠã‚ˆãŗåŽŸčŖ…ã—ãŸã‹ã‚’čĒŦ明しぞす。

しかし、ãƒŦã‚Ŧã‚ˇãƒŧã‚ŗãƒŧドã‚ĩポãƒŧトを開始するぞでãĢã€å¤ã„ã‚ˇã‚šãƒ†ãƒ ã€ãžã•ãĢ1CãĒãŠã€ãŠã‚ˆãŗ2.5äēēãŒã‚ˇã‚šãƒ†ãƒ ãŽäŊœæˆã€æ›´æ–°ã€ãŠã‚ˆãŗį§ģčĄŒã‚’čĄŒãŖãĻいぞした。2äēēぎæœŦį‰ŠãŽãƒ—ãƒ­ã‚°ãƒŠãƒžã¨į§ã§ã™ã€‚ つぞり、大きãĒチãƒŧムãĢé–ĸするもぎではありぞせん。

į§ãŸãĄã¯äŊ•を掋しぞしたかīŧŸ

įĨžčŠąã¯æŽ‹ãŖãĻいぞす īŧš ã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã€åˆ†æ•Ŗæ§‹æˆ 。 ã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ãĢ寞しãĻã€č­°čĢ–ã™ã‚‹ãŽã¯éžå¸¸ãĢį°Ąå˜ã§ã™ã€‚įš†ã•ã‚“ã€SkypeãĢついãĻčĒ­ã‚“ã ã“ã¨ãŒã‚ã‚Šãžã™ã‹īŧŸ ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã€ pgbouncer 、 pl / proxyãĒおãĢすずãĻがありぞす。 デãƒŧã‚ŋベãƒŧ゚でã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŒãã‚Œč‡ĒäŊ“ãĢį›´æŽĨį™ģることができãĒい場合は、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’ãƒ‡ãƒŧã‚ŋベãƒŧ゚ãĢプãƒĢすることしかできず、内部ではã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’ã ãžã™ã“ã¨ãŒã§ããžã™ã€‚ つぞり、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãĒãŠã§ã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã‚’čĄŒã†ãŸã‚ãĢ、これは可čƒŊãĒことではãĒく、ãƒĒクエ゚トでåŋ…čρãĒ場合ãĢもåŋ…čĻã§ã™ã€‚ pl / proxy 、 dblink 、 foreign data wrapperがありぞすが 、これらは存在しぞせん。 すぐãĢã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã‚’čĄŒã†åŋ…čĻãŒã‚ã‚Šãžã™ã‹īŧŸ これは昨æ—ĨぎãƒŦポãƒŧトですでãĢč­°čĢ–ã•ã‚Œãžã—ãŸã€‚ 一čˆŦãĢã€įžåœ¨ã€ä¸­čĻæ¨ĄãŽãƒ“ã‚¸ãƒã‚šã§ã¯ã€YandexではãĒくMail.ruでãĒい場合、これはそれãģお重čĻã§ã¯ãĒいかもしれぞせん。

ãĒぜPostgreSQLãĒぎかīŧŸ

ぞず、 æˆį†Ÿã—ãŸpl / pgsql 。 åŊŧは98åš´į›Žã€ã•ã‚‰ãĢは97åš´į›ŽãĢもį™ģ場しぞした。 åŽŗæ ŧさ、抟čƒŊ性、å­ĻčĄ“įš„ã‚ĸプロãƒŧチ。 PostgresぎドキãƒĨãƒĄãƒŗãƒˆã‚’čĻ‹ã‚‹ã¨ã€č‰¯ã„ãƒãƒĨãƒŧトãƒĒã‚ĸãƒĢぎようãĢ書かれãĻいぞす。 つぞり、ドキãƒĨãƒĄãƒŗãƒˆã‚’čĒ­ã‚€åŋ…čĻãŒã‚ã‚‹ã‚ˇã‚šãƒ†ãƒ įŽĄį†č€…ã‚’å—ã‘å…Ĩれるとき、FreeBSDぎマニãƒĨã‚ĸãƒĢとã‚ĩイトぎドキãƒĨãƒĄãƒŗãƒˆã‚’äŊŋį”¨ã—ãĻãƒ†ã‚šãƒˆã—ãžã™ã€‚ã¤ãžã‚Šã€č‰¯ã„č‹ąčĒžãŒã‚ã‚Šã€ã™ãšãĻが明įĸēで1か所ãĢありぞす。 ã‚Ēãƒŧãƒ—ãƒŗã‚Ŋãƒŧã‚šã¨į„Ąæ–™ãƒŠã‚¤ã‚ģãƒŗã‚š -ã“ã“ã§č¨€ã†ã“ã¨ã¯ã‚ã‚Šãžã›ã‚“ã€‚ã•ãžã–ãžãĒãƒĒ゚クがčģŊ減されぞす。 2005åš´ãĢ1C 7を導å…Ĩした場合、多くぎč‹Ļį—›ã‚’įĩŒé¨“ã—ã€ã„ãã¤ã‹ãŽæƒ…å ąã‚ˇã‚šãƒ†ãƒ ã‚’å¤‰æ›´ã—ãĻいぞした。 デãƒŧã‚ŋベãƒŧ゚ぎ変更は、それとはäŊ•ぎé–ĸäŋ‚もありぞせん。

そしãĻ、98åš´į›ŽãŽãŠã“ã‹ã§ã“ãŽã‚ˆã†ãĒéĸį™ŊいWebã‚ĩイトができぞした。98åš´į›ŽãĢはPostgreSQLをįĢ‹ãĄä¸Šã’ãĻäŊœæĨ­ã—ぞした。 į§ã¯ãã“ãĢいãĒã‹ãŖãŸãŽã§ã€1嚴半で参加しぞした。 į§ãŽæ„čĻ‹ã§ã¯ã€ãƒĒãƒĒãƒŧ゚6.4でした。 さらãĢ、明įĸēãĒ開į™ē計į”ģ。 į§ãŸãĄã¯ãžã ã€å…Ŧ開されたã‚Ļェブã‚ĩイトぎãŋã‚’č¨ˆį”ģしãĻおり、パãƒŧトナãƒŧãĢ閉鎖されãĻいるぎではãĒく、čĒ°ã‚‚ãŒæĨればčĒ°ã§ã‚‚į™ģéŒ˛ã§ããžã™ã€‚ 1嚴半から2嚴がT-SearchãĢãĒることはすでãĢã‚ã‹ãŖãĻいぞした。 チãƒŧムãĢã¯ã€į›¸äē’äŊœį”¨ãŽãŸã‚ãŽã‚Ēãƒŧãƒ—ãƒŗãĒ開į™ēč€…ã€å„Ēã‚ŒãŸã‚ŗãƒŸãƒĨãƒ‹ãƒ†ã‚ŖãŒã‚ã‚Šã€ã—ã°ã‚‰ãã™ã‚‹ã¨äŊ•がčĩˇã“ã‚‹ã‹ã‚’į†č§Ŗã—ã€įžåŽŸįš„ãĒ計į”ģをįĢ‹ãĻることができぞす。 そしãĻã€ãã‚Œã‚‰ã¯åŽŸįžã—ãžã™ã€‚



゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽæ‚Ēい éĸã¨č‰¯ã„éĸ 。 あãĒãŸã¯åˇ¨å¤§ãĒITäŧæĨ­ã§ã¯ãĒãã€ãƒœãƒƒã‚¯ã‚šã‚ˇã‚šãƒ†ãƒ ã§ã¯æē€čļŗã§ããĒいビジネ゚であり、į‹Ŧč‡Ēぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧがåŋ…čĻã ã¨æƒŗåƒã—ãĻください。 å¤å…¸įš„ãĒ道をたおれば、Java、CでこぎようãĒもぎを書くことができぞすが、プログナマãƒŧãĢå¯žã™ã‚‹ã‚¤ãƒŗã‚ģãƒŗãƒ†ã‚Ŗãƒ–ã¯éžå¸¸ãĢéĢ˜ããĒければãĒりぞせん。 そしãĻ、すずãĻãŽį—›ãŋはこれらぎプログナマãƒŧãĢありぞす。 ãƒĄãƒĸãƒĒぎ分配、åŋ…į„ļįš„ãĢį™ēį”Ÿã™ã‚‹ãƒĒãƒŧクãĢついãĻč€ƒãˆã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚äŊ•ã‚‰ã‹ãŽį¨ŽéĄžãŽã‚šã‚¯ãƒĒãƒ—ãƒˆč¨€čĒžãŒåŋ…čĻã§ã™ã€‚ãŠé‡‘ã€å–åŧ•、applikuhaをį¨ŧぐビジネ゚ãĢ1æ—ĨãĢ3å›žã€Œåą•é–‹ã€ã§ããĒいためです。 ビジネ゚は外å‡ē先で順åŋœã™ã‚‹åŋ…čĻãŒã‚ã‚Šã€åœæ­ĸすることはできぞせん。 ぞた、゚クãƒĒãƒ—ãƒˆč¨€čĒžã‚’äŊŋį”¨ã™ã‚‹ã¨ã€å¤–å‡ē先でビジネ゚ãƒĢãƒŧãƒĢを変更できぞす。 äŊ•ã‚‰ã‹ãŽãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĒãƒŗã‚°ã‚‚åŋ…čĻã§ã™ã€‚ 一čˆŦįš„ãĢ、それãģãŠå˜į´”ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ それで、sgresはそれをすずãĻč‡Ē分č‡ĒčēĢãĢ取りぞす。

ãƒĄãƒĸãƒĒãƒĒãƒŧクãĢついãĻã¯ãžãŖãŸãč€ƒãˆãĻã„ãžã›ã‚“ã€‚å•éĄŒã¯ã‚ã‚Šãžã›ã‚“ã§ã—ãŸã€‚ į§ãŸãĄã¯æ•°ãƒļ月間そこãĢã‚ĒãƒŗãƒŠã‚¤ãƒŗã§ã„ãžã™ã€‚ そしãĻ、それが非常ãĢį—›ãã€æ›´æ–°ã—ãŸã„å ´åˆã€æ›´æ–°ã•ã‚Œãžã™ãŒã€ãƒŠãƒŗã‚ŋã‚¤ãƒ ã¯ãžãŖãŸãåœæ­ĸしぞせん。 ãƒĄãƒĸãƒĒãƒĒãƒŧクはありぞせん。 これらは非常ãĢå„Ēį§€ãĒプログナマãƒŧãŒį§ãŸãĄãŽãŸã‚ãĢč§Ŗæąēしたもぎです。 į§ãŸãĄã¯ã€é€šå¸¸ãŽå–åŧ•ビジネ゚としãĻ手čŋ‘ãĢありぞす。 ゚クãƒĒãƒ—ãƒˆč¨€čĒžã¯pl / pgsqlであり、それをäŊŋį”¨ã—ãĻäŊŋį”¨ã—ãžã™ã€‚ 樊刊と゚ã‚ŋãƒƒãƒ•ãŽãƒã‚§ãƒƒã‚¯ã€ãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĒãƒŗã‚°-čŠŗį´°ã¯åžŒãģお。 ã—ã‹ã—ã€å•éĄŒã‚‚č§ŖæąēされãĻいぞす。

つぞり、ダミãƒŧį”¨ãŽã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧを取垗しぞす。これãĢはåˆļ限がありぞせん。つぞり、手をつãĒぐORMぎようãĒもぎはありぞせん。 ã‚ã‚‹į¨‹åēĻぞで。 ã‚ˇãƒŗãƒ—ãƒĢãĒ言čĒžã€ã‚¨ãƒŗãƒˆãƒĒぎäŊŽã—きい値。 ãƒ—ãƒ­ãƒ€ã‚¯ã‚ˇãƒ§ãƒŗã‚’ä¸Žãˆã‚‰ã‚ŒãĒã‹ãŖãŸãŒã€ãŠãŽã‚ˆã†ãĢäŊ•を書くかをį¤ēしたが、åŊŧがãƒĒãƒŦãƒŧã‚ˇãƒ§ãƒŠãƒĢæ€č€ƒã‚’æŒãŖãĻã„ã‚‹å ´åˆã€ãã‚Œã¯é”æˆã•ã‚Œã‚‹ã€į§ãŽæ„čĻ‹ã§ã¯ã€ã‚Ēãƒ–ã‚¸ã‚§ã‚¯ãƒˆæ€č€ƒã‚ˆã‚Šã‚‚å°‘ã—æ—Šãã€åŊŧはすでãĢãƒ—ãƒ­ãƒ€ã‚¯ã‚ˇãƒ§ãƒŗãĢå…Ĩã‚Œã‚‹ã“ã¨ãŒã§ãã‚‹é€šå¸¸ãŽã‚ŗãƒŧドをすでãĢį”Ÿæˆã§ããĻいるčĻ‹ãĻ。 į§ã¯åŽŸéš›ãĢ20嚴垌ãĢé€€čˇã—ã€pl / pgsqlã‚ŗãƒŧãƒ‰ã‚’į†č§Ŗã—ã€č‡Ē分č‡ĒčēĢを少ãĒく書くčƒŊ力をäŋæŒã—ãĻã„ãžã™ãŒã€ã‚ŗãƒŧドを最遊化できぞす。 つぞり、こぎįŸĨč­˜ã¯é•ˇæœŸé–“äŋå­˜ã•れぞす。

ã‚ģキãƒĨãƒĒãƒ†ã‚Ŗã¯ã€2000åš´äģŖåˆæœŸãĢį§ãŸãĄãŒč€ƒãˆãĻいたもぎです。゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’äģ‹ã—たSQLã‚¤ãƒŗã‚¸ã‚§ã‚¯ã‚ˇãƒ§ãƒŗã‚’čŠ°ã‚čžŧむぎは非常ãĢå›°é›Ŗã§ã™ã€‚æœŦåŊ“ãĢčļŗã‚’踏ãŋå…Ĩれるåŋ…čĻãŒã‚ã‚Šã€ã†ãžãį‹™ã†åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ ãĒぜそれが重čĻã ãŖãŸãŽã§ã™ã‹īŧŸ čĒ°ã‚‚ãŒCMSã‚ˇã‚šãƒ†ãƒ ã‚’äŊœæˆã—、1į§’ã”ã¨ãĢįŠ´ãŒã„ãŖãąã„ãĢãĒりぞした。 2001嚴から2002åš´ãĢかけãĻ、CMSぎ束と10分ぎ15〜20īŧ…ぎã‚ĩイトで、äŊ•ã‚‰ã‹ãŽã‚¤ãƒŗã‚¸ã‚§ã‚¯ã‚ˇãƒ§ãƒŗã‚’æŽ˜ã‚Ščĩˇã“すことができたようです。

゚ナイドぎæŦĄãŽãƒã‚¤ãƒŗãƒˆã¯éžå¸¸ãĢį‰Šč­°ã‚’é†¸ã™-ã“ã‚Œã¯ã‚¤ãƒŗã‚ŋãƒŧフェイ゚からぎ分é›ĸです。 æ•°å›žã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã€ä¸€éƒ¨ãŽå†…éƒ¨é–‹į™ēã€ãžãŸã¯ã‚¨ãƒŗãƒ‰ã‚Ģ゚ã‚ŋマãƒŧがã‚ĸクã‚ģ゚できãĒいã‚ĩイトを、パãƒŧトナãƒŧぎãŋぎためãĢå…Ŧ開しぞした。 ã‚ŗãƒŧドはあぞりãĒく、すぐãĢåˆĨぎテクノロジãƒŧãĢį§ģæ¤ã•ã‚Œã€ãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ã‚’ãžãŖãŸãå¤ąã†ã“ã¨ã¯ã‚ã‚Šãžã›ã‚“ã§ã—ãŸã€‚ ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚からぎ分é›ĸは、おこか善であり、おこかæ‚Ēである。 そしãĻ、ビジネ゚ロジックがパフりãƒŧãƒžãƒŗã‚šã¨ã¯é–ĸäŋ‚ãĒã„å ´åˆã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã§ãƒ†ã‚¯ãƒŽãƒ­ã‚¸ã‚’å¤‰æ›´ã§ããžã™ã€‚

2000åš´äģŖåˆæœŸãĢæˆģりぞしょう。 ãã“ã§å¤‰æ›´ã•ã‚ŒãŸã‚¤ãƒŗã‚ŋãƒŧフェイ゚テクノロジãƒŧぎ数はīŧŸ ã‚¤ãƒŗã‚ŋãƒŧãƒãƒƒãƒˆã‚¤ãƒŗãƒ•ã‚ŠãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧ上ぎVisual Basicでプログナムするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ čĒ°ã‹ãŒįœŸį ã€PHP、RubyをčĻ‹ãĻ、これらすずãĻãŽč¨€č‘‰ã‹ã‚‰ãŠã“ãĢã‚‚čĄŒã‹ãĒい。 ã‚¤ãƒŗã‚ŋãƒŧフェイ゚テクノロジãƒŧは非常ãĢæ€Ĩ速ãĢ変化し、SQLã¯ãžã į”ŸããĻいぞす。 į§ãŸãĄãŽã‚ˇã‚šãƒ†ãƒ ã§æœ€ã‚‚å¤ã„é–ĸ数は、あãĒたがéēį‰ŠãĢčŋ‘ãĨくãĢつれãĻ1998åš´ãĢ書かれぞした。 įĸēかãĢ、先æ—ĨčĻ‹ãžã—ãŸãŒã€ã“ãŽã‚ŗãƒŧドは抟čƒŊしぞす。 つぞり、12嚴前ãĢį§ãŸãĄãŒæ›¸ã„ãŸã‚‚ãŽã¯ã€ãžã•ãĢããŽãƒŠãƒŗã‚ŋイムで動äŊœã—ぞす。いずれãĢせよ、だれもこぎã‚ĩãƒŧクãƒĢで「だれもPHPãĢいぞせんかīŧŸã€ SQLã¯é€šå¸¸ãŽč¨€čĒžã§ã™ãŒã€ãŠã“ã‹ã§åˆļ限されãĻいぞす。 ãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ãŽé•ˇå¯ŋå‘Ŋはäžŋ刊です。



æ‚Ēいéĸ

æ–­į†ąæ€§ãŒč‰¯ã„ 、はい。 åŸēæœŦįš„ãĢ、å„Ēれたã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧがあれば、ビジネ゚ロジックがあり、ACLã¯ã‚¤ãƒŗã‚ŋãƒŧフェイ゚と密æŽĨãĢé–ĸé€Ŗã—ãĻいぞす。 åž“æĨ­å“Ąå‘けぎ内部プログナムとWebã‚ĩイトという2ã¤ãŽã‚¤ãƒŗã‚ŋãƒŧフェイ゚がありぞす。 そしãĻã€ä¸Ąæ–šãŽã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¯éžå¸¸ãĢį•°ãĒãŖãĻいぞす。 こぎįŸĨč­˜ã¨ã‚šã‚­ãƒĢã‚’å…ąæœ‰ã™ã‚‹ã“ã¨ã¯ã€é•ˇå¯ŋå‘Ŋぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚ĩãƒŧバãƒŧをå…Ĩ手するãģãŠäžĄå€¤ãŒã‚ã‚Šãžã›ã‚“ã§ã—ãŸã€‚

įĩąåˆã•れた開į™ēツãƒŧãƒĢはありぞせん—はい、æœŦåŊ“です。 バãƒŧã‚¸ãƒ§ãƒŗįŽĄį†ã‚ˇã‚šãƒ†ãƒ ã¨ãŽæŽĨįļšãŒpgAdminãĢįĩąåˆã•れãĻいãĻã€ã‚ŗãƒŧドが少しåŧˇčĒŋされãĻいる場合、それはįŊŽãæ›ãˆã‚‰ã‚Œãžã—た...ã“ã“ã§ã€ãžã į—›ãŋがありぞす。 į§ãŸãĄãŽä¸­ãĢはpgAdminで働いãĻいるäēēもいれば、č‡Ē動įŊŽæ›ãŽãŸã‚ãĢems-sqlがåĨŊきãĒäēēもいぞすが、やるずきことがありぞす。

æŦĄãŽįžŦ間。 ã‚­ãƒŖãƒƒã‚ˇãƒŗã‚°ãŽå•éĄŒã¯č§Ŗæąēせず、 ãƒĄãƒĸãƒĒãŽå‰˛ã‚ŠåŊ“ãĻãŽå•éĄŒã‚‚č§ŖæąēしãĒã„ã¨č¨€ã„ãžã—ãŸãŒã€ååˆ†ãĒã‚­ãƒŖãƒƒã‚ˇãƒŗã‚°ãŒãĒã„å ´åˆã¯é€˛æ­Šã—ãžã™ãŒã€æ–°ã—ã„æŠŊčąĄåŒ–ãƒŦイヤãƒŧがありぞす。 ã“ã‚Œã¯ã‚ãžã‚Šč‰¯ãã‚ã‚Šãžã›ã‚“ã€‚ ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚’æē€ãŸã™ã“とができãĒいビジネ゚ロジックを書いたプログナマãƒŧがいる場合、いくつかぎミドãƒĢã‚Ļェã‚ĸīŧˆãŠãã‚‰ããƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãƒ—ãƒ­ã‚°ãƒŠãƒžãƒŧがäŊ•らかぎJavaぞたはCã§č¨˜čŋ°ã—ぞすīŧ‰ãŒčĄ¨į¤ēされぞす。 これは原際ãĢã¯é›Ŗã—ã„å•éĄŒã§ã™ã€‚ ã‚­ãƒŖãƒƒã‚ˇãƒĨã¨ã‚­ãƒŖãƒƒã‚ˇãƒĨãŽį„ĄåŠšåŒ–ã¯2ã¤ãŽå•éĄŒãŽä¸­ã§æœ€ã‚‚é›Ŗã—ã„ãŸã‚ã€į†čĢ–įš„ãĢã¯æœ€ã‚‚å›°é›Ŗã§ã™ã€‚ čĒ°ã‚‚ãŒ2į•Ēį›ŽãŽã“ã¨ã‚’įŸĨãŖãĻいぞす-変数ãĢæ­Ŗã—ã„åå‰ã‚’äģ˜ã‘るため。

場合ãĢã‚ˆãŖãĻは、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’äŊœæˆã™ã‚‹ã¨ããĢ、時間通りãĢ停æ­ĸã™ã‚‹ãŽãŒé›Ŗã—ã„ã“ã¨ãŒã‚ã‚Šãžã™ã€‚ į§ãŸãĄãŽJavaプログナマãƒŧは、pl / perlとmimeで文字をäŊœæˆã—ãĻ送äŋĄã™ã‚‹ã‚šãƒˆã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’æ›¸ã„ãŸãŽã§ã€į§ã‚’æ•ãžãˆãžã—ãŸã€‚ これはもうしぞせん。



中čēĢはīŧŸ

これで9.4ができぞした。 開į™ēは7.4から始ぞりぞした。 7.4を手ãĢしたäēēはいぞしたかīŧŸ ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’äŊœæˆã—ぞしたかīŧŸ ã“ãŽį—›ãŋを感じたäēēもいぞす。 čĻ‹ãˆãĒã‹ãŖãŸäēēãĢã¨ãŖãĻは、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽæœŦ文は一重åŧ•ᔍįŦĻã§å›˛ãžã‚ŒãĻいぞした。 そしãĻ、構文はそこãĢæ­ŖįĸēãĢåŧˇčĒŋされãĻいぞせんでした、すずãĻが化č†ŋしたčŒļč‰˛ã§ã—ãŸã€‚ しかし、これãĢæąēåŋƒã—た勇æ•ĸãĒäēē々がいぞした。 į§ãŸãĄãŽãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ã¯3千ぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã§ã‚ã‚Š 、それãģãŠå¤§ããã¯ã‚ã‚Šãžã›ã‚“ã€‚ã‚ŗãƒŧãƒ‰ãŽé‡ã§č¨ˆįŽ—ã§ããžã™ã€‚ 最初ãĢå¤šããŽã‚ŗãƒŧドをäŊœæˆã—ãŸå ´åˆã€įžåœ¨ã¯éŽåŽģ5.5〜6嚴間でそれãģお多くãĒいことãĢæŗ¨æ„ã—ãĻください。 ã‚ŗãƒŧドはかãĒã‚Šãƒ‘ãƒ•ã‚Ŗãƒŧã§ã™ã€ã‚ŗãƒĄãƒŗãƒˆã€é–ĸ数ヘッダãƒŧがありぞす。 これはおそらく、AndreiãŒčŠąã—ãŸã‚ŗãƒŧドではありぞせん。プログナマが1æ—Ĩ80čĄŒã‚’å–åž—ã™ã‚‹ãŽã¯é›Ŗã—ã„ã“ã¨ã§ã™ã€‚ デãƒŧã‚ŋベãƒŧ゚は十分ãĢæ­ŖčĻåŒ–ã•ã‚ŒãĻおり、700ぎテãƒŧブãƒĢãŒã‚ã‚Šã€ãã‚Œã‚‰ãŽæ•°į™žã¯åˆ†æžã§ã‚ã‚Šã€čŋ‘い将æĨãĢそれをåŧ•きå‡ēしぞす。 ãŠãã‚‰ãå°‘ã—é€Ÿãæˆé•ˇã—ãĻいぞすが、ベãƒŧ゚はãģãŧ同じです。

įŸ­ã„å–åŧ•が大åĨŊきです。 įŸ­ã„ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã¯éĢ˜é€ŸãĒäŊœæĨ­ã‚’æ„å‘ŗã—ã€č†¨åŧĩã—ãŸã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãŽã€Œã‚Ēãƒŧバãƒŧヘッド」はãĒく、ロックを垅抟しぞす。 įŸ­ã„ãƒ“ã‚¸ãƒã‚šé–ĸæ•°ã‚’č¨˜čŋ°ã§ãã‚‹å ´åˆã€ãã‚Œã‚’įŸ­ãã—ãžã™ã€‚ constrates 、 外部キãƒŧãĒおが大åĨŊきです。 ãĒぜãĒら ã€č†¨å¤§ãĒ量ぎエナãƒŧがãĒくãĒるからです。 昨嚴、1つぎ抟čƒŊで「厚数」ぎ違反がį™ēį”Ÿã—ãžã—ãŸã€‚ã“ã‚Œã¯ã€ãģãŧ6嚴間抟čƒŊしãĻいぞした。 それãĢé–“é•ã„ãŒã‚ã‚Šãžã—ãŸãŒã€ãã‚Œã¯ã‚ãŖãŸãĢįžã‚Œãžã›ã‚“ã§ã—ãŸã€‚ äž‹ã‚’æŒ™ã’ã‚‹ãŽã¯é›Ŗã—ã„ã§ã™ã€‚ しかし、åē—ä¸ģがåˇĻ手で1įŽąã€åŗæ‰‹ã§ã‚‚ã†1įŽąã‚’å–ã‚Šå‡ēし、バãƒŧã‚ŗãƒŧãƒ‰ã‚šã‚­ãƒŖãƒŠãƒŧをéŧģでæŠŧしãĻそこãĢäŊ•かをį§ģ動すると、こぎエナãƒŧがį™ēį”Ÿã—ãžã™ã€‚ そしãĻåŊŧåĨŗã¯čĩˇããĒã‹ãŖãŸīŧ åˆļį´„ãŒæŠŸčƒŊã—ãŸãŸã‚ã€į§ãŸãĄã¯åŊŧåĨŗã‚’捕ぞえぞした。 一čˆŦįš„ãĢ、åˆļį´„ã¯éŠåˆ‡ã§ã‚ã‚Šã€čļŗå…ƒã§č‡Ē分を撃つことはできぞせん。

テãƒŧブãƒĢã¯æ­ŖčĻåŒ–ã•ã‚ŒãĻã„ã‚‹ã¨č¨€ã„ãžã™ãŒã€ éžæ­ŖčĻåŒ–ãŒå¤§åĨŊきです。 éžæ­ŖčĻåŒ–ã¯ä¸ģãĢã‚ĩイトでåŋ…čĻã§ã™ã€‚ さぞざぞãĒデãƒŧã‚ŋをかãĒりåēƒã„テãƒŧブãƒĢãĢčŠ°ã‚čžŧんでおり、ã‚ĩã‚¤ãƒˆãŽã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚は非常ãĢéĢ˜é€Ÿã§ã™ã€‚ ä¸Žãˆã‚‹ãŽã¯į°Ąå˜ã§ã€ã€Œįĩåˆã€ã¯ãģとんおありぞせん。

ORMã¨ã€Œã‚ŗãƒŧドジェネãƒŦãƒŧã‚ŋãƒŧ」はåĢŒã„ã§ã™ã€‚ORMč‡ĒäŊ“ぎイデã‚Ēロゎãƒŧã¯įŸ›į›žã—ãžã™ãŒã€č¸ãŋčžŧんだとき、ãĒãœį§ãŸãĄã‚’æˇˇäšąã•ã›ã‚‹ãŽã‹ã‚’čĒŦ明できぞす。



ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã¯tomcat + nginxで 、いくつかぎčŖŊå“ã‚’åŽŸčĄŒã—ãžã™ã€‚ ã‚ĩイトãĢ加えãĻã€ã‚¤ãƒŗãƒˆãƒŠãƒãƒƒãƒˆčŖŊ品īŧˆCMSとCRMã¯į•°ãĒりぞすīŧ‰ã€ãƒŦポãƒŧトīŧˆJasperぎ゚ã‚ŋãƒŗãƒ‰ã‚ĸãƒ­ãƒŗã‚ĩãƒŧバãƒŧīŧ‰ã‚‚ありぞす。 Borland C Builderで開始された内部ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŒã‚ã‚Šã€įžåœ¨ã¯Embercaderoですīŧˆãģとんお開į™ēされãĻおらず、そぎようãĒã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚はぞすぞす少ãĒくãĒãŖãĻいぞすīŧ‰ã€‚ これらはすずãĻpgbouncerをäģ‹ã—ãĻ抟čƒŊしぞすが 、これãĢは個åˆĨぎ感čŦãŽč¨€č‘‰ãŒã‚りぞす。 分析、SEO、å‘ŧãŗå‡ēã—ã‚’čĄŒã†ã‚ĸ゚ã‚ŋãƒĒ゚クãĒお、ぞだ多くぎことがありぞす。 ぞた、デãƒŧã‚ŋベãƒŧ゚ãĢįĩąåˆã•れãĻおり、同じビジネ゚ロジックをäŊŋį”¨ã—ãĻいぞす。



おうぞ 原際、1つぎ原į¨ŧ働ã‚ĩãƒŧバãƒŧがあり、2ã¤į›Žã¯ãƒŦプãƒĒã‚Ģã§ã‚ã‚Šã€ãƒ†ã‚šãƒˆį”¨ã¨åˆ†æžį”¨ãŽã‚Ēフロãƒŧドです。ã‚ĩãƒŧバãƒŧはごく晎通ぎもぎですが、ハãƒŧドã‚Ļェã‚ĸã‚’į¯€į´„ã—ãžã›ã‚“ã§ã—ãŸã€‚ã”čĻ§ãŽã¨ãŠã‚Šã€č˛ čˇã¯ãã‚Œãģお大きくありぞせん。LAは 3よりもéĢ˜ãã‚ã‚Šãžã›ã‚“ãŒã€įžåœ¨ã€å¤ã€å†ŦãĢæˇąåˆģãĢãĒる可čƒŊ性がありぞす。ãĒんでīŧŸå–åŧ•äŧšį¤žã§ã¯ã€ã‚Ŋãƒŧã‚ˇãƒŖãƒĢネットワãƒŧã‚¯ã¨ã¯į•°ãĒり、非常ãĢ小さãĒホットデãƒŧã‚ŋã‚ģット。 10万äēēãŽéĄ§åŽĸから20個ぎã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĒ商品、10万äēēãŽéĄ§åŽĸからぎã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĒ商品がありぞす。数字を明らかãĢすることができぞすīŧšã‚ˇãƒŧã‚ēãƒŗã‚ãŸã‚Š40åˆ†é–“ãŽį˛—åˆŠį›Šīŧˆį¨Žåŧ•å‰į´”åˆŠį›Šīŧ‰ãĢより、こぎようãĒã‚ĩãƒŧバãƒŧをčŗŧå…Ĩできぞす。そしãĻã€ã“ã‚Œã‚‚ãžãŸã€ã‚ˇãƒŖãƒŧãƒ‡ã‚Ŗãƒŗã‚°ãĢついãĻãŽč¨€č‘‰ãĢæˆģりぞす。

ã“ã‚Œã‚‰ãŽæ•°å€¤ã¯ã€ã‚ŗãƒŧドを控えめãĢ記čŋ°ã™ã‚‹å ´åˆã€ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã§ã€ŒSELECT *」ã‚ĩãƒŧバãƒŧã‚’æ¸›įŽ—ã—ãĒã„ã“ã¨ã‚’æ„å‘ŗã™ã‚‹ã¨č€ƒãˆãĻくださいJavaぎã‚ĩイクãƒĢで2つぎテãƒŧブãƒĢをįĩåˆã›ãšãĢ、非常ãĢ控えめãĒã‚ĸã‚¤ãƒ­ãƒŗã§å¯žåŋœã§ããžã™ã€‚そしãĻ、ã‚ĒフロãƒŧドãĢはãƒŦプãƒĒã‚ĢをぞだäŊŋį”¨ã—ãĻいぞせん。つぞり、ã‚ĩイトからぎčĒ­ãŋ取りčĻæą‚ã¯æˆĻ闘クナ゚ã‚ŋãƒŧãĢ送られぞす。

SSDはäŊŋį”¨ã—ãžã›ã‚“ã€‚ã“ã“ã§į§ã¯čĒã‚ãĒければãĒりぞせん、そぎようãĒ間違いがありぞしたīŧšį§ãŸãĄãĢはã‚ĩãƒŧバãƒŧを非常ãĢį´°åŋƒãĢテ゚トするネットワãƒŧã‚¯ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸがいぞす。そしãĻã€į§ãŸãĄã¯įžåœ¨ã€čĒ¤ãŖãĻRAID5ãŽã€Œį”Ÿį”Ŗä¸­ã€ãĢãĒãŖãĻおり、バッテãƒĒãƒŧが切れたときãĢčĒ¤ãŖãĻ気äģ˜ããžã—た。



ãŠã†ãžį§ãŸãĄã¯įŦ‘いでįĩ‚ã‚ã‚Šãžã—ãŸãŒã€ã“ã“ã§ã¯å°‘ã—é€€åąˆãĢãĒりぞす。おぎようãĢ抟čƒŊしぞすかīŧŸå‰čŋ°ã—たようãĢ、単一ぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŒæąšã„æ‰‹ã§į›´æŽĨデãƒŧã‚ŋベãƒŧ゚ãĢã‚ĸクã‚ģ゚するぎではãĒく、各ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¯į‹Ŧč‡ĒぎåŊšå‰˛ã§åŽŸčĄŒã•ã‚Œãžã™ã€‚ã™ãšãĻぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã¯ã€ã•ãžã–ãžãĒæ–šæŗ•ã§ãƒŦイã‚ĸã‚Ļトされぞす。

ここでäŊ•がčĻ‹ãˆãžã™ã‹īŧŸ WebグãƒĢãƒŧãƒ—ã‚„é›‡į”¨č€…ã‚°ãƒĢãƒŧプ

ãĒおぎフりãƒĢダãƒŧロãƒŧãƒĢがあり、これらãĢはãģとんお樊限がありぞせん。ぞた、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãƒ­ãƒŧãƒĢはこれらぎフりãƒĢダãƒŧロãƒŧãƒĢãĢčŠ°ã‚čžŧぞれãĻいぞす。ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã€Œã‚ĩイトぎロãƒŧãƒĢ」īŧˆã‚Ļェブīŧ‰ãŠã‚ˆãŗä¸€éƒ¨ãŽãƒ­ãƒŧãƒĢ「垓æĨ­å“Ąã€īŧˆã€Œåž“æĨ­å“Ąã€ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗį”¨īŧ‰ã€‚1万ぎ゚テãƒŧãƒˆãƒĄãƒŗãƒˆã‚ŋイムã‚ĸã‚ĻトãĢæŗ¨æ„ã—ãĻください。。ãĒãœã“ã‚ŒãŒčĄŒã‚ã‚Œã‚‹ãŽã§ã™ã‹īŧŸã“れは、ã‚ĩイトが10į§’äģĨ内ãĢåŽŸčĄŒã•ã‚ŒãĒいčĻæą‚ã‚’ãƒ—ãƒĢすることãĢ成功した場合、そぎčĻæą‚ã¯į ´æŖ„ã•ã‚Œã‚‹ã“ã¨ã‚’æ„å‘ŗã—ãžã™ã€‚åŽŸéš›ã€į­”ãˆã¯į°Ąå˜ã§ã™ã€‚ãŠã“ã‹ãĢäŊ•ã‹ãŒčŠ°ãžãŖãĻいãĻ、ã‚ĩイトぎãƒĻãƒŧã‚ļãƒŧがそれをåŧąã‚å§‹ã‚ãĻいるが、デãƒŧã‚ŋベãƒŧ゚がそれを与えãĒい場合、それはčǰãĢã¨ãŖãĻもæ‚Ē化するだけです。怠solã‚’č§Ŗãåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ãƒ­ãƒŧãƒĢãƒãƒƒã‚¯ã•ã‚ŒãŸãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã¯ãžã ãƒãƒƒãƒ•ã‚Ąã‚­ãƒŖãƒƒã‚ˇãƒĨをã‚Ļりãƒŧムã‚ĸップしãĻいることãĢæŗ¨æ„ã—ãĻください。ãƒĻãƒŧã‚ļãƒŧãĢäŊ•も提䞛しãĒã‹ãŖãŸå ´åˆã§ã‚‚ã€åŊŧåĨŗã¯ãã‚Œã‚’ãƒãƒƒãƒ•ã‚Ąã‚­ãƒŖãƒƒã‚ˇãƒĨãĢ配įŊŽã—ぞした。数äēēãŽåŽŸčĄŒč€…īŧˆ1万äēē、2äēēãŒåŽŸčĄŒīŧ‰ã‚’å–åž—ã™ã‚‹ã¨ã€ã‚­ãƒŖãƒƒã‚ˇãƒĨベãƒŧ゚をã‚Ļりãƒŧムã‚ĸップし、3į•Ēį›ŽãŽčĻæą‚ã¯æ—ĸãĢ成功しãĻいぞす。そうしãĒいと、プãƒŧãƒĢがã‚Ēãƒŧバãƒŧフロãƒŧし、JavaãŒį†č§Ŗã—ã€pgbouncerãĢ十分ãĒã‚Ŋã‚ąãƒƒãƒˆãŒãĒい可čƒŊ性がありぞす。

æŦĄãĢ、゚キãƒŧムをäŊœæˆã—、各ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãĢ゚キãƒŧムãĢ寞する樊限をäģ˜ä¸Žã—ãžã™ã€‚éĄ§åŽĸがWebã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗīŧˆWebGroupīŧ‰ã¨å†…部グãƒĢãƒŧプからぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽä¸Ąæ–šã‚’å…Ĩ力できることは明らかです。äēēがã‚Ēãƒ•ã‚Ŗã‚šå†…ã§ã™ãšãĻã‚’čĄŒã†æ–šæŗ•ã‚’įŸĨãŖãĻいる場合は、すずãĻがã‚ĩイトãĢあるようãĢしぞす。そしãĻ最垌ぎæŽĩčŊでは、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŒå…ĨåŠ›æ‰‹é †ãŽã‚ŗãƒŧドとデãƒŧã‚ŋ゚キãƒŧムをčĻ‹ã‚‹ã“ã¨ã‚’įρæ­ĸしãĻいぞす。

原際、これはすでãĢ多すぎぞす。čĒ°ã‹ãŒã‚ãĒたぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’ãƒãƒƒã‚­ãƒŗã‚°ã—ãŸå ´åˆã€åŊŧはあãĒãŸãŽį§˜å¯†ãƒ†ãƒŧブãƒĢをčĻ‹ã‚‹ã“ã¨ãŒã§ããžã›ã‚“ã€‚åŊŧはデãƒŧã‚ŋをčĒ­ãŋ取ることができず、ここでも゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽåå‰ã¯čĄ¨į¤ēされぞせん。



é–ĸ数はおぎようãĢčĻ‹ãˆãžã™ã‹īŧŸ in_SessionID

å…ĨåŠ›ãƒ‘ãƒŠãƒĄãƒŧã‚ŋãƒŧを持たãĒい最初ぎ単一ぎé–ĸæ•°ã¯č¨ąå¯ã§ã™ã€‚å€‹äēēが、パãƒŧトナãƒŧとしãĻį§ãŸãĄã¨å”åŠ›ã™ã‚‹ã“ã¨ã§ã¯ã‚ã‚Šãžã›ã‚“50同じäŧšį¤žãĢæ‰€åąžã—ãĻã„ã‚‹ãŽã§ã€ãƒ‰ãƒĄã‚¤ãƒŗãƒŦジ゚トナぎようãĢį§ãŸãĄãĢã¨ãŖãĻよりäžŋ刊です。äŧšį¤žãŽå…Ĩã‚ŠåŖã€1ã¤ãŽãƒ­ã‚°ã‚¤ãƒŗã€ãƒ‘ã‚šãƒ¯ãƒŧドです。こぎé–ĸ数はã‚ģãƒƒã‚ˇãƒ§ãƒŗã‚’čŋ”ã—ã€åŽšįžŠãĢæŗ¨æ„ã‚’æ‰•ã„ãžã™ã€‚ã“ã‚Œã¯ã‚ģキãƒĨãƒĒãƒ†ã‚ŖåŽšįžŠč€…ã§ã‚ã‚Šã€å†…éƒ¨ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¨å¤–éƒ¨ã‚°ãƒĢãƒŧプぎ2つぎグãƒĢãƒŧプをプãƒĢする樊刊がありぞす。



äģ–ぎすずãĻぎé–ĸ数ãĢはå…ĨåŠ›ãƒ‘ãƒŠãƒĄãƒŧã‚ŋãƒŧSessionIDがありぞす。これãĢより、一åēĻãƒ­ã‚°ã‚¤ãƒŗã—ã€ã‚ģãƒƒã‚ˇãƒ§ãƒŗã‚’ãƒĻãƒŧã‚ļãƒŧãĢé–ĸ逪äģ˜ã‘、ブナã‚Ļã‚ļãƒŧCookieぞたはã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽãƒĄãƒĸãƒĒでį™ēčĄŒã—ã€äģ–ぎすずãĻぎé–ĸ数をプãƒĢできぞす。これらは常ãĢSessionå…ĨåŠ›ãƒ‘ãƒŠãƒĄãƒŧã‚ŋãƒŧã‚’æŒãĄã€čĒ°ãŒå‘ŧãŗå‡ēしãĻいるかを垊元するためãĢå†…éƒ¨įš„ãĢ操äŊœã•れぞす。つぞり、OrderCreateé–ĸ数、ã‚ĩイトぞたは内部ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‹ã‚‰å‘ŧãŗå‡ēされ、単一ぎãƒĻãƒŧã‚ļãƒŧã‹ã‚‰åŽŸčĄŒã•ã‚Œãžã™ã€‚ããŽå†…éƒ¨ã§ã€ã‚ˇã‚šãƒ†ãƒ ãŽãŠãŽčĸĢé¨“č€…ãŒįžæ™‚į‚šã§ãã‚Œã‚’åŧ•ãŖåŧĩãŖãĻいるぎかを判断できぞす。

ã‚ĩイトãĢある抟čƒŊãĢついãĻもčĒŦ明しぞす。OrderCreateé–ĸ数ãĢã¯ã€éĄ§åŽĸを指厚するCustomerå…ĨåŠ›ãƒ‘ãƒŠãƒĄãƒŧã‚ŋãƒŧがåŋ…čĻã§ã‚ã‚‹ã“ã¨ã¯æ˜Žã‚‰ã‹ã§ã™ã€‚ã“ã“ã§ãã‚Œã‚’ã‚Ģバãƒŧしぞす。CompanyIDはã‚ģãƒƒã‚ˇãƒ§ãƒŗä¸­ãĢ襨į¤ēされ、あるäŧšį¤žã¯åˆĨぎäŧšį¤žãŽæŗ¨æ–‡ã‚’äŊœæˆã§ããžã›ã‚“。



さらãĢ、ACLã§č§Ŗæąēするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ã“ã“ã¯éžå¸¸ãĢį´ æ—Šãæģ‘るでしょう。ãĒぜãĒã‚‰ã€ã“ã‚Œã¯æˇąã„é ˜åŸŸã§ã‚ã‚Šã€ãŸãã•ã‚“ã‚Ģットするåŋ…čĻãŒã‚ã‚‹ã‹ã‚‰ã§ã™ã€‚å„ãƒ‰ãƒĄã‚¤ãƒŗãƒ†ãƒŧブãƒĢīŧˆéĄ§åŽĸã€ã‚­ãƒŖãƒŗãƒšãƒŧãƒŗã€æŗ¨æ–‡ã€åĨ‘į´„ã€äžĄæ ŧé …į›Žīŧ‰ãĢは、ã‚ĒブジェクトぎテãƒŧブãƒĢへぎ投åŊąãŒã‚ã‚Šãžã™ã€‚ã¤ãžã‚Šã€éĄ§åŽĸぎテãƒŧブãƒĢãƒŦã‚ŗãƒŧドãĢは、object_idとobject_type = 84ぎテãƒŧブãƒĢãƒŦã‚ŗãƒŧドがありぞす。それはäŊ•を与えぞすかīŧŸãƒ—ãƒ­ãƒ‘ãƒ†ã‚Ŗã€ãƒŠã‚¤ãƒ•ã‚ĩイクãƒĢ、いくつかぎåˆļ限、ã‚ĩブジェクトエãƒĒã‚ĸ内ぎã‚Ēブジェクトぎこぎįĩąä¸€ã•ã‚ŒãŸčĄ¨įžãŽãƒ­ãƒƒã‚¯ã‚’æŽ›ã‘ãĻ、こぎ上ãĢæ¨ŠåˆŠãƒã‚§ãƒƒã‚¯ã‚’æ§‹į¯‰ã§ããžã™ã€‚



ã—ãŸãŒãŖãĻã€æŗ¨æ–‡ã‚’é…å¸ƒã—ã€ãƒžã‚ˇãƒŗã‚’å‡ēčˇã™ã‚‹ã‚ĩブジェクトエãƒĒã‚ĸぎ各抟čƒŊ内ãĢは、樊限をチェックする抟čƒŊがありぞす。こぎé–ĸ数をプãƒĢしãĻ、ã‚ĒブジェクトID、ã‚Ēブジェクトぎã‚ŋã‚¤ãƒ—ã€ãŠã‚ˆãŗã€Œã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã€ãŽã‚ŋã‚¤ãƒ—ã‚’æ¸Ąã—ãžã™ã€‚åŊŧåĨŗã¯č‡Ē分ぎ内側でOKã¨č¨€ã†ã‹ã€äž‹å¤–ã‚’æŠ•ã’ãžã™ã€‚äž‹å¤–ã‚’ã‚šãƒ­ãƒŧすると、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã§į°Ąå˜ãĢã‚­ãƒŖãƒƒãƒã§ããžã™ã€‚ã‚ŗãƒã‚¯ã‚ŋīŧˆJDBC、ã‚Ģ゚ã‚ŋムīŧ‰ã¯ã€ã“れらぎ䞋外を遊切ãĢã‚­ãƒŖãƒƒãƒã—ã€ã‚¯ãƒŠã‚¤ã‚ĸãƒŗãƒˆãĢæ¸Ąã—ãžã™ã€‚ãƒĻãƒŧã‚ļãƒŧはエナãƒŧを受け取り、分析できぞす。クナイã‚ĸãƒŗãƒˆã§ã‚¨ãƒŠãƒŧをč¨ē断するåŋ…čĻã¯ãĒく、äŊ•ã‹ã‚’ãƒ•ã‚ŖãƒĢã‚ŋãƒĒãƒŗã‚°ã™ã‚‹ã ã‘ã§ã‚ã‚Œã°ã€ããŽã‚ˆã†ãĒãƒ‘ãƒŠãƒĄãƒŧã‚ŋãƒŧã‚’æ¸Ąã—ãžã™ã€‚ã‹ãĒり厄äģ‹ãĢ思えぞすが、原際ãĢã¯ã€ã“ãŽæ–šæŗ•ã§æ¨ŠåˆŠã‚’įĸēčĒã™ã‚‹ã“ã¨ã¯ãƒ—ãƒ­ã‚°ãƒŠãƒžãŽäŊœæĨ­ãŽį›ŽãĢčĻ‹ãˆãĒい部分であり、ビジネ゚ロジックぎäŊœæˆã‚’åĻ¨ã’ã‚‹ã“ã¨ã¯ãĒく、įĩąåˆã‚’äŊœæˆã™ã‚‹ã ã‘です。



すずãĻãŒå•éĄŒãĒくできぞしたかīŧŸ

ã„ã‚„ã“ã‚Œã¯ã€į§ãŸãĄãŒå§‹ã‚ãŸįžŦé–“ã‚’æã„ãŸæ‚˛ã—ã„å†™įœŸã§ã™ã€‚å†™įœŸãŽä¸€į•Ē下ãĢあるぎは2009åš´ãŽį§‹ã§ã™ã€‚į§ãŸãĄã¯äŊ•ã‚’åž—ãžã—ãŸã€‚į§ãŸãĄãĢはã‚Ļェブã‚ĩã‚¤ãƒˆãŒã‚ã‚Šã€į´„200äēē、300äēēãŒæˆé•ˇã—ãžã—ãŸã€‚ 5〜6ぎæŽĨįļšãŒåŒæ™‚ãĢプãƒŧãƒĢãĢį™ēčĄŒã•ã‚Œã€ã•ã‚‰ãĢ60〜70ぎæŽĨįļšãŒå†…部ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãĢã‚ˆãŖãĻ占有されぞした。 60äēēぎãƒĻãƒŧã‚ļãƒŧãŒį¤žå†…ã§åƒã„ãĻいたため、ãĒぜプãƒŧãƒĢをåŋ…čĻã¨ã—ãŸãŽã‹ã‚’į›´æŽĨ判断しぞした。įǁį„ļį—›ãŋを感じぞした。ã‚ĩãƒŧバ16å€‹ãŽã‚ŗã‚ĸは、すãĒã‚ãĄ4ã‚Ŋã‚ąãƒƒãƒˆ4ã‚ŗã‚ĸはかãĒり2009åš´ãžã§å†ˇå´ã—ãĻ、そしãĻ我々がčĻ‹ãŸã¨ãLA 60、16ã‚ŗã‚ĸを...

į†į”ąã¯äŊ•がありぞすかīŧŸ

ã“ãŽå•éĄŒã¯ã‚‚ã†å­˜åœ¨ã—ãžã›ã‚“ãŒã€į§ã¯ã‚ãĒたãĢãã‚Œã‚’čŠąã•ãĒければãĒã‚Šãžã›ã‚“ã€ãã‚Œã¯ä¸€į¨ŽãŽč‡Ēå‹•č¨“įˇ´ã§ã™ã€‚ãã—ãĻįŦŦäēŒãĢ、あたかもč­Ļ告するかぎようãĢīŧšå¸¸ãĢ長老ãĢč€ŗã‚’å‚žã‘ãžã™ã€‚ pgbouncerはåŋ…čρãĒã„ã¨č€ƒãˆãžã—ãŸã€‚åŽŸå‰‡ã¨ã—ãĻ、すずãĻを通常おおりãĢåŽŸčĄŒã™ã‚‹å ´åˆã¯åŋ…čĻã‚ã‚Šãžã›ã‚“ã€‚ãŸã ã—ã€é€˛čĄŒä¸­ãĢ開いた各ã‚ģãƒƒã‚ˇãƒ§ãƒŗã§ã¯ã€ON COMMIT DELETE ROWSã‚ŋイプぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŒåˆæœŸåŒ–ã•ã‚Œãžã—ãŸã€‚ 9.1ぞたは9.2より前ぎバãƒŧã‚¸ãƒ§ãƒŗã§ã¯ã€åžŒã§å­Ļįŋ’した抟čƒŊãŒã‚ã‚Šãžã—ãŸã€‚å„ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãŽé–‹å§‹æ™‚ãĢ、各æŽĨįļšãŽã‚ŋイプON COMMIT DELETE ROWSぎ各一時プãƒŦãƒŧトãĢTRUNCATEãŒæäž›ã•ã‚Œã€ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãŽįĩ‚ä熿™‚ãĢTRUNCATEも送äŋĄã•れたことがわかりぞす。つぞり、100個ぎįĩåˆãŒã‚り、それぞれãĢON COMMIT DELETE ROWSã‚ŋイプぎ30個ぎ一時テãƒŧブãƒĢがある場合、3,000個ぎ一時テãƒŧブãƒĢがありぞす。そしãĻ、これらぎテãƒŧブãƒĢãŒãŠã‚Œã‚‚ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãĢé–ĸ与しãĻいãĒくãĻも、こぎTRUNCATEäēŒåēĻ務めた。あãĒたはäŊ•がčĩˇã“ãŖãĻã„ãŸã‹į†č§Ŗã—ãĻいぞす。

Postgresがã‚Ēãƒŧãƒ—ãƒŗã‚Ŋãƒŧ゚であることはおぎようãĢåŊšįĢ‹ãĄãžã—ãŸã‹īŧŸ

しばらくč‹Ļ労しãĻクロãƒŧãƒĢã—ã€ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãŽé–‹é–‰ã‚’įĸēčĒã—ãŸã€Œãƒ—ãƒ­ã‚°ãƒŠãƒžãƒŧ」プログナマãƒŧがいぞす。 「通įŸĨ」をå…ĨれãĻ、こぎ切り捨ãĻãŒčĄŒã‚ã‚ŒãĻいるぎをčĻ‹ãžã—ãŸã€‚į§ã¯ã‚ĩイトぎã‚Ļェブã‚ĩイトãĢį™ģã‚Šã€åŖŠã‚ŒãŸč‹ąčĒžã§éƒĩ送ãĢ書いãĻ、あãĒãŸãŒã‚ã‚Œã“ã‚Œã‚ã‚Œã‚’ã™ã‚‹ãŸãŗãĢそれを書いた。それãĢåŋœãˆãĻ、トムãƒŦãƒŧãƒŗãŒč¨€ãŖãŸã¨ãã€į§ã¯ã‚ˇãƒ§ãƒƒã‚¯ã‚’å—ã‘ãžã—ãŸã€‚ä¸€æ™‚ãƒ†ãƒŧブãƒĢをクãƒĒãƒŧãƒ‹ãƒŗã‚°ã—ãĻいることは銚くことではありぞせんが、それをåĢめãĻã€į§ãŸãĄã¯ã‚ãžã‚Šč‰¯ãã‚ã‚Šãžã›ã‚“ã€‚ã€ãã—ãĻ、ブãƒĢãƒŧ゚ãƒģãƒĸムã‚ļãƒŗã¯č‡Ē分č‡ĒčēĢをåŧ•き上げぞした。åŊŧがここãĢいるãĒã‚‰ã€į§ã¯ãžãŖãŸãæœŸåž…ã—ãĻいぞせんでした。そしãĻåŊŧはこう書いたīŧšã€Œįš†ã•ん、åŋƒé…ã—ãĒいでください。これを個äēēぎtodoãƒĒ゚トãĢåĢめãĻ、å…ŦåŧãŽtodoãƒĒ゚トãĢčŧ‰ã›ã‚ˆã†ã¨ã—ぞす。」そしãĻそれがčĩˇã“ãŖãŸã€‚ã™ããĢč§Ŗæąēį­–ã‚’čĻ‹ã¤ã‘ãžã—ãŸã€‚ãžãšã€pgbouncerã‚’ã‚ŗãƒŗãƒ‘ã‚¤ãƒĢしぞした。そこでは7åˆ†ã‹ã‹ã‚Šãžã—ãŸã€‚į…§æ˜ŽãŽ7分垌、こぎ[į´„Ed。īŧšã‚šãƒŠã‚¤ãƒ‰ãŽã‚°ãƒŠãƒ•ãŽåŗå´ã‚’ã”čĻ§ãã ã•ã„]ã€‚ã¤ãžã‚Šã€č˛ čˇãŒäŊŽä¸‹ã—、非常ãĢåŋĢ遊ãĢãĒり、æŽĨįļšãŒãƒãƒŗã‚°ã—ãĒくãĒã‚Šãžã—ãŸã€‚ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãŽé–‹å§‹ä¸­ãĢã„ãã¤ã‹ãŽå•éĄŒãŒã‚ã‚Šã€15ミãƒĒį§’ãŽã‚ãšã‹ãĒ遅åģļがありぞしたが、それでæ—ĸãĢį”Ÿãã‚‹ã“ã¨ãŒã§ããžã—ãŸã€‚į§ãŽæ„čĻ‹ã§ã¯ã€åš´æœĢぞでãĢį§ãŸãĄã¯ã“ãŽã‚šã‚­ãƒŧãƒ ã§į”Ÿæ´ģし、äģŠã‚ˇãƒŧã‚ēãƒŗãŽéĄ§åŽĸ数を3倍ãĢåĸ—やしぞした。ブãƒĢãƒŧã‚šã¨ã‚ŗãƒŸãƒĨãƒ‹ãƒ†ã‚ŖãĢ感čŦã—ぞす。



å•éĄŒãŒã‚ã‚Šãžã™ã€‚é–“é•ã„ãŒã‚ã‚Šã€ãã‚ŒãŒäŊ•ã§ã‚ã‚‹ã‹ãŽãƒ’ãƒŗãƒˆã•ãˆã‚ã‚‹ã‚ˆã†ãĒčĄŒãŒã‚ã‚Šãžã™ã€‚æŦ į‚šãŒã‚りぞすpl / pgsqlãƒ“ã‚¸ãƒã‚šãƒ­ã‚¸ãƒƒã‚¯ã‚ŗãƒŧドがそうであるようãĢ、デãƒŧã‚ŋベãƒŧã‚šã¯åŽŗå¯†ã§ã‚ã‚Šã€ã‚ãĒたč‡ĒčēĢをäŋč­ˇã™ã‚‹æŠŸäŧšãŒãŸãã•ã‚“ã‚ã‚Šãžã™ãŒã€ã‚ŗãƒŧドはあぞりよくテ゚トされãĻいぞせん。気ãĨかãĒいäēēは、val2とval3ぎ間ãĢã‚ŗãƒŗãƒžãŒã‚ã‚Šãžã›ã‚“ã€‚ã™ãšãĻぎval-sīŧˆi1、i2、i3、i4īŧ‰ãĢãƒĻãƒ‹ãƒƒãƒˆã‚’æ¸Ąã™ã¨ã€ãŠãŽįĩæžœãŒé€šįŸĨã‚’į”Ÿæˆã™ã‚‹ã‹ã‚’æŽ¨æ¸Ŧしぞす。 「通įŸĨ」ãĢは4つぎ数字がありぞす。おれīŧŸæœ€åˆã¨2į•Ēį›Žã¯singleで、3į•Ēį›Žã¨4į•Ēį›Žã¯īŧŸNULLãĢãĒりぞす。そしãĻã€ãã‚Œã¨ä¸€įˇ’ãĢæšŽã‚‰ã™æ–šæŗ•ã¯īŧŸã‚ŽãƒŖãƒƒãƒ—ã‚’čĻ‹ãĻã€é€˛æ­Šã¯å˜ãĢäģ–ぎすずãĻã‚’į„ĄčĻ–ã—ãžã™ã€‚ã“ãŽã“ã¨ãĢついãĻはニãƒĨãƒŧ゚ãƒŦã‚ŋãƒŧãĢも書きぞしたが、čĒ°ãŒį­”ãˆãŸãŽã‹čĻšãˆãĻいぞせん、グãƒŦッグãƒģ゚ミ゚、「pl / pgsqlはSQLã‚ŗãƒŧドぎéēį”Ŗã ã‹ã‚‰ã§ã™ã€‚ã€SQLでäŊŋį”¨ã§ãã‚‹æ§‹æ–‡ã¯ã€ã“ã“ã§įŋģč¨ŗã•ã‚ŒãĻã„ãžã™ã€‚ã¯ã„ã€ã“ã‚Œã¯å•éĄŒã§ã™ãŒã€ã“ã‚Œã¯į§ãŸãĄãŒé­é‡ã—ãŸæ•°å°‘ãĒã„å•éĄŒãŽä¸€ã¤ã§ã™ã€‚

æŦĄãŽå•éĄŒã¯ãƒ‰ã‚­ãƒĨãƒĄãƒŗãƒˆã§ã™ã€‚ã“ã‚Œã¯ã€į§ãŸãĄãŒįĩŒé¨“した最も重大ãĒä狿•…ãŽį‰ŠčĒžã§ã™ã€‚ãƒ†ãƒŧブãƒĢãĢDROP CASCADEを配įŊŽã™ã‚‹ã¨ã€é€šįŸĨですずãĻぎ䞋外が除外され、ã‚Ģã‚šã‚ąãƒŧドで削除されるすずãĻぎã‚Ēãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒčĄ¨į¤ēされぞす。外部キãƒŧでé–ĸ逪äģ˜ã‘られた5〜6個ぎテãƒŧブãƒĢがある場合、truncateã¨č¨€ã„ãžã™ã€‚ãƒ†ãƒŧブãƒĢãĢåž“ãŖãĻ、2į•Ēį›ŽãŽãƒ†ãƒŧブãƒĢがクãƒĒã‚ĸã•ã‚Œã‚‹ã¨å›žį­”ã•ã‚Œãžã™ã€‚åŊŧはåŊŧåĨŗãŽåžŒãĢさらãĢ4äēēãŒæŽƒé™¤ã•ã‚Œã‚‹ã¨ã¯č¨€ã‚ãĒいでしょう。そしãĻã€į§ãŸãĄã¯ãã‚ŒãĢå‡ēくわしぞした。ドキãƒĨãƒĄãƒŗãƒ†ãƒŧã‚ˇãƒ§ãƒŗã§ã€ãã†ã ãŖãŸã¨æœŦåŊ“ãĢč¨€ã‚ã‚Œãžã—ãŸãŒã€ããŽã‚ˆã†ãĒことがčĩˇã“りぞす。

æœ€åžŒãŽå•éĄŒã¯å•éĄŒã§ã¯ãĒく、むしろ銚きです。čĒ­ãŋå–ã‚Šå°‚į”¨ãŽčĻæą‚ãŒãƒŦプãƒĒã‚Ģでã‚ĒフロãƒŧドされるようãĢ、pl / proxyをčŠĻすことãĢしぞした。pl / proxy はrefã‚Ģãƒŧã‚ŊãƒĢをã‚ĩポãƒŧトしãĻいãĒいことが判明し、refã‚Ģãƒŧã‚ŊãƒĢがæœŦåŊ“ãĢåĨŊきです。すずãĻぎデãƒŧã‚ŋベãƒŧã‚šã‚ŗãƒã‚¯ã‚ŋはã‚Ģãƒŧã‚ŊãƒĢをã‚ĩポãƒŧトしãĻã„ã‚‹ãŸã‚ã€į°Ąå˜ãĢ変更でき、ãƒŦã‚ŗãƒŧãƒ‰ã¨ã¯į•°ãĒり、抟čƒŊ間でčģĸ送できぞす。すずãĻがã‚Ģãƒŧã‚ŊãƒĢ上ãĢæ§‹į¯‰ã•ã‚ŒãĻいるだけです。JSONãŒã‚ãŖãŸå ´åˆã€JSONã§æ§‹į¯‰ã—ãžã™ã€‚įžåœ¨ã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚ĩイトをJSONãĢčģĸé€ã™ã‚‹ã‹ãŠã†ã‹ã‚’æ¤œč¨Žã—ãĻいぞす。そぎ垌、pl / proxyをäģ‹ã—ãĻã‚ĸãƒŗãƒ­ãƒŧドし、゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãĢåŸēãĨいãĻすずãĻã‚’ã€Œæ–­į‰‡åŒ–ã€ã™ã‚‹ã“ã¨ã¯ä¸å¯čƒŊであるというįĨžčŠąãĢ反čĢ–ã™ã‚‹ã“ã¨ãŒã§ããžã™ã€‚ã‚Ģãƒŧã‚ŊãƒĢをäŊŋį”¨ã—ãĒい場合は可čƒŊです。



į§ãŸãĄãŽäēēį”Ÿã¯ãŠã†ã§ã™ã‹īŧŸ

ãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°ãĢついãĻã¯å°‘ã—ãŠčŠąã—ãžã™ãŒã€ãƒ—ãƒ­ã‚°ãƒŠãƒžãƒŧはæ‚Ēいですが、最遊化ãĢついãĻはįŸĨãŖãĻいぞす。すずãĻぎビジネ゚ロジックが゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãĢある場合、čĒ°ãŒč˛Ŧäģģã‚’č˛ ã†ãšãã‹ã‚’å¸¸ãĢæŠŠæĄã§ããžã™ã€‚ãƒ‡ãƒŧã‚ŋベãƒŧ゚ãĢã‚ĸクã‚ģ゚するäēēはčĒ°ã§ã‚‚ã€ã‚šãƒˆã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’ãŸãŠã‚Šãžã™ã€‚ãã—ãĻpg_stat_user_functionsぎおかげで、それãĢé–ĸするすずãĻをįŸĨãŖãĻいぞす。

äŊ•しãĻるぎīŧŸ

こぎビãƒĨãƒŧでは、pg_stat_user_functions゚キãƒŧム、プãƒŦãƒŧãƒˆãŽåå‰ã€ã‚ŗãƒŧãƒĢãŽåˆč¨ˆæ•°ã€åˆč¨ˆåŽŸčĄŒæ™‚é–“ã€ã‚ĩブミãƒĒį§’ãŽč§ŖåƒåēĻを持つé–ĸ数ぎ遊切ãĒåŽŸčĄŒæ™‚é–“ãŒã‚ã‚Šã€ã™ãšãĻぎ場合ãĢ十分です。



1æ—Ĩ2回、午前8時と午垌8時ãĢ、ãģとんおがãƒĸ゚クワとã‚ĩãƒŗã‚¯ãƒˆãƒšãƒ†ãƒĢブãƒĢクぎクナイã‚ĸãƒŗãƒˆã§ã‚ã‚‹ãŸã‚ã€ã“ãŽãƒ“ãƒĨãƒŧぎįĩæžœã§ã‚ã‚‹į‹Ŧč‡ĒぎプãƒŦãƒŧトをæŒŋå…Ĩしぞす。朝と夕斚ãĢã‚šãƒŠãƒƒãƒ—ã‚ˇãƒ§ãƒƒãƒˆã‚’äŋå­˜ã—ぞす。



ããŽåžŒã€æ›´æ–°ã—ãžã™ã€‚ã‚ŗãƒŧãƒĢæ•°ãŽåˇŽã€åˆč¨ˆæ™‚é–“ãŽåˇŽã€ã‚ģãƒĢフã‚ŋã‚¤ãƒ ãŽåˇŽã‚’č¨ˆįŽ—ã—ãžã™ã€‚ã“ã‚ŒãĢよりäŊ•が垗られぞすかīŧŸ



äŊ•かが遅くãĒãŖãŸã‚‰ã™ããĢįĸēčĒã—ãžã™ã€‚å…ˆé€ąã€äģŠé€ąã‚’過åŽģと比čŧƒã™ã‚‹ã¨ã€ãŠãŽæŠŸčƒŊがよりé ģįšãĢ、ぞたはよりéĢ˜äžĄãĢå‘ŧãŗå‡ēされぞしたかīŧŸãã—ãĻ、åŊŧåĨŗã‚’čĻ‹ã¤ã‘ãžã—ãŸã€‚ãã‚Œã ã‘ã§ãĒく、įĩļえ間ãĒいãƒĒã‚¯ã‚¨ã‚šãƒˆãŒã‚ã‚Šãžã™ã€‚ã“ã‚Œã¯ã€ã‚ŗãƒŗã‚ŊãƒŧãƒĢãĢ襨į¤ēã•ã‚Œã€åŠŖåŒ–ã—ãŸæŠŸčƒŊをį¤ēしãĻã„ãžã™ã€‚ã“ã‚Œã‚‰ãŽéšœåŽŗã¯ãŠã“ã‹ã‚‰æĨたぎですかīŧŸã„ãã¤ã‹ãŽį†į”ąãŒã‚ã‚Šãžã™ã€‚įŦŦ一ãĢ、それは可čƒŊæ€§ãŒã‚ã‚Šã€ã‚šã‚ąã‚¸ãƒĨãƒŧナ゚キãƒĨãƒŧ、åŋ˜ã‚Œã‚‰ã‚ŒãŸã‚ŗãƒŧドは、新しいバãƒŧã‚¸ãƒ§ãƒŗã‚’æ›´æ–°ã—ã€ã†ãžãæŠŸčƒŊするためãĢäŊŋᔍäģģæ„ãŽã‚ĸãƒĢゴãƒĒã‚ēãƒ ã€ãŠã‚ˆãŗã„ãã¤ã‹ãŽã‚ŗãƒžãƒŧã‚ˇãƒŖãƒĢを。すぐãĢį‚šį¯ã—ãžã™ã€‚ã¤ãžã‚Šã€ä¸æ˜ŽãĒčĻæą‚ã‚’æ‡ä¸­é›ģį¯ã§čŋŊいかけるåŋ…čĻã¯ã‚ã‚Šãžã›ã‚“ã€‚čĻæą‚ã¯ã€ãŠãŽãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‹ã‚‰æĨたぎか、čĒ°ãŒå‘ŧãŗå‡ēã—ãŸãŽã‹ãŒä¸æ˜Žã§ã™ã€‚å•éĄŒãŒã™ããĢわかりぞす。

しかし、pg_stat_functionはすずãĻãŽå•éĄŒã‚’č§Ŗæąēするわけではありぞせん。ãĒんでīŧŸãžãšã€ã‚Ģãƒŧã‚ŊãƒĢ。ã‚Ģãƒŧã‚ŊãƒĢをčŋ”すé–ĸ数がある場合、1分間フェッチでき、そぎé–ĸ数は1ミãƒĒį§’é–“å‹•äŊœã—ぞした。つぞり、上部ãĢ遅いã‚Ģãƒŧã‚ŊãƒĢã¯čĄ¨į¤ēされぞせんが、多くぎã‚Ģãƒŧã‚ŊãƒĢがありぞす。

é–ĸ数ãĢã¯åˆ†å˛ãŒã‚ã‚Šãžã™ã€‚ãŸã¨ãˆã°ã€æŗ¨æ–‡ã‚’é–‹å§‹ã™ã‚‹æŠŸčƒŊがありぞす。それはäēēぎ手でčĩˇå‹•することができ、樊刊ぎチェックがたくさんありぞす。ぞたはお金がæĨãĻã€ã‚¤ãƒ™ãƒŗãƒˆã‚’é€äŋĄã—ã€æŗ¨æ–‡ã‚’å‡Ļį†ã—ãžã—ãŸã€‚ã¤ãžã‚Šã€é–ĸæ•°ãŽåˆ†å˛ã¯ã€į•°ãĒã‚‹æĄäģļで同じé–ĸ数を非常ãĢį•°ãĒる時間ãĢå‘ŧãŗå‡ēã™ã“ã¨ãŒã§ãã‚‹å ´åˆã§ã™ã€‚ãƒã‚¤ãƒŗãƒˆãƒ­ãƒŧド

がありぞす。非常ãĢ重čρãĒビジネ゚抟čƒŊがありぞす。たとえば、1äēēは1æ—Ĩ15分間そこで働いãĻいぞすが、多くはこれãĢ䞝存しãĻいぞす。そしãĻ、äēēã‹ã‚‰ã‚†ãŖãã‚Šã¨č˛ čˇãŒåĸ—加しぞすが、åŊŧは気ãĨきぞせん。これも明らかãĢãĒã‚Šãžã—ãŸã€‚ã‚‚ãŖã¨æˇąãčĄŒããžã™ã€‚

pg_stat_statementsをäŊŋį”¨ã—ãžã™ã€‚ãžãŸã€äŊœæĨ­ã‚ˇãƒ•トぎデãƒŧã‚ŋを最初と最垌ãĢäŋå­˜ã—、同じことを分析しぞす。しかし、それはより多くを与えぞす。



これはpg_stat_statementsへぎãƒĒクエ゚トがおぎようãĢčĻ‹ãˆã‚‹ã‹ã§ã™ã€‚æŗ¨į›Žã™ãšãã¯ã€ã‚šãƒˆã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽã‚ĸトミックãƒĒクエ゚トがpg_stat_statementsãĢ到達することです。そこãĢåŧãŒã‚りぞすīŧšãã“ãĢデãƒŧã‚ŋをæŠŊå‡ēし、ã‚ģãƒŸã‚ŗãƒ­ãƒŗã€æ”ščĄŒã€ã‚ŗãƒĄãƒŗãƒˆã€ãƒ‡ãƒŧã‚ŋを更新しぞす。これらぎ2ã¤ãŽãƒ•ãƒŠã‚°ãƒĄãƒŗãƒˆã¯ã€ã‚ŗãƒĄãƒŗãƒˆã¨ã€ŒãƒĻãƒŧã‚ļãƒŧフりãƒŧマット」ãĒお、非常ãĢäžŋ刊ãĒpg_stat_statementsãĢåˆ†éĄžã•ã‚Œãžã™ã€‚



外čĻŗã¯æŦĄãŽã¨ãŠã‚Šã§ã™ã€‚一į•Ē上は一čˆŦįš„ãĒãƒĒ゚トぎようで、一į•Ēä¸‹ã¯čˆˆå‘ŗãŽã‚ã‚‹æ–­į‰‡ã§ã™ã€‚å‚į…§ã‚Ģãƒŧã‚ŊãƒĢをå‘ŧãŗå‡ēしãĻčŋ”すé–ĸ数内ãĢ1つぎã‚ĸトミックåŧãŒã‚り、こぎ「ビãƒĨãƒŧ」ãĢ3回å…Ĩりぞす。é–ĸ数č‡ĒäŊ“ãŒã‚­ãƒŖãƒƒãƒã•ã‚Œã€åŗåē§ãĢ抟čƒŊし、地下2ミãƒĒį§’ãŽãŠã“ã‹ãĢ配įŊŽã•れぞす。 SELECTã‚ĢテゴãƒĒヒットぎã‚ĸトミッククエãƒĒとã‚Ģãƒŧã‚ŊãƒĢãƒ’ãƒƒãƒˆãŽãƒ•ã‚§ãƒƒãƒã€‚ãã‚Œã‚‰ã¯į°Ąå˜ãĢ識åˆĨできぞす。つぞり、ã‚Ģãƒŧã‚ŊãƒĢãĢå•éĄŒãŒã‚ã‚‹å ´åˆã€é–ĸ逪äģ˜ã‘られãĻいる抟čƒŊがわからãĒいため、ãģãŧæ™‚é–“įš„ãĢä¸€č‡´ã—ã€å‘ŧãŗå‡ēã—æ•°ãŒæ­ŖįĸēãĢä¸€č‡´ã™ã‚‹ã‚ĸトミッククエãƒĒとã‚Ģãƒŧã‚ŊãƒĢをč‡Ēå‹•įš„ãĢ分析し、それらを比čŧƒã§ããžã™ã€‚åŊšãĢįĢ‹ã¤ãƒˆãƒĒック。

2čĄŒį›Žã§ã¯ã€åå‰äģ˜ãã‚Ģãƒŧã‚ŊãƒĢã‚’ãƒ•ã‚§ãƒƒãƒã—ãžã™ã€‚ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŒã‚šãƒˆã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’å‘ŧãŗå‡ēすときãĢã€ã“ãŽãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŽåå‰ã§ã‚Ģãƒŧã‚ŊãƒĢãĢ名前をäģ˜ã‘ã‚‹æ–šæŗ•ã‚’įŸĨãŖãĻいれば、ログぎおこãĢã§ã‚‚į›´æŽĨ襨į¤ēされぞす。ぞた、äžŋ刊ãĒトãƒĒック。pg_stat_statementsãĢ



感čŦã—ぞすæŊœåœ¨įš„ãĢæ‚Ēい場所をčĻ‹ã¤ã‘ã‚‹ãŽã¯į°Ąå˜ã§ã™ã€‚ãŠã‚ŒīŧŸįŦŦ一ãĢ、更新は常ãĢéĢ˜äžĄã§ã‚ã‚Šã€įŦŦäēŒãĢã€į§ãŒč¨€ãŖãŸã‚ˆã†ãĢ、あãĒãŸãŽã‚ŗãƒĄãƒŗãƒˆã•ãˆã‚‚pg_stat_statementsãĢå…Ĩã‚‹ã€‚ã—ãŸãŒãŖãĻ、čĒ°ã‹ãŒãƒĒクエ゚トãĢ寞しãĻ「TODO」ぞたは「ここでäŊ•かがおかしい」と書いた場合、pg_stat_statementsãĢčĄŒãã€į–‘å•ãŽã‚ã‚‹ã‚ŗãƒĄãƒŗãƒˆã‚’åĢむクエãƒĒがある場合は最初ãĢæŽĸしぞす。そしãĻ、あãĒたはすぐãĢそれらをčĻ‹ã¤ã‘ãžã™ã€‚ã¨ãĻも速いです。

そしãĻäģŠã€į—›ãŋãĢついãĻ少し。 2æžšį›ŽãžãŸã¯3æžšį›ŽãŽã‚šãƒŠã‚¤ãƒ‰ã‚’čĻ‹ã‚‹ã“ã¨ãŒã§ããŸį§ãŸãĄãŽãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚ĩイトはLiferayãĢåŸēãĨいãĻいぞす。そこからãģとんおすずãĻã‚’éŖ˛ãŋぞしたが、äŊ•ã‹ãŒæŽ‹ãŖãĻいぞした。そしãĻ、äŊ•かがäŧ‘æ­ĸįŠļ態ですčĒ°ãŒåŊŧがテãƒŧブãƒĢãĢ書いたもぎをエミãƒĨãƒŦãƒŧトするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ã¯ã„ã€ã“ãŽLiferayはãƒĻãƒŧã‚ļãƒŧプãƒŦãƒŧトをäŊœæˆã—ぞす。原際、åŊŧã¯ã‚­ãƒŖãƒƒã‚ˇãƒĨしぞす。つぞり、åŊŧはそれぎãģã¨ã‚“ãŠã‚’ã‚­ãƒŖãƒƒã‚ˇãƒĨã—ãžã™ãŒã€į§ãŸãĄãŒåž—ãŸå°ã•ãĒもぎはここãĢありぞす。 Liferayを厌全ãĢäŧ‘æ­ĸįŠļæ…‹ã§éŖ˛ã‚€ã¨ã€åŽŸéš›ãĢは20倍äģĨ上がåŋ˜å´ãŽãŠã“かãĢčĄŒããžã™ã€‚ HibernateãƒĒã‚¯ã‚¨ã‚šãƒˆã‚’čĄ¨į¤ēã—ãŸã‹ãŖãŸãŽã§ã™ãŒã€ãã‚ŒãŒåˆã‚ãĒいことãĢ気äģ˜ããžã—た。これは寞å‡ĻãŒé›Ŗã—ã„ã§ã™ã€‚

しかし、äēēæ°—ぎあるビジネ゚ã‚Ŋフトã‚Ļェã‚ĸぎã‚ĩãƒ—ãƒŠã‚¤ãƒ¤ã§å•éĄŒãŒį™ēį”Ÿã—ãŸå ´åˆã€‚č̋螠æĨ­č€…が導å…Ĩしたã‚ĩãƒŧビ゚を提䞛しãĒã„ã‚ˇã‚šãƒ†ãƒ ãŒæ§‹į¯‰ã•ã‚ŒãĻいぞす。åŊŧåĨŗã¯MS SQLã‚ĩãƒŧバãƒŧという䞋外を投げぞした64キロバイトをčļ…えるčĻæą‚ã‚’åŽŸčĄŒã§ããžã›ã‚“ã€‚ 64ãƒ“ãƒƒãƒˆãŽã‚¨ãƒŗã‚ŋãƒŧプナイã‚ēバãƒŧã‚¸ãƒ§ãƒŗã‚’čŗŧå…Ĩするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚ä¸€čˆŦãĢ、MS SQL Serverぎåˆļ限は、65536バイトぎčĻæą‚ã‚’åŽŸčĄŒã§ããĒいことであり、これをã‚ĩポãƒŧトするバãƒŧã‚¸ãƒ§ãƒŗã¯ã‚ã‚Šãžã›ã‚“ã€‚ã‚ģãƒŧãƒĢ゚マネãƒŧã‚¸ãƒŖãƒŧ、ヘãƒĢプデ゚クマネãƒŧã‚¸ãƒŖãƒŧ、ビジネ゚ロジックを書いた垌čŧŠã€ãã—ãĻ10ãƒĄãƒŧトãƒĢぎおこかãĢ1Cã‚ŗãƒŧドジェネãƒŦãƒŧã‚ŋãƒŧを書いたäēēがいるというäē‹åŽŸãŽãŸã‚ãĢã€į§ãŸãĄã¯åŊŧらãĢį›´æŽĨé›ģčŠąã—ãžã™ã€‚ã“ã‚ŒãŒæ­Ŗå¸¸ã§ã‚ã‚‹ã¨č€ƒãˆãĻください。

ãĒぜこれが重čρãĒぎでしょうかīŧŸį§ãŸãĄã¯å°ã•ãĒäŧšį¤žã§ã™ã€‚小さãĒIT゚ã‚ŋッフがいぞす。多くぎäēē々がこれらぎãƒŦイヤãƒŧぎč˛Ŧäģģã‚’å…ąæœ‰ã™ã‚‹åŋ…čĻãŒã‚ã‚‹ãŸã‚ã€ã“ãŽã‚ˆã†ãĒ重いテクノロジãƒŧをčŗŧå…ĨするäŊ™čŖ•はありぞせん。これãĢåˆ°é”ã™ã‚‹ãŽã¯é›Ŗã—ã„ã§ã™ã€‚ã“ã“ã§ãŽ



最遊化

は非常ãĢįŸ­ãã€ãŠãã‚‰ãčĒ°ã‚‚ãŒįŸĨãŖãĻã„ãžã™ã€‚æˆ‘ã€…ã¯æŒãŖãĻいるįĩąč¨ˆæ›´æ–°ã€æŒŋå…Ĩã€é™¤įŽ— テãƒŧブãƒĢでは、æ­ģんだ「ã‚ŋプãƒĢã€ã€ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãŽæ˛ģᙂãĢé–ĸするįĩąč¨ˆã‚’。これはおぎようãĢäŊŋį”¨ã§ããžã™ã‹īŧŸ とãĻã‚‚į°Ąå˜ã§ã™ã€‚10ãƒã‚¸ã‚ˇãƒ§ãƒŗãŽæŗ¨æ–‡ãŽå„ãƒ“ã‚¸ãƒã‚šãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗãĢついãĻã€å„ãƒã‚¸ã‚ˇãƒ§ãƒŗã‚’1回更新するåŋ…čĻãŒã‚ã‚‹ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ã€ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã‚’é–‹å§‹ã—ã€ã‚Ģã‚Ļãƒŗã‚ŋãƒŧã‚’å‰Šé™¤ã—ã€ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã‚’åŽŒäē†ã—、ã‚Ģã‚Ļãƒŗã‚ŋãƒŧを削除しãĻ、10回å‡Ļį†ã•ã‚ŒãŸã“ã¨ã‚’įĸēčĒã—ãžã™ã€‚å ´åˆãĢã‚ˆãŖãĻは、各ã‚ĸイテムがn階䚗回数更新されることが判明しぞす。nはã‚Ēãƒŧダãƒŧ内ぎã‚ĸイテムぎ数です。そしãĻ、あãĒãŸã¯į†čĢ–ãŒåŽŸčˇĩと寞įĢ‹ã—ãĻã„ã‚‹ã“ã¨ã‚’į†č§Ŗã—ãĻいぞす。ã‚ĸãƒĢゴãƒĒã‚ēムをæŽĸしãĻいãĻ、それをčĻ‹ã¤ã‘ãĻいぞす。これらはã‚ĩイクãƒĢです。ã‚ĩイクãƒĢは常ãĢį—›ãŋぎ原因です。これらはåŋ˜ã‚Œã‚‰ã‚ŒãŸæĄäģļです。つぞり、デãƒŧã‚ŋã‚’æ­Ŗã—ã„å€¤ã§æ›´æ–°ã—ãžã™ãŒã€ãã‚ŒäģĨ上åŋ…čρãĒい場合は「停æ­ĸã€ã¨č¨€ã„ã€ãã‚Œã§ã‚‚æ›´æ–°ã—ãžã™ã€‚

時々、これはDISTINCTã‚’čĄŒã†ãŽã‚’åŋ˜ã‚ŒãŸã‚ĩブクエãƒĒ、つぞりWHEREãƒĒクエ゚トです...ID INであり、多くぎ一意でãĒい値をčŋ”ã™ãŸã‚ã€å•éĄŒãŒį™ēį”Ÿã—ãžã™ã€‚ãã—ãĻã€ã‚‚ãĄã‚ã‚“ã€åŋ˜ã‚Œã‚‰ã‚ŒãŸã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã€‚



そしãĻ最垌ãĢã€į§ã¯æ™‚ã€…ãžã‚ŒãĒビジネ゚抟čƒŊãŒã‚ã‚‹ã¨č¨€ã„ãžã—ãŸã€äēēが1æ—ĨãĢ1回、渋々とåŊŧらãĢčŋ‘ãĨき、抟čƒŊãŒã‚ˆã‚Šã‚†ãŖãã‚Šã¨ã‚†ãŖãã‚Šå‹•äŊœã™ã‚‹ã¨ãã€‚č¨˜éŒ˛ã¯æŦĄãŽã¨ãŠã‚Šã§ã—たīŧš15分ぎäģ•äē‹ã‹ã‚‰ãŽäēēは2時間ぎäģ•äē‹ãĢ変わりぞした。そしãĻ、čĒ°ã‚‚åŊŧぎãƒĒãƒŧダãƒŧさえįŸĨらãĒã‹ãŖãŸã€‚åļį„ļčĻ‹ã¤ã‘ãŸã¨ãã€ãŸã ãŽå–œãŗã¨ã‚ˇãƒŖãƒŗãƒ‘ãƒŗãŽã‚šãƒ—ãƒŠãƒƒã‚ˇãƒĨãŒã‚ã‚Šãžã—ãŸã€‚ã§ã€į§ãŸãĄã¯ã—ãĒければãĒらãĒいことを常ãĢログ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖæŽĸる、トップで抟čƒŊpg_stat_statementsビãƒĨãƒŧã§ã¯ã€ã‚­ãƒŖãƒƒãƒį•°å¸¸ã‚’pg_stat_functionsã‚ŗãƒŧドをクãƒĒãƒŧãƒŗã‚ĸップするだけです。ブãƒĢックãƒĒãƒŗãƒ–ãƒĒãƒƒã‚¸ã‚’ãƒšã‚¤ãƒŗãƒˆã™ã‚‹ã‚ˆã†ãĒもぎです。トップ5を最遊化すると、さらãĢ多くぎ新しいブãƒĒãƒƒã‚¸ãŒčĄ¨į¤ēされ、円を描くようãĢ歊きぞす。しかし、これはãƒĻãƒŧã‚ļãƒŧぎåŋĢ遊さぎéĩです。

最įĩ‚įš„ãĢ、一時テãƒŧブãƒĢを削除しぞした。一時テãƒŧブãƒĢは、2009åš´ãĢį—›ãŋをåŧ•きčĩˇã“ã—ãžã—ãŸã€‚ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã”ã¨ãĢ切り捨ãĻるåŋ…čĻãŒã‚ãŖãŸãŸã‚ã§ã™ã€‚ãƒŦã‚Ŧã‚ˇãƒŧ ã‚ŗãƒŧド、ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļé–ĸ数、再帰クエãƒĒぎ削除ãĢæˆåŠŸã—ãžã—ãŸã€‚ã“ã‚Œã¯ã‚ã‚‹į¨ŽãŽåĨ‡čˇĄã§ã™ã€‚ãģとんおぎ場合、こぎ抟čƒŊãĢついãĻ記čŋ°ã—たすずãĻãŽã‚ŗãƒŧドは、よりéĢ˜é€ŸãĢã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢされ、čĒ­ãŋやすくãĒりぞす。

最垌ãĢ、äŊ•ã‚‰ã‹ãŽč¤‡é›‘ãĒ場所がある場合、おぎようãĢé–ĸ数をデバッグしぞすかīŧšã‚¯ãƒ­ãƒƒã‚¯ã‚ŋイム゚ã‚ŋãƒŗãƒ—å‰ãĢ通įŸĨし、垌ãĢ通įŸĨし、時間をčĻ‹ã‚‹ã“ã¨ãŒã§ããžã™ã€ãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĢすることができぞす。



おぎようãĢã‚ŗãƒŧãƒ‰ã‚’įŽĄį†ã—ãžã™ã‹īŧŸ

先ãģãŠč¨€ãŖãŸã‚ˆã†ãĢã€įžåœ¨3,000ぎé–ĸæ•°ãŒã‚ã‚Šãžã™ã€‚æ˜¨åš´ã€į§ãŸãĄã¯éžå¸¸ãĢ大きãĒæ›´æ–°ã‚’čĄŒã„ã€ãģとんおぎビジネ゚ロジックを攚善し、ã‚ĩã‚¤ãƒˆį”¨ãĢ更新しぞした。čĒ°ã‚‚ãŒæē€čļŗã—ãĻã„ãžã—ãŸã€‚į§ãŸãĄã¯å¤§é‡ãŽã‚ŗãƒŧドを投げぞしたīŧšåŖŠã‚ŒãŸã‚¤ãƒŗã‚ŋãƒŧフェãƒŧã‚šã€åŖŠã‚ŒãŸæŠŸčƒŊã€‚ãã‚Œã‚’å–ã‚Šé™¤ãæ–šæŗ•ã¯īŧŸ EclipseぞたはIDE IDEAãŽãŠã“ã‹ã§ã€ã‚¯ãƒŠã‚šã€ãƒĄã‚Ŋッド、これらすずãĻをãƒĒãƒŗã‚¯ã§ããžã™ãŒã€ã“ãŽã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŒåŽŸéš›ãĢäŊŋį”¨ã•ã‚ŒãĻいるかおうかはわかりぞせん。ビジネ゚ロジックがすずãĻé–ĸæ•°ã§č¨˜čŋ°ã•れãĻいる場合、pg_stat_user_functionをäŊŋį”¨ã™ã‚‹ã¨ã€é–ĸ数がå‘ŧãŗå‡ēされãĻいるかおうかがわかりぞす。

3か月間働いãĻいる場合は、įĩąč¨ˆã‚’čĻ‹ãĻãã ã•ã„ã€‚ãžãŖãŸãå‘ŧãŗå‡ēされãĒいé–ĸ数がčĻ‹ã¤ã‹ã‚Šãžã™ã€‚ãã—ãĻį§é”ã¯ã“ã†ã—ãĻ千嚴ãĢã‚ãŸãŖãĻãģãŧ千ぎæ­ģんだ抟čƒŊã‚’č“„įŠã—ãŸã€‚ã‚¯ã‚¨ãƒĒぎ劊けを借りãĻ、1分īŧˆãŠãã‚‰ã2時間īŧ‰č€ƒãˆãšãĢ、これらぎé–ĸæ•°ã¨å›žčˇ¯ãŽåå‰ã‚’å—ã‘å–ã‚Šã€ãã‚Œã‚‰ã‚’ " to-delete " ゚キãƒŧムãĢčģĸ送する゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖã‚’äŊœæˆã—ぞした。銚いたことãĢ、2é€ąé–“ã§æŠŸčƒŊがæŦ čŊしãĻいる䞋外は2つしかありぞせんでした。 1つぎ抟čƒŊはいくつかぎåˆļ限を切りæ›ŋえ、それは「é›ĸ劚」とå‘ŧばれ、もう1ã¤ã¯į§ãŽå€‹äēēįš„ãĒ抟čƒŊã§ã—ãŸã€‚į§ã¯é•ˇã„é–“å…ŦåŧãŽãƒ‹ãƒŧã‚ēからそれをå‘ŧãŗå‡ēしぞせんでした。

ã¤ãžã‚Šã€ã“ã‚Œã¯č‰¯ã„æŠŸäŧšã§ã‚り、おそらくäģ–ぎ場合ãĢã¯åˆŠį”¨ã§ããžã›ã‚“ã€‚ 1つぎįĩąåˆį’°åĸƒã§ã‚ŗãƒŧãƒ‰ã‚’ãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĒãƒŗã‚°ãŠã‚ˆãŗé–‹į™ēできるだけでãĒãã€åŒã˜į’°åĸƒã§åŧˇåŠ›ãĒã‚ŗãƒŧãƒ‰ã‚’å†č¨­č¨ˆã§ããžã™ã€‚ UIDを取垗する前ãĢ、SessionIDデãƒŧã‚ŋåž‹ã‚’å†įˇ¨é›†ã—ãŸã‚‰ã€int8をäŊŋį”¨ã—ãžã—ãŸã€‚ Liferayとぎäē’æ›æ€§ãŽãŸã‚ãĢã€ã‚¤ãƒŗã‚ŋãƒŧネットãĢå‡ēかけることãĢしたときは、UIDãĢ切りæ›ŋえるåŋ…čĻãŒã‚ã‚Šãžã—ãŸã€‚ pg_procを分析するいくつかぎ゚クãƒĒプトをäŊŋį”¨ã—ãĻ、DROP FUNCTION、CREATE FUNCTIONã€ãŠã‚ˆãŗå¤‰æ›´ã•ã‚ŒãŸãƒ‡ãƒŧã‚ŋåž‹ã‚’åŽŸčĄŒã™ã‚‹å¤§čĻæ¨ĄãĒSQL゚クãƒĒプトをäŊœæˆã—ぞした。これらはすずãĻ、1ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗã§å¤œé–“8åˆ†ã§åŽŸčĄŒã•ã‚Œãžã—ãŸã€‚ 2500ぎ゚トã‚ĸãƒ‰ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãŒå¤‰æ›´ã•ã‚Œãžã—ãŸã€‚



希望と期垅 JSONとJSONBãĢ

大きãĒ期垅。īŧšå…ˆãģãŠč¨€ãŖãŸã‚ˆã†ãĢ、これはã‚Ģãƒŧã‚ŊãƒĢãŽå•éĄŒã§ã™ã€‚ã“ã‚Œã‚’å–ã‚Šé™¤ã„ãĻ、PL / Proxyを銀ぎ大įšŋぎ上ãĢįŊŽããžã™ã€‚įŦŦäēŒãĢã€ã„ãã¤ã‹ãŽã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚をAndroidãĢčģĸ送するという期垅があり、JSONは非常ãĢäžŋ刊です。ã‚ĩã‚¤ãƒˆãŽã‚ã‚‰ã‚†ã‚‹į¨ŽéĄžãŽãƒ•ã‚ŖãƒĢã‚ŋãƒŧとACLをJSONãĢįĩžã‚Ščžŧã‚“ã§ã€éžæ­ŖčĻåŒ–ã™ã‚‹ã“ã¨ã¯å¯čƒŊã§ã™ã€‚ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãĢはおんãĒį´ æ™´ã‚‰ã—ã„ã“ã¨ãŒã‚ã‚‹ã‹ã‚’č€ƒæ…Žã—ãĻ、非常ãĢéĢ˜é€ŸãĢ動äŊœã™ã‚‹ã¯ãšã§ã™ã€‚BRINã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãĢ非常ãĢæē€čļŗã—ãĻいぞす、分析があるため、åˆĨぎデãƒŧã‚ŋベãƒŧ゚ãĢčģĸ送されぞす。そしãĻ、BDRとč̖ᐆ複čŖŊ-ãĒぜそれがåŋ…čρãĒぎかぞだわかりぞせんが、原際ãĢčŠĻしãĻãŋãŸã„ã¨æ€ã„ãžã™ã€‚ãžãšã€åˆ†æžãŽå•éĄŒã‚’č§Ŗæąēしぞす。つぞり、一部ぎデãƒŧã‚ŋをåˆĨぎデãƒŧã‚ŋベãƒŧ゚ãĢé¸æŠžįš„ãĢãƒ—ãƒƒã‚ˇãƒĨできぞす。æŦĄãĢã€åˆ†æ•Ŗã‚ˇã‚šãƒ†ãƒ īŧˆAvitoãĒおīŧ‰ã‚’äŊœæˆã™ã‚‹ã“ともできぞす。

さãĻ、Avito、Yandex、Zalando、Pivo​​talãĒおぎ小čĻæ¨Ąã ãŒæˆåŠŸã—ãĻいるäŧæĨ­ã¨æœ€å¤§ãŽå›Ŋéš›įš„ãĒäŧæĨ­ãŽä¸Ąæ–šãŽãƒĒãƒŧダãƒŧã‹ã‚‰ãŽæœ€ã‚‚čˆˆå‘ŗæˇąã„ã‚ĩクã‚ģ゚゚トãƒŧãƒĒãƒŧぎãŋをæē–備しįļšã‘ãĻいぞす。ãƒŦポãƒŧãƒˆãŽį”ŗčĢ‹ã¯ã€äŧšč­°Webã‚ĩイトでįĸēčĒã§ãã€æœ€ã‚‚é–ĸé€Ŗæ€§ãŽã‚ã‚‹ãƒˆãƒ”ãƒƒã‚¯ãĢ投įĨ¨ã§ããžã™ã€‚

Source: https://habr.com/ru/post/J326758/


All Articles