áááŒá¬áá±ážáá®á á
á¶áá»ááºááŒá¯ááºáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºážááᯠááŒá±á¬ááŒáá²á·áá«áááºá
#áá á¡ááá¯ááºážááœá²ááŒááºážá
á
ááºážáá¯á¶ážááá»áá¯ážáááºááŒá±á¬ááºáž áá±á¬ááºážáá«ážáá
áºáá¯ááº
"ááœááºáá²á·áá²á· áá±á·áááºááœá±..."
á¡á ááá¯ááºážááœááºá MVP áá²á·ááá¯á·áááºá áá»áœááºá¯ááºááá¯á·áááá±á¬áá»ááºááẠáá±á«á·áá«ážáá±á¬áááºááŒáá·áº á áááºáá²á·ááẠ- á á±á¬áá·áºááŒáá·áºá á áºáá±ážááŒááºážááᯠá¡ááœááºá¡áá±ážááŒá®ážáá±á¬ áá¬áá¬áá áºáá«áááºá¡ááœááºáᬠáá¯ááºáá±á¬ááºáá²á·áááºá ááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠá¡áá±á¬áºáá±ážáá»á áºáá áºááœá¬ážáááº... ááá¯á·áá±á¬áº á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸ á á±á¬áá·áºááŒáá·áºáááºáá¶áá°á¡áá±á¡ááœáẠááá¯áá»á¬ážáá¬áááºá ááŸáá·áº áá±á¬ááºáááºá áá áºáá¯ááŸáá·áºáá áºáᯠáá áºáá¯áá¯áá¯ááºááẠááŒáá¯ážá á¬ážááŒááºáááºá á á¬ážááœá²á¡ááœááºá¡á á¬áž 1.5TBáá®ááá¯áá»áá¯áž áááºáá±ááá¯á· ááŒá áºááá¯ááºáá±ááá·áº á¡áááºáááŒá±áá°ážááá¯áá¬ááᯠáá»áœááºáá±á¬áºááá¯á· ááá±á¬áá±á«ááºáá«áááºá
á¡áá»áááºáá»á¬ážááẠáá±á¬ááŸááºáá±ááºáá»á¬ážáá²á·ááá¯á·áááºá PostgreSQL 9.x á ááá°áá®áá±á¬ áá¬ážááŸááºážáá»á¬ážááẠáááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº ááá¯ááºážááŒááºááŒááºážá¡á¬ážáá¯á¶ážááᯠ"ááá¯ááºááá¯ááº" áá¯ááºáá±á¬ááºááááºááŒá
áºáá«áááºá ááá¬ážá¡ááœá±ááŸáá·áºá¡á
áá»áá¯ážáá»á¬áž dynamic ááŒáá·áº áááºážááŒá±á¬ááºážááŒá±á¬ááºážááŒááºážá EXECUTE
.
ááááºá¡ááŒá±ááẠááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· áá¬áá¬ááŒááºááá¯ááá¯ááºáá±á¬ááºá¡á±á¬áẠuniversal ááŒá
áºáá¬áá²á·áááº-
- á¡á¬ážáá¯á¶ážááᯠáá±á¬áºááŒáá¬ážááá·áº âáá±á«ááºážá á®ážâ áááºáááá¬áž á¡ááœááºáá áºáá¯ááᯠááŒá±ááŒá¬áá²á·áááºá ááá¯á¡ááºáá±á¬ á¡ááœáŸááºážáá»á¬ážááŸáá·áº á¡á áá»áá¯ážááŸá¯áá»á¬áž.
- áá±á¬ááºáááºáá¡ááŒááºá០ááŸááºáááºážááᯠâá¡ááŒá
áºâ ááá¬ážááœáẠááŒá¯áá¯ááºáá¬ážááŒá®áž á¡ááœááºážááá¯ááºážááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá routing trigger
BEFORE INSERT
ááŸááºáááºážááᯠááá¯á¡ááºáá±á¬ááá¹áááœáẠ"áá¯ááºááá¯ááºážááá¯ááºáá¬" ááá·áºááœááºážáá¬ážáááºá áá®ááá¯áá»áá¯áž áááŸááá±ážáá°ážááá¯áááºáá±á¬á· ááŒáœááºážáá»ááºá¡áá±áá²á·áá±á«á·áá±á¬áº... - âŠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº
áááºáááá¬ážá ááá°áá¬áá¯á¶á á¶ááᯠá¡ááŒá±áá¶á áááºáá®ážáá¬ážáááºá ááá¯áá»ááºáá±á¬áááºá áœá²á¡áá±á«áºááá·áºáááºáá»ááºááŸáá·áºá¡áá°á¡ááá¯ááºážááá¯á·ááŒá±á¬áá·áº áá±áá¬ááᯠáá¯ááºáá°ááá·áºá¡áá«ááœááºáᬠá á¬áááºááŒááºážááᯠáá¯ááºáá±á¬ááºáá«áááºáCREATE TABLE ... (LIKE ... INCLUDING ...)
PG10: ááááá¯á¶áž ááŒáá¯ážá á¬ážááŸá¯
ááá¯á·áá±á¬áº á¡ááœá±áááºáá¶ááŒááºážááŸáá áºááá·áº ááá¯ááºážááŒá¬ážááŒááºážááẠáááºááŒáœáá±á¬áá±ážáá¬ážááŸá¯áááºážááŒá±á¬ááºáž ááá¯á·ááá¯áẠááá±ážá¡ááá¯ááºážááá¯ááºážá¡áá»á¬ážá¡ááŒá¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážáá¬ááœáẠáá±á¬ááºážá áœá¬áááá·áºáá±á¬áºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá ááá¯á¡ááºáá±á¬ááá¹áááá¯ááœá±ážáá»ááºááŒááºážá¡ááœáẠalgorithm áá«ááŸáááŒá±á¬ááºáž áááºááŸááºááááá¯ááºáááºá áá±ážáá±á¬áá·áºááŸá¯ááºááœá±ážááŸá¯á¡ááá¯ááºáž 100+ áá²á· á¡áá¯ááºáá¯ááºááá¯á· áááºááá¯ááºááá¯áẠáááºááá¯áá¬ážáááºáá²...
PG10 ááœáẠá€á¡ááŒá±á¡áá±ááẠá¡áá±á¬ááºá¡áá¶á·ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº á¡ááœááºáá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºáá²á·áááºá
áááºá áœá²á á¬á¡á¯ááºááᯠáá°ážáá±á¬áºááŒá®ážáá±á¬áẠááœááºáá±á«áºáá¬ááá·áºá¡ááá¯ááºážá á€áá¬ážááŸááºážááœáẠá¡ááá¯ááºážááá¯ááºážááœá²áá¬ážáá±á¬ ááá¬ážáááº-
- á¡ááœáŸááºážáá±á¬áºááŒáá»ááºáá»á¬ážááᯠááá¶á·ááá¯ážáá«á
- áááºážááœáẠá¡á áá»áá¯ážááŸá¯áá»á¬ážááᯠááá¶á·ááá¯ážáá«á
- áááºáá°áá áºáŠážáá áºáá±á¬ááºá "áá»áá¯ážááá¯áž" áááŒá áºááá¯ááºáá«
- ááá±á¬ááºáá¶áá°ážá
INSERT ... ON CONFLICT
- á¡ááá¯ááºážááᯠá¡ááá¯á¡áá»á±á¬áẠáá¯ááºááá±ážááá¯ááºáá«á
ááœááºááŒá áºááŒáá·áº ááá°ážááᯠáá¬áá»ááºá áœá¬ ááá¯ážááŸááºáá¶áááŒá®ážáá±á¬áẠáá»áŸá±á¬ááºááœáŸá¬ááᯠááœááºážáá¶ááŒááºáááºááŒááºážáááŸááá² áá¯ááºáá±á¬ááºááẠáááŒá áºááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááááŸááá²á·ááŒááŒá®áž áá±á¬ááºááẠáá¯áá±ááááᯠááŒá±á¬ááºáááŒá¬ ááœáŸá±á·ááá¯ááºážááá¯ááºáá«áááºá
PG10: áá¯áááá¡ááœáá·áºá¡áá±áž
áá«ááŒá±á¬áá·áº áá áºáá¯ááŒá®ážáá áºáᯠááŒá áºáá±á«áºáá¬áá²á· ááŒá¿áá¬ááœá±ááᯠá áááºááŒá±ááŸááºážáá²á·áááºá
- á¡ááŒá±á¬ááºážááŸá¬ á¡á
áá»áá¯ážááŒááºážááŸáá·áº
ON CONFLICT
áááºážááá¯á·ááᯠá€áá±áá¬ááœáẠááá¯á¡ááºáá±áá±ážááŒá±á¬ááºáž ááœá±á·ááŸááá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠá¡áááºá¡áááºá¡ááá·áºáá áºáᯠááŒá¯áá¯ááºáá²á·áááºá ááá±á¬ááºá á®ááá¬áž. - "áááºážááŒá±á¬ááºáž" á០ááœááºááŒá±á¬ááºááœá¬ážááŒá®á in triggers - ááá¯ááá¯áááºááŸá¬ á០ááŒá
áºáááºá
EXECUTE
. - áá°ááá¯á· á áááºááẠáááºáá¯ááºáááºá á¡ááœáŸááºážá¡á¬ážáá¯á¶ážáá«áá±á¬ ááá°áá¬ááá¬ážááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·ááẠááá±á¬ááºá á®ááá¬ážááœááºááẠááá«áááºááá¯ááºáá«á
áá±á¬ááºáá¯á¶ážááœááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáááá¬ážááᯠáá°áááºážá¡ááá¯ááºáž ááá¯ááºážááŒá¬ážáá¬ážáááºá ááá¹áá¡áá
áºáá
áºáᯠáááºáá®ážááŒááºážááẠá¡ááá®áá±ážááŸááºážá á¡ááá
áááºááœáẠáá»ááºáá±áá±ážáááºá
"ááœáŸ" á¡áááá¬ááº
áááºááá·áº ááœá²ááŒááºážá
áááºááŒá¬ááŸá¯á
áá
áºááœááºáááᯠáá»áœááºá¯ááºááá¯á·áááºáž ááŸááá²á·áááºá "ááŒá
áºáááºááŸááº" ááŸáá·áº "ááŒááºáá±á¬ááºááŒááºáž" (á¡áááá¬ááº)á á¥ááá¬á¡á¬ážááŒáá·áºá
âááŒá áºáááºááŸááºáá»á¬ážâ ááᯠáá±á·á á¥áºá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠááá¯ááºážááŒá¬ážáá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº áá±ááºááá®áá±á¬á·áá±á¬ á¡ááá¯ááºážáá»á¬ážááᯠá¡á±ážá¡á±ážáá±ážáá±áž áá»ááºááá¯ááºááŒá®áž áááºážááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž á¡ááŸá±á¬ááºá¡ááŸááºáááŒá áºá á±áá« (ááŸááºáááºážáá»á¬áž!) áá«áá±ááá·áº á¡áááá¬ááºááœá±ááŸá¬ ááŒá¿áá¬ááŸááá²á·áááº...
á¡áá»á¬ážááŒá®ážááŸááááºááá¯á· áááŒá±á¬ááá¯áá±ááá·áº ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº 100TB "á¡áá»ááºá¡áááº" ááẠ2.5TB á¡áááá¬ááºááᯠááŒá áºáá±á«áºá á±áááºá. ááá¯ááá¯á·áá±á¬ááá¬ážá០áááºááá·áºá¡áá¬ááá¯á០á¡áááºááŒá±ááŒá±áá»ááºááááá«á áá¯á¶áá±á¬ááºáá±á¬á¡áá»áááºá áá»á¯á¶á·ááááá«á áááºážáá¶ááá¯á· á á¬áá±ážááŒááºážááẠáááŒááºážááŒááºážááŸá±ážááœá±ážáá¬áááºá
á¡áááá¬ááºáá áºáá¯ááá¯áá«áá²...á ááá·áºááœááºážááŸá¯áá áºáá¯á á®ááᯠáá áºááŒáááºáááá áá±á¬áºááŒáá±ážááá·áºáá«áááº... áá«á ááŸááºáá«áááºá áá«áá±ááá·áº.. áááºáá°áá០áá»áœááºáá±á¬áºááá¯á·ááᯠáá¬ážááá¬ážáá«áá°ážá áá±á·á ááºá¡ááœáẠáá®ážááŒá¬ážá¡áááá¬ááº! áá¯ááºáá²á·á áááºážááẠá¡áá»áá¯á·áá±á¬ áááºáá±á¬ááºážááŒááºážááᯠáá°áá±á¬ááºáá¬áá±á¬áºáááºáž áááºážááẠááœáá·áºááŒá¯áááº-
- ááá¯ááŒááºá¡á±á¬ááºáá±áž/áááºáá«á á¡ááá¯ááºáž á¡ááœááºá¡á á¬áž áá±ážáááºááŒááºážááŒá±á¬áá·áº
- ááŸááºáá¬ááºááᯠáá»áŸá±á¬á·á á¬ážáá«á ááá¯ááá¯áá»á áºáá áºááááºáááºážáá±á¬ á¡ááœáŸááºážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááŒááºážááŒáá·áº
- áá±áá¬áá»áŸá±á¬á·ááááºážáá«á áá»ááºááŒááºá áœá¬ áááºááŸá¬ážááá¯ááºá áœááºážááŒá±á¬áá·áº áá±ááºááá®áá±á¬á·áá«á
ááááºá¡áá±áá²á·ááá±á¬á· ááŸá¯ááºááœá±ážááŸá¯ááœá±á CPU load ááẠ~30%, disk load ~50% áá»á±á¬á·ááœá¬ážáááº:
áá
áºáá»áááºáááºážááŸá¬ááẠáá»áœááºá¯ááºááá¯á·ááẠáááºáááºážáá¯á¶áá»áŸááŒáá·áº áá±áá¬áá±á·á
áºáá²ááá¯á· á¡ááá¡áá»áá°áá®áá±á¬á¡áá¬ááᯠáááºáááºáá±ážáá¬ážáá²á·áááºá
#áá áá±áá¬áá±á·á áºááá·áºáá²ááŒá áºá ááºááŸáá·áº refactoring
áá®áá±á¬á· áá«ááá¯á·ááŸá¬ ááŸááá¬ááᯠáá¯á¶ážááŒááºáááºá áá±á·áááºááá¯ááºážááœááºáááºážáááá¯ááºááá¯ááºá¡ááá¯ááºážááŸááááºá áá±áá¬ááŸáá·áºá¡áá°á áá
áºáááºáá±á¬á·á CHECK (dt = '2018-10-12'::date)
â ááŸáá·áº áá®ážááŒá¬ážá¡ááá¯ááºážáá
áºáá¯ááá¯á· áá»áá±á¬ááºá
á±ááẠááŸááºáááºážáá
áºáá¯á¡ááœáẠá¡ááá¯ááºážááœá²ááŒááºážáá±á¬á·áá
áºáá¯ááŸáá·áº á¡ááŒá±á¡áá±áá
áºáá¯ááŸááááºá
áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯ááŸá á¡á á®áááºáá¶á á¬á¡á¬ážáá¯á¶ážááẠáááá»áá±á¬áááºá áœá²áá áºáá¯á¡ááœááºáž áááºáá±á¬ááºáá¬ážáá±á¬ááŒá±á¬áá·áºá "ááœá²ááŒááºážááá¬ážáá±á¬á¡áá»áááºáá»á¬áž" ááááºážá áááºážááá¯á·á¡ááœáẠá¡ááœáŸááºážáá»á¬ážááẠá¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážááŒá áºáááºá (áá¬áá¬á áá±á·á áŸá²Plan Template)á, (áá¬áá¬á áá±á·á áŸá²á¡á á®á¡á áẠnode), (áá±á·á áŸá²á¡ááŸá¬ážá¡áááºážá áá¬áá¬)...
ááá¯áá°áá¬áž ááá¹áááá¯ááºážááœáẠáá±ááá¯ááºááŒáááºá áááºááá±á¬áºáá®áá»á¬áž á¡ááœáŸááºážáá áºáá¯á á®... ááŸáá·áº ááá¹ááá áºáá¯á á®á¡ááœááºáž áááºá áœá²ááẠááááºážáá±áá áºáá¯ááŒá áºáááºá... ááᯠáá»áœááºá¯ááºááá¯á·ááẠááá¯áá²á·ááá¯á·áá±á¬ á¡ááœáŸááºážááááºážáá áºáá¯á á®ááœáẠááŸááá±áá«áááºá ááááºážáá±áá áºáá¯ááᯠááá·áºááá¯ááºáá¯á¶áá«áá²á áááºážáá¡áá¶á¡ááá¯ážá¡áá»ááºááŸáá·áº ááŸá¬ááœá±ááŸá¯á¡áá»áááºááᯠááá¯ážá á±ááá·áº áááºáááºáá áºáá¯á¡áá±ááŒáá·áºá ááá¯á·áá±á¬áº áááºááá·áºááááºá០ááœááºáá±á«áºáá¬ááŒááºážáááŸááá«á áá°ááá¯á·ááá¯ááºáá°ááá¯á· áá»á¯ááºáá²ááᯠáá»ááºáá¬ážáá²á·ááŒááẠá¡áá¯áž...
ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážá áŠážáááºáá»ááºááŸá¬ áááá¬áááºááŸá¬ážáá«áááºá á¡ááœáŸááºážá¡á¬ážáá¯á¶ážá០áááºá
áœá²á¡ááœááºááᯠáááºááŸá¬ážáá«á ááá¯ááºážááŒá¬ážáá¬ážáá±á¬ááá¬ážáá»á¬ážáá±á«áºááœááºá áá»áœááºá¯ááºááá¯á·á á¡ááœá²áá»á¬áž á¡á á¡ááŒááºááẠáá±á¬ááºáá¬ááŒá
áºáááºá 1TB/áá
áºáááº!
ááᯠဠterabyte ááᯠáá áºáááºážáááºážááŒáá·áº ááŸááºáááºážáááºáá¬ážááá²ááŒá áºááŒá±á¬ááºáž áááááŒá¯ááŒáá«á áá¯á·á á¡á²áá«ááá±á¬á· áá»áœááºáá±á¬áºááá¯á·áááºáž áá«áááºá disk ááẠááᯠload áááºážááá·áºáááºá! á€áá¯á¶ááẠáá»áœááºá¯ááºááá¯á· áá áºáááºáᬠáá¯ááºáá±á¬ááºáá²á·áá±á¬ ááá·áºááŸááºážáá±ážá០áááŸááá±á¬ á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠááŸááºážááŸááºážáááºážáááºáž ááŒááááº-
#áá á¡ááœááºá¡ááááºáááºááᯠ"ááŒáá·áºáá»ááºááŒááºáž"
loaded system á ááŒá®ážáá¬ážáá±á¬ ááŒá¿áá¬áá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá áááá¯á¡ááºáá±á¬ áááºáá°ááŒá¯ááŸá¯ áááá¯á¡ááºáá²á· áá¯ááºáá±á¬ááºáá»ááºá¡áá»áá¯á·á áá áºáá«áá áºáᶠ"áá°ááá¯á·áááááá¬ážáááá±á¬ááŒá±á¬áá·áº" á áá áºáá«áá áºáᶠ"ááá¯áááºážáááºááá¯ááá¯ááœááºáá°áááº"á ááá¯á·áá±á¬áºáááŒá¬áá®ááá¯á·ááá¯ááºáá±á¬ááºááá¯ááºážááœááºáááºážááá¯áááºááŸá¬ážáá áºáááºááá¯á¡ááºáááºá
ááááºáá¯á¶áá±á«áºááœáẠáá°ážááºáá»á²á·ááŒá®áž áá»áœááºá¯ááºááá¯á·ááœáẠáá áºááºáá áºáá¯ááŸááááºááᯠááŒáá·áºááŒáá«á áá¯á· ááŸá áºáááºááá¬áááŸááá±á¬áááºá¡á±á¬ááºááœáẠ"pumps" ááá¯ááá¯á·áá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá áœá¬ááŒáá·áº ááŸááºážááŸááºážáááºážáááºáž "ááááºážááááºážá¡á" áááŒá áºááá·áºáá±á¬ áááºáá»ááºááá°áá¬áá»á¬ážá¡ááŒá¬ážá
áá«áá¡á±á¬ááºááŒááºááá¯á·á¡áá±á¬áºáá±ážááœááºáá°áááºá áá»áœááºáá±á¬áºááá¯á·á á
áááºá
á±á¬áá·áºááŒáá·áºáá±áá«ááŒá®á áá¬áᬠ1000 áá®ážáá«ážáá
áºáá¯áá»ááºážá
á®ááᯠáá®ážááŒá¬áž logical thread áá
áºáá¯ááŒáá·áº áá¯ááºáá±á¬ááºááŒá®ážá thread áá
áºáá¯áá»ááºážá
á®ááẠá¡áá»áá¯á·áá±á¬ ááŒáááºááŸá¯ááºážááŒáá·áº áá±áá¬áá±á·á
áºááá¯á· áá±ážááá¯á·ááá·áº á
á¯áá±á¬ááºážáá¬ážáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠááŒááºáááºáááºááŸááºáááº-á
setInterval(sendToDB, interval)
á€áá±áá¬ááœáẠááŒá¿áá¬ááŸá¬ á¡ááá¡áá» áááºááŸááá±áá«áááºá ááá¯ááºážáá»á¬ážá¡á¬ážáá¯á¶ážááẠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº áá áºáá»áááºáááºážááœáẠá áááºáááºáááá¯á·ááŒá±á¬áá·áº áááºážááá¯á·á áá±ážááá¯á·ááá·áºá¡áá»áááºáá»á¬ážááẠá¡ááŒá²áááºážáá®ážáá«áž âá¡áá»ááºâ ááŸáá·áº ááá¯ááºáá®áá±áá«áááºá á¡áá¯áž áá¶áá«áẠá...
áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á áá®áá¬ááá¯ááŒááºááá¯á·á¡áá±á¬áºáá±ážááœááºáá°ááẠ"áá»áááºáž" á¡ááŒá±ážááᯠáá±á«ááºážááá·áºáááºá á¡áá»áááºá¡á¬ážááŒáá·áº-
setInterval(sendToDB, interval * (1 + 0.1 * (Math.random() - 0.5)))
#áá áá»áœááºá¯ááºááá¯á· ááá¯á¡ááºáááºáá»á¬ážááᯠááááºážáááºážáá¬ážáá«áááºá
ááááááŒá±á¬áẠááá¬ážááá¯ážáá» ááŒáá·áºáá¬ážáá±á¬ ááŒá¿áá¬ááŸá¬ ááŒá áºáááºá cache áááŸááá«á áá°áááºááŸá¬áá²á ááá¯ááºáá²á·ááẠááŒá áºááááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á
á®á¡á
áẠnode áá»á¬ážááᯠááœá²ááŒááºážá
áááºááŒá¬ááẠááŒá
áºááá¯ááºáá»á±ááŸáááẠ(áá«á¡á¬ážáá¯á¶áž Seq Scan on users
) áá«áá±ááá·áº á¡áá»á¬ážá
á¯ááá±á¬á· á¡áá°áá°áá«áá²ááá¯á· áá»ááºááŒááºážáá² ááœá±ážááá¯ááºáá« - áá°ááá¯á· áá±á·ááœá¬ážáááºá
ááá¯ááºáá«á áá¯ááºáá«áááºáá áá¬ááá¯ááŸáá±áá¬áá±á·á
áºááŸá¬áá±á¬ááºááááºááá±ážáá¬ážáá«áá°ážá áá«áá¡á
áá»áá¯ážááá¯ááŒááºáááºá INSERT ... ON CONFLICT DO NOTHING
. ááá¯á·áá±á¬áº á€áá±áá¬ááẠáá±áá¬áá±á·á
áºááá¯á· áá±á¬ááºááŸááá±áá²ááŒá
áºááŒá®áž áááºážááẠáááá¯á¡ááºáá«á áááááá¹ááá»á¬ážááᯠá
á
áºáá±ážááẠá
á¬áááºááŒááºážá áá¯ááºááááºá á¡áá¯áž áá¶áá«áẠá...
áááºááŸáºáááœáá·áºáá®/ááŒá®ážáá±á¬áẠáá±áá¬áá±á·á áºááá¯á· áá±ážááá¯á·ááá·áº ááŸááºáááºážá¡áá±á¡ááœáẠááœá¬ááŒá¬ážáá»ááºááŸá¬ áááá¬áááºááŸá¬ážáááº-
áááºážááẠáá°ážááœá²áá«ááŸááá±á¬ ááá¯ááŸá±á¬ááºááŸá¯ áá»áááºážááŸá¯ááŒá
áºáááº-
á á¯á á¯áá±á«ááºáž
"Terabyte-per-day" ááẠááŒá±á¬ááºá áá¬áá±á¬ááºážáá±á¬á¡áá¶ááŒá áºáááºá á¡á¬ážáá¯á¶ážááᯠááŸááºá¡á±á¬áẠáá¯ááºááẠáá«á ááá¬ážáá»áŸááááºá 2^40 bytes / 86400 á áá¹ááá·áº = ~12.5MB/sdesktop IDE áááºá¡á°áá»á¬ážááá¯ááẠááá¯ááºáá¬ážáááºá ð
ááá¯á·áá±á¬áº áá±ážáá±ážáááºáááºá áá±á·á á¥áºá¡áá»áááºá¡ááœááºáž áááºááᯠáááºá "ááœáŸá²" ááŒáá·áºáááºá áááºááẠáá±ááºáá® SSD áá»á¬ážá á áœááºážáá±á¬ááºáááºáá»á¬ážááᯠá¡ááœááºááá° ááŒáá·áºáááºážááá¯ááºáá«áááºá
source: www.habr.com