3. áááá¯áááºááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«ááœáẠáááºáá±á¬ááºáá¯á¶áá¯á¶á á¶ááœá²áá»á¬áž
á¡áááá·áºáá±ážáá¬ážáá±á¬áá áºáááºáá²á·ááá¯á·áá±á¬ ááœá²á·á ááºážáá¯á¶ááœáẠá¡áá°ážááá á¹á ááẠá¡áá»áá¯ážáá»áá¯ážááŸááááºá áááá¯áááºááºáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬á¡áá« áááºááœá±á·áá»áá±á¬áááºááá¯ážááŸááá°áá»á¬ážááᯠáá¯á¶ážáááºááŒáá·áºááŒáá«á áá¯á·á
3.1 á¡áá°ážááá á¹á 1. á¡ááá¯ááºážá¡áááºáááŸááá±á¬ node áá áºáá¯
Globals ááᯠarray áá
áºáá¯áá²á·ááá¯á·áá¬áá áá¯á¶ááŸáẠvariable áá»á¬ážáá²á·ááá¯á·áááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±á¬ááºáá¬áá
áºáá¯á¡áá±ááŒáá·áº-
Set ^counter = 0 ; ÑÑÑаМПвка ÑÑÑÑÑОка
Set id=$Increment(^counter) ; аÑПЌаÑМПе ОМкÑеЌеМÑОÑПваМОе
á€ááá á¹á ááœááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬á áááºážáá¡áááá¹áá«ááºá¡ááŒááºá á¡ááá¯ááºážá¡áááºáá»á¬ážáááºážááŸáááá¯ááºáááºá áá áºáá±á¬ááºá áááŒá¬ážáá áºáá±á¬ááºááᯠááááºáá¬ážáá°ážá
3.2 á¡áá°ážááá á¹á áá ááááºáááºážáá áºáá¯ááŸáá·áº á¡ááá¯ááºážá¡áááºáá»á¬ážá áœá¬
áá±áá¯áá»á¡á¬ážááŒáá·áºá áááºážááẠááá¹ááááºáá±á¬á·áááºááá¯ážá¡ááŒá±áá¶áá áºáá¯ááŒá áºáááºá áááºááá¯ážáá áºáá¯á tuple ááᯠáááºááá¯ážáá áºáá¯á¡ááŒá Ạááááºážáááºážáá«áá áá»áœááºá¯ááºááá¯á·ááẠá¡ááááá±á¬á·áá áºáá¯áá«áá±á¬ áá¬áááºááá¬ážáá áºáá¯ááᯠáááŸááááºááŒá áºáááºá
áááá¯áááºááºáá»á¬ážáá±á«áºááœáẠááá¬ážáá
áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬áºáá¶áááºááá¯ážáá»á¬ážá០á¡áááºážáá»á¬ážááᯠááá¯ááºááá¯ááºáá¯ááºáá¯ááºááŒá®áž áááºááá±á¬á·ááᯠá¡áá¯á¶ážááŒá¯á áááºážááá¯á·ááᯠáááá¯áááºááá¯á· ááááºážáááºážááááºááŒá
áºáááºá á
á¬ááŒá±á¬ááºážáá»á¬ážááᯠáá±á¬áºáá¶áá»á¬ážá¡ááŒá
Ạáááºáᶠááá¯ááºážááŒá¬ážááá¯ááºá
á±áááºá¡ááœááºá áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááº-
- á¡áá¬ážáááºá¡áá¹ááá¬áá»á¬ážá
Set ^t(id1) = "col11/col21/col31" Set ^t(id2) = "col12/col22/col32"
- á¡ááœááºáá áºáá¯á á®ááẠááŒáá¯áááºáááºááŸááºáá¬ážáá±á¬ bytes á¡áá±á¡ááœááºááᯠááá°áá¬ážááá·áº áááºážáá»ááºáá±á¬á¡á á®á¡á ááºá áááºá ááºáá±áá¬áá±á·á áºáá»á¬ážááœááºááŒá¯ááá²á·ááá¯á·á
- áááºááá¯ážáá»á¬ážá
áœá¬ááᯠáááºáá®ážáá±ážááá·áº á¡áá°ážáá¯ááºáá±á¬ááºáá»áẠ$LB (Cache ááœáẠáááá¯ááºáááº)á
Set ^t(id1) = $LB("col11", "col21", "col31") Set ^t(id2) = $LB("col12", "col22", "col32")
á áááºáááºá á¬ážá áá¬ááŸá¬á áááºá ááºáá±áá¬áá±á·á áºáá»á¬ážááŸá áá¯áááá¡ááœáŸááºážááááºážáá»á¬ážááŸáá·áº áááºáá°ááá·áºá¡áá¬áá áºáá¯ááᯠáá¯ááºáá±á¬ááºááẠáááá¯áááºááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠááááºáá²áá«á ááá¯ááá¯á·áá±á¬ á¡áá±á¬ááºá¡áŠáá»á¬ážááᯠá¡ááœáŸááºážáááá¯áááºáᯠáá±á«áºááŒáá«á áá¯á·á á¡ááœáŸááºážááááºážáááá¯áááºááẠáááºááááá¯áááºáá¡ááááá±á¬á·áá¡á áááºá¡ááá¯ááºážááá¯ááºáá±á¬ ááœááºáááºáá»á¬ážááᯠá¡ááŒááºááŸá¬ááœá±áááºá¡ááœáẠá¡áááºáá áºáááºááŒá áºáááºá áááºážááᯠááŒáá·áºá áœááºááŒá®áž á¡áá¯á¶ážááŒá¯áááºá á¡ááá¯áá¯ááºááᯠáá±ážáá¬ážááẠááá¯á¡ááºáááºá
ááááá±á¬áºáá¶ááœáẠá¡ááœáŸááºážáááá¯áááºááᯠáááºáá®ážááŒáá«á áá¯á·á
Set ^i("col11", id1) = 1
Set ^i("col12", id2) = 1
ááá¯á ááááá±á¬áºáá¶ááœáẠá¡áá»ááºá¡áááºááᯠáá»ááºááŒááºá áœá¬ááŸá¬ááœá±áááºá áá»áœááºá¯ááºááá¯á·ááẠááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááᯠááŒáá·áºááŸá¯ááááºááŒá áºáááºá ^i ááááá±á¬áºáá¶á ááá¯áá»ááºáá±á¬áááºááá¯ážááŸáá·áº áááºááá¯ááºáá±á¬ á¡ááááá±á¬á·áá»á¬áž (id) ááᯠááŸá¬áá«á
áááºááá¯ážáá áºáá¯ááá·áºááœááºážáá±á¬á¡áá«á ááá¯á¡ááºáá±á¬á¡ááœááºáá»á¬ážá¡ááœáẠáááºááá¯ážááŸáá·áº á¡ááœáŸááºážáááá¯áááºááŸá áºáá¯áá¯á¶ážááᯠáá»ááºáá»ááºážáááºáá®ážááá¯ááºáááºá ááŒá®ážáá±á¬á· áá¯á¶ááŒááºá áááºáá»áááá¯á·á¡ááœááºá á¡á²áá«ááᯠá¡áá±á¬ááºážá¡áááºáá áºáá¯ááŸá¬ ááŒá¯á¶ááŒáá·áºáá¡á±á¬ááºá
TSTART
Set ^t(id1) = $LB("col11", "col21", "col31")
Set ^i("col11", id1) = 1
TCOMMIT
áááºááá¯áá¯ááºáá±á¬ááºáááá² á¡áá±ážá
áááºááá¯áá±á¬á· M
á¡áááºážáá»á¬ážááá·áºááœááºážááŒááºáž/ááœááºážáá¶ááŒááºáž/áá»ááºááŒááºážá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠCOS/M ááŒáá·áº áá±ážáá¬ážááŒá®áž á á¯á ááºážáá¬ážáá»áŸáẠááá¯ááá¬ážáá»á¬ážááẠááá¬ážááá¯ážáá»áá±áá¬áá±á·á áºáá»á¬áž (ááá¯á·ááá¯áẠááá¯ááááºáá»áŸááºááŒááºáááº) ááœáẠá¡áá¯ááºáá¯ááºáááºááŒá áºáááºáTSTART ááŸáá·áº TOCOMMIT ááœáŸááºááŒá¬ážáá»ááºáá»á¬áž (ááœá±áá±ážááœá±áá°áá»á¬áž) ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá¡áá«á¡ááẠáá±á¬áºáá¶ááŸá áºáá¯áá«ááá¬ážáá áºáá¯ááá¯á· INSERT ááŸáá·áº SELECT ááá¯á·ááœáẠá ááºážáááºááŸá¯áá»á¬ážááŒáá·áº á€áá¯ááºááŒááºáá»ááºááᯠá á áºáá±ážáá²á·áááºá
áá áºááŒáá¯ááºáááºáááºáá±á¬ááºááœáá·áºááŸáá·áº á¡ááŒáá¯áẠááœá±áá±ážááœá±áá°áá»á¬ážááŒáá·áº ááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ á¡ááŒá±á¡áá±áá»á¬ážááᯠáá»áœááºá¯áẠáá ááºážáááºááá±ážáá«á
á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá²á ááá·áºááœááºážááŸá¯ááŸá¯ááºážááẠáááºááá¯ážáá
áºáááºážáá»áŸáẠ778 ááá·áºááœááºážááŸá¯/á
áá¹ááá·áºááŒá
áºáááºá
áááºááá¯áž áááºáž 300 ááŒáá·áº - 422 ááá·áºááœááºáž/á
áá¹ááá·áºá
ááœá±áá±ážááœá±áá°áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« - 572M ááá·áºááœááºážááŸá¯á¡ááœáẠ082 ááŒáááº/á
áá¹ááá·áºá áá¯ááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠá
á¯á
ááºážáá¬ážáá±á¬ M áá¯ááºá០áá¯ááºáá±á¬ááºáá²á·áááºá
Hard Drive áá»á¬ážááẠSSD ááá¯ááºáá² áá¯á¶ááŸááºááŒá
áºáááºá Write-back ááŒáá·áº RAID5á Phenom II 1100T áááá¯áááºáá¬á
á¡áá¬ážáá°áááºážááŒáá·áº SQL áá±áá¬áá±á·á
áºááᯠá
ááºážáááºáááºá ááœááºážáááºáá
áºáá¯ááœáẠááá·áºááœááºážááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá·áº ááááºážáááºážáá¬ážáá±á¬ áá¯ááºáá¯á¶ážáá¯ááºáááºážááᯠáááºáá±ážáá¬ážááẠááá¯á¡ááºáááºá MySQL 5.5 (InnoDB ááá¯ááŸá±á¬ááºááŸá¯) ááᯠá
ááºážáááºáá±á¬á¡áá«á á€áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá
áºá
áá¹ááá·áºáá»áŸáẠ11K áááºáááá¯áá±á¬ áá¶áá«ááºáá»á¬ážááᯠáááºáá¶áááŸááá²á·áá«áááºá
áá¯ááºáá«áááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááá¬ážáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááẠáááºá
ááºáá±áá¬áá±á·á
áºáá»á¬ážááẠááá¯ááá¯ááŸá¯ááºááœá±ážáá¯á¶áá±á«áºáááºá ááá¯á·ááŒá±á¬áá·áºá áááá¯áááºááŸáá
ááºááŸá¯áá±áá¬áá±á·á
áºáá»á¬ážááẠtabular data ááŸáá·áºá¡áá¯ááºáá¯ááºáááœááºáá°á
á±ááẠSQL access ááŸááááºá
áá±áá°áá»á¡á¬ážááŒáá·áºá data schema ááẠáááŒá¬ááááŒá±á¬ááºážáá²ááŒááºážáááŸááá«áá ááá·áºááœááºážááŸá¯á¡ááŒááºááŸá¯ááºážááẠáá
áá¯ážááááºáááŒá®áž áá±áá¬áá±á·á
áºáá
áºáá¯áá¯á¶ážááᯠáá¯á¶ááŸááºááá¬ážáá¯á¶á
á¶ááŒáá·áº á¡ááœááºááá° ááá¯ááºá
á¬ážááŒá¯ááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áááºážááẠááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬ abstraction á¡ááá·áºááᯠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áº SQL ááŸáá·áº á¡áá¯ááºáá¯ááºááẠááá¯ááá¯ááœááºáá°áá«áááºá .
á€ááá
á¹á
ááœáẠáá»áœááºá¯ááºááẠá€á¡áá»ááºááᯠááŒááá¯áá«áááºá globals ááẠá¡ááŒá¬ážáá±á¬ database áá»á¬ážááᯠáááºáá®ážáááºá¡ááœáẠconstructor á¡ááŒá
Ạáá¯ááºáá±á¬ááºááá¯ááºáááºá. á¡ááŒá¬ážáá¬áá¬á
áá¬ážááŒáá·áº áá±ážáá¬ážááá¯ááºáá±á¬ á
á¯áá±ážáá°áá²á·ááá¯á·áááºá á€áááºááŸá¬ áááá¯áááºáá»á¬ážáá±á«áºááœáẠanalogues áá»á¬ážááᯠáááºáááºáá®ážááá¯ááºáá¯á¶ á¥ááá¬áá»á¬ážááŒá
áºáááºá
ááŒáá¯ážá
á¬ážá¡á¬ážáá¯ááºááŸá¯ á¡áááºážáá¯á¶ážááŒáá·áº á
á¶ááá¯ááºáá±á¬ áá±áá¬áá±á·á
Ạáá
áºáá»áá¯ážáá»áá¯ážááᯠáááºáá®ážááẠááá¯á¡ááºáá«áá áááºááẠááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááᯠááŒáá·áºáá«á
3.3 á¡áá°ážááá á¹á 3. á¡ááá·áºááŸá áºáá áºáááºá áá¯áááá¡ááá·áºá node áá áºáá¯á á®ááœáẠá¡ááá¯ááºážá¡áááºá¡áá±á¡ááœáẠáá¯á¶áá±ááŸááááº
áááºááá·áºááŸááºážááá¯ááºáááº- á€áááºááŸá¬ ááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááá¬ážáá»á¬ážá á¡á
á¬ážááá¯ážá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá
áºáá¯ááŒá
áºáááºá á€á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠááááºáá
áºáá¯ááŸáá·áº ááŸáá¯ááºážááŸááºááŒáá·áºááŒáá«á
áá¯á·á
ááŸá áºá¡ááá·áºáá áºáááºááŸáá·áº á á¬ážááœá²áá»á¬áž áá áºáá¯áááºážá¡ááá·áºáá áºáááºáá±á«áºááœááºá
ÐОМÑÑÑ
ÐлÑÑÑ
- áá±á¬áºáá¶á¡áá±á¡ááœááºááŸáá·áºáá®áá±á¬ node á¡áá±á¡ááœááºááᯠáááºááŸááºáááºááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº ááá·áºááœááºážááŸá¯á¡ááœáẠááŸá±ážááœá±ážáá«áááºá
- áá áºááºáá±áᬠáá¯á¶ážá áœá²ááŸá¯ ááá¯áá»á¬ážáááºá áá±á¬áºáá¶á¡áááºáá»á¬ážááŒáá·áº ááá¹áá¬áá¯á¶ážááá¯ááºáᬠá¡ááœáŸááºážááááºážáá»á¬áž (á¡áááºážá¡áá»ááºážá¡ááœáŸááºážáá»á¬ážá¡ááŒá Ạáá¬ážáááºáááº) ááẠáá áºááºáá±áá¬áá°áᬠá¡áááºážáá áºáá¯á á®á¡ááœáẠááœá¬ážáá±áá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
- á á¬ááŒá±á¬ááºážááá¯ááœá²ááŒááºážá áááºááŒá¬áááºáááá¯á¡ááºáá±á¬ááŒá±á¬áá·áºáá±á¬áºáá¶áá áºáá¯áá»ááºážá á®ááááºááá¯ážáá»á¬ážááá¯ááá¯ááá¯ááŒááºáááºá áœá¬áááºáá±á¬ááºááá¯ááºáááºá áá»áœááºá¯ááºáá ááºážáááºááŸá¯áá»á¬ážá¡áá áááºážááẠáá±á¬áºáᶠ11,5 áá¯ááœáẠ2% ááá¯ááŒááºááŒá®áž áá±á¬ááºááẠáá±á¬áºáá¶á¡áá»á¬ážá¡ááŒá¬ážááœáẠááá¯ááŒááºáá«áááºá
- áá±áá¬á¡á á®á¡á ááºááᯠááŒá±á¬ááºážááẠááá¯ááœááºáááºá
- ááá¯ááŸááºážá¡á±á¬ááºáá¯ááº
áááá¯á¶ážáá»á¯ááº: áá°ááá¯ááºážá¡ááœááºááá¯ááºáá«á ááŒááºááŸá¯ááºážááẠáááá¯áááºáá±á¬áá á¡áááá¡áá»áá¯á¶áž á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážáá²á០áá áºáá¯ááŒá áºáá±á¬ááŒá±á¬áá·áºá áááºá ááºáá±áá¬áá±á·á áºáá»á¬ážááŸá ááá¬ážáá»á¬ážááẠááá¯ááá¯ááŒááºáááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááœááºáááŸááá±á¬ááŒá±á¬áá·áº á€á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áá¬ááœáẠá¡áá»ááºá¡áááºážáááºáá»áŸáá¬ááŸááááºá
3.4 á¡ááœá±ááœá±ááá á¹á á áá áºáááºááœá± ááá¯ááºážááŒá®áž áá áºáááºááœá±
áá áºáááºáá áºáááºá¡ááŒá Ạááá¯ááºá á¬ážááŒá¯ááá¯ááºááá·áº áááºááá·áºáá±áá¬ááœá²á·á ááºážáá¯á¶ááẠáááá¯áááºááŸáá·áº ááá¯ááºáá®ááŸá¯ááŸááááºá
3.4.1 á¡áá¬ááá¹áá¯áá»á¬ážááŸáá·áº á¡áá¬ááá¹áá¯áá»á¬áž
á€áááºááŸá¬ ááá¹áá¬áá¯á¶ážááá¯ááºáᬠááá¯ážáá¬á¡áá¯á¶ážááŒá¯ááŸá¯áááºáááºááŒá
áºáááºá áá±ážáááºááá¯ááºáá¬áááºáááºááœáẠáá±á¬áá«áá»á¬ážá áá±ážáá«ážáá»á¬ážá áá±á¬áá«ááá¹ááá¬áá»á¬ážááŸáá·áº áá¯áááŸá¯áááºážáááºážáá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá áá°áá¬áá
áºáŠážá
á®á¡ááœáẠááœááºáááºáá±á«ááºáž áá
áºáááºážáá«áá±á¬ ááá¬ážáá
áºáá¯ááᯠáááºáá®ážááŒááºážááẠá¡áá¯á¶ážááá»áá«á ááá¯á·á¡ááŒááºá ááœááºáááºáá»á¬ážá 99% ááẠááá¬ááŒá
áºáá±áááá·áºáááºá
ááá¬ážáá»á¬ážá SQL áá±áá¬áá±á·á áºáá áºáá¯ááᯠááŒááºáá±á¬ááºááŒáá·áºáá«- "áá°áá¬" ~ 100 á¡ááœááºáá»á¬ážá "áá±áž" - 000 á¡ááœááºáá»á¬ážá "áá¯áá¯á¶áž" - ááœááºááẠ100á "ááŸá¯ááºááœá±ážááŸá¯áá»á¬áž" - áááºááẠ000 á áááºááŒáá·áºá áá±á¬áẠ... ááŒá®ážáá±á¬á·á ááá¯á·ááá¯áẠáá°áá¬á¡áá»áá¯ážá¡á á¬ážáá áºáá¯á á®á¡ááœáẠááá¬ážáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬á áá±áá¬áá±á·á áºáá áºáá¯ááᯠáááºáááºáá®ážááá¯ááºáááºá ááá¯á·ááá¯áẠáááºážááá¯á·ááẠáááºáá±ááá¯ááºáááº)á áá¯áááŸá¯áá»á¬ážá áá±ážáá«ážáá»á¬ážááŸáá·áº á€ááá¬ážáá»á¬ážááŒá¬ážáá»áááºáááºááŸá¯á¡ááœáẠáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ ááá¬ážáá»á¬ážááᯠáááºáááºáá®ážááá¯ááºáááºá
Globals ááẠáá±ážááá¬á¡ááœáẠá á¶ááá°áá¬ááŒááŒá áºáá±á¬ááŒá±á¬áá·áº áá°áá¬áá áºáŠážá á®á¡ááœáẠáááºážááá±ážáááºááá¯ááºáá¬áááá¯ááºážá áá¯áá¯á¶ážá¡áá»áá¯ážáá»áá¯ážááŸáá·áº áá±ážáá«ážáá»á¬ážá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá áºáááºáá¯á¶á á¶ááŒáá·áº áááá»áá±á¬áá±á¬áºááŒáá»ááºáá áºáᯠáááºáá®ážááá¯ááºá á±áá±á¬ááŒá±á¬áá·áº áá±á¬áºáá¶á¡ááœááºáá»á¬ážááœáẠdisk space á¡ááá¯áááŒá¯ááºážáá®ážáá²á áááºá ááºááá á¹á áááºááœáẠááŒá áºáá«á á±á
Globals ááᯠá¡áá¯á¶ážááŒá¯á áá°áá»á¬ážá¡ááŒá±á¬ááºáž áá±áá¬áá»á¬ážáá«áá±á¬ áá±áá¬áá±á·á
áºáá
áºáá¯ááᯠáááºáá®ážááẠá¡áááºááŒá±áááºáClient ááŸáá·áº áááºáááºáá±á¬ á¡áá»áá¯ážáá»áá¯ážáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠá¡áá»á¬ážáá¯á¶ážá
á¯áá±á¬ááºážááŒá®áž á
áá
áºááá»áá¯ááºáá±á¬ááºááẠá¡áá±ážááŒá®ážáá±á¬á¡áá«á áááºážááẠáá±ážááá¬á áááºáá¯ááºáááºážá á
á»á±ážááœááºááŸá¬ááœá±áá±ážá ááááºážáááºážááŒááºážááŸáá·áº á¡ááŒá¬ážáááºáááºáá»á¬ážááœáẠááá¯á¡ááºáá»ááºááŒá
áºáááºá
.
áá¯ááºáá«áááºá SQL ááŸá¬ ááá¬ážá¡áááºážáááºáá²á· áá
áºáááºááᯠá¡áá¯áá°ááá¯ááºáá«áááºá
á§áá¬áááá¬ážáá»á¬áž (ALTER TABLE) áá±á«áºááŸá data schema ááá¯ááŒá±á¬ááºážáá²ááŒááºážááẠá¡áá»áááºá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá ááŒá¬ááá¯ááºáááºááá¯áá±á¬ áá»áŸáá¯á·ááŸááºáá»ááºááá¯ááºáá«á á¥ááᬠMySQL ááẠááá¬ážáá±á¬ááºážá០á¡áá»ááºá¡áááºáá»á¬ážááᯠááá¬ážá¡áá áºááá¯á· áá¯á¶ážáá¯á¶ážáá°ážáá°ááŒááºážááŒáá·áº ALTER TABLE ADD|DROP COLUMN ááẠ(á ááºážáááºáá¬ážáá±á¬ MyISAMá InnoDB á¡ááºáá»ááºáá»á¬áž)á áááºááá¹ááááºáá»á¬ážááá¯ááºáá«á áááºááá¹ááááºáá±á«ááºážáá»á¬ážá áœá¬ ááŸááºáááºážáá±á«ááºáž áá®áá®áá¶ááŸáá·áºáá»á®á á¡áá¯ááºáá¯ááºááá¯ááºáá±á¬ áá±áá¬áá±á·á áºááᯠáá»áááºáá¬ážááá¯ááºáááºá
áááá¯áááºááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á áá±áá¬ááœá²á·á
ááºážáá¯á¶ááᯠááŒá±á¬ááºážáá²ááŒááºážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá»áá¯ážáááŸááá«á áááºááá·áºá¡áá»áááºááœááºáááᯠáá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºá¡áá¬ááá¹áá¯ááœááºáááá¯á á¡áááºá¡á±á¬ááºá¡ááá·áºááœáẠááá¯á¡ááºááá·áº áá¯ááºááá¹ááá¡áá
áºáá»á¬ážááᯠá¡áá»áááºáááœá±ážááá·áºááá¯ááºáááºá á¡ááá¯ááºážá¡áááºá¡áááºááŒá±á¬ááºážááŒááºážááŸáá·áºáááºá
ááºáá±á¬ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáááºáááºáá±áá±á¬áá±áá¬áá±á·á
áºáá±á«áºááœáẠáá±á¬ááºáá¶ááœááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
ááá¯á·ááŒá±á¬áá·áºá ááœá±ážáá»ááºááá¯ááºáá±á¬ áá¯ááºááá¹áááá»á¬ážá
áœá¬ááŒáá·áº á¡áá¬ááá¹áá¯áá»á¬ážááᯠááááºážáááºážááŒááºážááŸáá·áº áááºáááºáá¬áá±á¬á¡áá«á áááá¯áááºááºáá»á¬ážááẠá¡ááœááºááœá±ážáá»ááºááŸá¯áá
áºáá¯ááŒá
áºáááºá
ááá¯á·á¡ááŒááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áááºážáá»á¬ážá¡á¬ážáá¯á¶ážááẠB-trees ááŒá áºáá±á¬ááŒá±á¬áá·áº áááºááá·áºá¡áá¬áá»á¬ážááá¯áááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááẠáá»ááºáá»ááºážááŒá áºááŒá±á¬ááºáž ááá·áºá¡á¬áž ááááá±ážáá«áá á±á
ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá±áá¬áá±á·á áºáá»á¬ážááẠáá±áá°áá»á¡á¬ážááŒáá·áºá á¡áááºá¡á±á¬ááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážááá¯ááºá áœááºážááŸáááá·áº á á¬ááœááºá á¬áááºážááᯠáŠážáááºááá·áº áá±áá¬áá±á·á áºá¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá á á¬ááœááºá á¬áááºážáá»á¬ážááá¯áŠážáááºááá·áº áá±áá¬áá±á·á áºáá»á¬ážááẠáá±ážááŸááºáááºážáá»á¬ážááááºážáááºážááŒááºážáááºáááºááœáẠáá áºááá¹áá¬áá¯á¶ážááŸáá·áº ááŸááºááŒáá¯ááºááá¯ááºáááºá áá«áá±ááá·áº ááááºááá°áá±ážáá°ážáMongoDB ááᯠááŸáá¯ááºážááŸááºááŒáá·áºáá¡á±á¬ááºá á€ááá¯ááááºážááœáẠá¡á±á¬ááºáá±á¬áºááŒáá« á¡ááŒá±á¬ááºážáááºážáá»á¬ážááŒá±á¬áá·áº ááá¹áá¬á·ááá¯ááºáá¶áá»á¬ážááᯠáá¯á¶ážááŸá¯á¶ážáááŒááºážá
- á á¬ááœááºá á¬áááºážá¡ááœááºá¡á á¬ážá ááá¯ááŸá±á¬ááºááŸá¯áá°áá áºááẠá¡ááŒáá·áºáá¯á¶ážá¡áá¶á¡ááá¯ážá¡áá»áẠ16MB ááá·áºááŸááá±á¬ JSON áá±á¬áºááẠ(ááá¯ááááá»á áœá¬ BSON) ááŒáá·áº á á¬áá¬ážááŒá áºáááºá ááŒá®ážáá¬ážáá±á¬ JSON á á¬ááœááºá á¬áááºážááᯠáááºážááœááºááááºážáááºážááŒá®áž á¡ááœááºáá»á¬ážááŒáá·áº áááºáá±á¬ááºááŒáá·áºááŸá¯áá«á JSON áá±áá¬áá±á·á ááᯠááœá²ááŒááºážá áááºááŒá¬áá¬ááœáẠááŸá±ážááœá±ážááœá¬ážá á±ááẠááá·áºáááºáá»ááºááᯠá¡áá°ážááŒá¯áá¯ááºáá¬ážáááºá á€á á¬ááœááºá á¬áááºážááœáẠáá°áá¬ááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶áž áá«áááºááá·áºáááºá áá°áá¬ááŸááºáááºáž áááºáá±á¬ááºáá°ááá¯ááºáááºááá¯áᬠá¡á¬ážáá¯á¶ážáááá«áááºá á¡ááŒáá·áºáá¯á¶ážáááºá¡ááœááºá¡á á¬áž 16MB ááẠáá±á¬áá«áááºááœáẠMRI ááá¯ááºáá»á¬ážá áá¬ááºááŸááºá áááºááºáá»á¬ážááŸáá·áº á¡ááŒá¬ážáá±á·áá¬ááŸá¯áá»á¬ážáá«ááŸááá±á¬ áá°áá¬áá»á¬ážááᯠáá»ááºáá»ááºážá¡áá¯á¶ážáááºá á±áááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá¬áááœá²áá áºáá¯ááœáẠááá·áºááœáẠá¡áá»ááºá¡áááºáá áºáá«ááá¯ááºááŸáá·áº áá¬áá¬ááá¯ááºáá»á¬áž ááŸáááá¯ááºáááºá áá°á¡ááá±á¬á· áá«ááᯠá¡áá¯á¶ážáááºááá¯ááºáá±ááá·áº áá»áœááºáá±á¬áº áááºááœá¬ážáááºá
- áá°áá¬áááá¬ážááŸá áá¯ááºááá¹ááá¡áá áºáá»á¬ážá á¡ááá áááº/ááŒá±á¬ááºážáá²ááŒááºáž/áá»ááºááŒááºážá¡áá»áááºá ááá¯ááá¯á·áá±á¬ áá±áá¬áá±á·á áºáá áºáá¯ááẠááŒá±áá¯á¶áá áºáá¯áá¯á¶ážááᯠáááºááá¯áá®á¡ááŒá Ạáááºááá«ááẠ(áá«á ááá¬áá¡áá»á¬ážááŒá®ážáá«á) BSON ááᯠááœá²ááŒááºážá áááºááŒá¬ááŒá®áž á¡áá áºáá áºáá¯ááᯠáá±á«ááºážááá·áº/ááŒá±á¬ááºáž/áá»ááºáá«á á¡ááœáŸááºážááááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºáá«á áááºážááᯠBSON ááœáẠáá¯ááºááá¯ážááŒá®áž áá áºááºááœáẠááááºážáááºážáá«á áááá¯áááºáá áºáá¯ááẠáááá»áá±á¬ááá¯ááºááá¯ááºááŸá¯áá áºáá¯ááᯠááá°ááŒá®áž áááºážááᯠááá¯ááºááœááºáááºáᬠááá¯á¡ááºáááºá
- áá áºáá®ážáá¯áá¹áááá¯ááºááá¹áááá»á¬ážáᶠá¡ááŒááºáááºáá±á¬ááºáá«á á á¬ááœááºá á¬áááºážáá áºáá¯ááŸá áá¯ááºááá¹áááá»á¬ážá áœá¬ááŸáá·áº áááºážáá¡ááá·áºáá»á¬ážá áœá¬ááœá²á·á ááºážáá¯á¶ááŸáá·áºá¡áá°á ááá¹áá¬áá áºááŸááºážááŸá áááºážááŒá±á¬ááºážáá áºáá¯á á®ááẠB-tree ááŒá áºáá±á¬ááŒá±á¬áá·áº áá áºáŠážáá»ááºážá á®á áá¯ááºááá¹áááá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááŸá¯ ááá¯ááá¯ááŒááºáááºáá¬áááºááŒá áºáááºá BSON ááœááºá áááºá¡ááá¯ááŸááá±á¬ááá¯ááºááá¯ááºááŸá¯ááá¯ááŸá¬ááœá±ááẠá á¬ááœááºá á¬áááºážá¡á¬áž áá»ááºážááŒá±á¬ááºážá¡ááá¯ááºáž ááá¯ááºážááŒá¬ážááẠááá¯á¡ááºáááºá
3.3.2 Associative arrays
Associative arrays ( nested arrays ááŸáá·áºááẠ) globals ááŸáá·áº ááá¯ááºáá®áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá PHP á០array áá áºáá¯ááᯠááááá¯á¶ 3.3.1 ááœáẠááŒááá«áááºá
$a = array(
"name" => "Vince Medvedev",
"city" => "Moscow",
"threatments" => array(
"surgeries" => array("apedicectomy", "biopsy"),
"radiation" => array("gamma", "x-rays"),
"physiotherapy" => array("knee", "shoulder")
)
);
3.3.3 á¡áááºá¡á±á¬áẠá á¬ááœááºá á¬áááºážáá»á¬áž- XMLá JSON
ááá¹áá¬á¡ááŸá¶á·ááœááºáááºáž á¡ááœááºááá° ááááºážáááºážááá¯ááºáááºá ááá¯ááŸá±á¬ááºááŸá¯á¡ááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºážáááºážáá»á¬ážááŒáá·áº áá»áá¬ážááá¯ááºáá«áááºá
XML ááá¯
XML ááᯠááá¹áá¬áá¯á¶ážááá¯ááºáá¬á¡ááŒá
áºááá¯á· ááŒáá¯ááœá²á
á±ááẠá¡ááœááºáá°áá¯á¶ážáááºážáááºážááŸá¬ node áá»á¬ážááœáẠtag attribute áá»á¬ážááᯠááááºážáááºážáááºááŒá
áºáááºá ááẠattribute áá»á¬ážááᯠá¡ááŒááºáááºáá±á¬ááºááẠááá¯á¡ááºáá«áá áááºážááá¯á·ááᯠáá®ážááŒá¬ážá¡ááá¯ááºážá¡áááºáá»á¬ážá¡ááŒá
ẠááœáŸá±á·ááá¯ááºáá«áááºá
<note id=5>
<to>ÐаÑÑ</to>
<from>СвеÑа</from>
<heading>ÐапПЌОМаМОе</heading>
<body>ÐПзвПМО ЌМе завÑÑа!</body>
</note>
COS ááœáẠáááºážááẠáá¯ááºááŸáá·áº ááá¯ááºáá®áááá·áºáááº-
Set ^xml("note")="id=5"
Set ^xml("note","to")="СаÑа"
Set ^xml("note","from")="СвеÑа"
Set ^xml("note","heading")="ÐапПЌОМаМОе"
Set ^xml("note","body")="ÐПзвПМО ЌМе завÑÑа!"
ááŸááºáá»áẠXMLá JSONá associative arrays áá»á¬ážá¡ááœááºá áááºááẠááá¹áá¬á¡ááŸá¶á·ááœáẠááŒáááẠááœá²ááŒá¬ážáá±á¬ áááºážáááºážáá»á¬ážá áœá¬ááŒáá·áº áááºáá±á«áºáá¬ááá¯ááºáááºá á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠááŸááºá á¯áááºááŸá á á¬áááºážááœá²áá»á¬ážá á¡á á®á¡á á¥áºááᯠááá±á¬áºááŒáá«á áá áºááá¹áá¬áá¯á¶áž ^xml subtag áá»á¬ážááᯠá¡áá¹ááá¬á ááºá¡ááá¯áẠááŒááá«áááºá á¡áááá·áºááᯠáááºážááŒááºá áœá¬áááºáááºáááºá á¥ááá¬á á¡á±á¬ááºáá«ááŒáááŸá¯ááᯠáááºáá¯á¶ážááá¯ááºáááºá
JSON
á¡ááá¯ááºáž 3.3.1 á០ááááá¯á¶ááẠဠJSON á
á¬ááœááºá
á¬áááºážá áá±á¬ááºááŒááºáááºááŸá¯ááᯠááŒááááº-
var document = {
"name": "Vince Medvedev",
"city": "Moscow",
"threatments": {
"surgeries": ["apedicectomy", "biopsy"],
"radiation": ["gamma", "x-rays"],
"physiotherapy": ["knee", "shoulder"]
},
};
3.3.4 á¡áááºá¡á±á¬áẠáááºá ááºááŸá¯áá»á¬ážááŒáá·áº áá»áááºáááºáá¬ážáá±á¬ áááºáá°áááºáá»áŸáá±á¬ á¡áá±á¬ááºá¡áŠáá»á¬áž
á¥ááá¬áá»á¬áž- á¡áá±á¬ááºážáá¯á¶ážáá»á¬ážáááœá²á·á ááºážáá¯á¶á MLM ááœá²á·á ááºážáá¯á¶ááŸááá°áá»á¬ážááááºáá±áá¬á á á áºáá¯áááºááœááºááœáá·áºááŸá áºáá¬ážáá±á¬áá±áá¬áá±á·á áºá
áá±áá¬áá±á·á áºááᯠááœá²áá¯ááºáááºá global node á á¡ááœáŸááºážáááºááá¯ážá¡ááŒá Ạstroke force ááá·áºááŸááºážáá»ááºááᯠáááºáá¯á¶ážááá¯ááºáááºá ááá¯á·áá±á¬áẠá¡ááŒááºážáááºáá¯á¶áž ááœá±á·áá»á¬ážááŸá¯ááᯠááœá±ážáá»ááºáááºá¡ááœáẠá¡áá±ážáá»ááẠá¡ááŒá®ážáá¯á¶ážáá±á¬ á¡ááá¯ááºážá¡áááºááᯠááœá±ážáá»ááºááẠáá¯á¶áá±á¬ááºáááºááŒá áºáááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááœááºá á¡ááá·áºáá áºáá¯á á®ááŸá á¡ááá¯ááºážá¡áááºá¡á¬ážáá¯á¶ážááᯠááœá±á·áá»á¬ážááá¯ááºá áœááºážá¡á¬ážááŒáá·áº á á®áá¬ážáááºá
á¡áá±á¬ááºážáá¯á¶ážáá»á¬ážáááœá²á·á
ááºážáá¯á¶á MLM ááœááºáá°áá»á¬ážáááœá²á·á
ááºážáá¯á¶á Node áá»á¬ážááẠáá
áºáááºááœá²áá
áºáá¯áá¯á¶ážá áááá±áááá¹ááá¬áá»á¬ážááᯠáááºáááºááá·áº á¡áá»áá¯á·áá±á¬ áááºááŸáºáááºááá¯ážáá»á¬ážááᯠááááºážáááºážááá¯ááºáááºá á¥ááá¬á áá±ážáá¬ážáá±á¬ áá
áºáááºááœá²áá
áºáá¯á á¡áá±á¬ááºážááá¬áá áááºááá·áºá¡áá»áááºááœááºáááᯠáá¬áááœá²áá
áºáá¯á á¡á±á¬ááºááŒááºááŸá¯áá»á¬ážááᯠáááºáááºááá·áº ááááºážááááºážáá
áºáá¯ááᯠáá»áœááºá¯ááºááá¯á· áááŸáááá¯ááºáá«áááºá
4. áááá¯áááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠáááºááá·áºááá á¹á áá»á¬ážááœáẠá¡áá»áá¯ážá¡ááŸááá¯á¶ážááŒá áºááááºážá
ááááá±á¬áºáá¶ááœáẠáááá¯áááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áááá¬áááºááŸá¬ážáá±á¬ á¡ááŒááºááŸá¯ááºážáááŸáááá·áº ááá á¹á áááºáá»á¬ážááᯠáááºáááºáá±ážáááºááŒá áºááŒá®áž áá¯ááááá±á¬áºáá¶ááœáẠáá®ááá¯ááºáž ááá¯á·ááá¯áẠáá±áá¬áá±á¬áºáááºááᯠááá¯ážááŸááºážááœá¬ážááá·áºá¡áá«ááœáẠáá±á¬áºááŒáá¬ážáááºá
á¡ááŸáááº
áá±áá¬áá¯ááºáá±á¬ááºááŒááºáž/áááºááŒááŒááºáž ááœááºáá°ááŒááºážá
- ááá·áºááœááºážááŒááºáž [á¡ááá·áºáá áºáá¯á á®ááœáẠá¡ááá¯á¡áá»á±á¬ááºá á®ááŒááºážááŒáá·áº]á [áá¬á áá¬áá®ážááŒáá·áº á¡ááœáŸááºážáá±ážááŒááºáž]
- áá áºáááºááœá²áá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
- áá áºáŠážáá»ááºážáááºáá±á¬ááºááœáá·áºááá¯á¡ááºáá±á¬ nested ááá¹áááá»á¬ážá áœá¬áá«ááŸááá±á¬ á¡áá¬áá»á¬áž
- áááºááá·áºá¡ááá¯ááºážá¡áááºá០ááá±ážá¡ááá¯ááºážá¡áááºáá»á¬ážááᯠááŒááºáá»á±á¬áºááá¯ááºá áœááºážááŸááá±á¬ á¡áááºá¡á±á¬ááºááœá²á·á ááºážáá¯á¶á
- áá áºáááºáá áºáááºáá»á¬ážá á¡áááºááᯠááááá¯á¶ážááŒááºáá»á±á¬áºááŒááºážá
- ááœá±ážáá»ááºááá¯ááºáá±á¬ [ááŸáá·áº/ááá¯á·ááá¯áẠnested] áá¯ááºááá¹áááá»á¬áž/entities áá»á¬ážá áœá¬ááŸááá±á¬ á¡áá¬/á¡áá¬áá»á¬áž
- Schema-áááºážáá±á¬áá±áá¬á áá¯ááºááá¹ááá¡áá áºááœá± áá±á«áºáá¬ááŒá®áž á¡áá±á¬ááºážááœá± áá»á±á¬ááºááœá¬ážáááºáá«áááºá
- á áááºááŒáá¯ááºáá±áá¬áá±á·á áºáá áºáá¯áááºáá®ážáááºááá¯á¡ááºáááºá
- áááºážááŒá±á¬ááºážá¡ááŒá±áá¶áá»á¬ážááŸáá·áº áá¯á¶ážááŒááºáá»ááºáá áºáááºáá»á¬ážá áááºážáá»á¬ážááᯠáá áºáááºá¡ááŒá Ạááá¯ááºá á¬ážááŒá¯ááẠá¡áááºááŒá±áá±á¬á¡áá«á
- áááºáá«ááá²áá² ááá¯á¶ážáá² á¡áááºá¡á±á¬áẠáá¯á¶ááá¹áá¬ááºáá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
ááœá: á€áá±á¬ááºážáá«ážááŸáá·áº áá»áœááºá¯ááºáááŸááºáá»ááºáá»á¬ážááẠáá»áœááºá¯ááºááááºááŒááºáá°ááá»ááºááŒá
áºááŒá®áž InterSystems Corporation áááá¬ážáááºáááºáááºáá»ááºááŸáá·áº áááºááá¯ááºááŒááºážáááŸááá«á
source: www.habr.com