╨Ч╨┤╤А╨░╨▓╤Б╤В╨▓╤Г╨╣╤В╨╡.
рдореА рдорд╛рдЭрд╛ рд╢реЛрдз рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ - рд╡рд┐рдЪрд╛рд░, рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рддреНрд░реБрдЯреАрдЪреЗ рдлрд│.
рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░: рд╣рд╛ рд╢реЛрдз рдирд╛рд╣реА, рдЕрд░реНрдерд╛рддрдЪ - рд╣реЗ рд╕рд░реНрд╡ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЬреЗ рд▓рд╛рдЧреВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирдордзреНрдпреЗ рдЧреБрдВрддрд▓реЗрд▓реЗ рдЖрд╣реЗрдд, рд╡рд┐рд╢реЗрд╖рддрдГ DBMS рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА.
рдЖрдгрд┐: рд╣реЛрдп, рддреНрдпрд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрд╢реЛрдзрдирд╛рд╡рд░ рдордиреЛрд░рдВрдЬрдХ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рддрд╛рдд,
рджреБрд╕рд░реАрдХрдбреЗ: рдЖрдпрдЯреА рддрдЬреНрдЮ, DBA рдордзреНрдпреЗ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рд╡реНрдпрд╛рдкрдХ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╕рд╛рд░ рдорд▓рд╛ рджрд┐рд╕рдд рдирд╛рд╣реА.
рддрд░, рдмрд┐рдВрджреВрдкрд░реНрдпрдВрдд.
рдЪрд▓рд╛ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдХрд╛рд░реНрдп рдЖрд╣реЗ: рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯ рдХрд░рдгреЗ.
рдпрд╛ рдХрд╛рдорд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ: рддреЗ рдХрд╛рдп рдЖрд╣реЗ, рдпрд╛ рдХрд╛рдорд╛рдЪреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╢реА рдореЛрдЬрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд╣реА рдЧреБрдгрд╡рддреНрддрд╛ рдореЛрдЬрдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдХрд╖ рдХрд╛рдп рдЖрд╣реЗрдд.
рдЪрд▓рд╛ рд╣реЗ рджреЗрдЦреАрд▓ рдЧреГрд╣реАрдд рдзрд░реВ рдХреА рддреЗ рдХрдореА-рдЕрдзрд┐рдХ рдкреНрд░рдорд╛рдгрд╛рдд рдЬреНрдЮрд╛рдд рдЖрдгрд┐ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ: рдпрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ (рдХрд┐рдВрд╡рд╛ рд╕рд╣) рдХрд╛рд░реНрдп рдХрд╕реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
"рдЕрдзрд┐рдХ рдХрд┐рдВрд╡рд╛ рдХрдореА" - рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдзрди, рдЙрдкрдпреБрдХреНрддрддрд╛, рд╕реЗрд╡рд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ (рдХрд┐рдВрд╡рд╛ рддреЗ рдХреЛрдареВрди рддрд░реА рдорд┐рд│реВ рд╢рдХрддреЗ) рдЬреНрдпрд╛рдЪреЗ рд╕рдВрд╢реНрд▓реЗрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рд▓реЛрдбрд╕рд╣ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЬреЗ рдЙрддреНрдкрд╛рджрдирд╛рдд рдХрд╛рдп рдЕрд╕реЗрд▓ рддреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ, рдЙрддреНрдкрд╛рджрдирд╛рдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд.
рдмрд░рдВ, рдпрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рд╕рдорд╛рдпреЛрдЬрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪрд╛ рд╕рдВрдЪ рдЬреНрдЮрд╛рдд рдЖрд╣реЗ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рдпрд╛, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдХрддреЗрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдЖрдгрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдп рдЖрд╣реЗ - рдпрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реАрдЪреА рдкреБрд░реЗрд╢реА рдкреВрд░реНрдг рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рд▓реЛрдбрд╕рд╛рдареА рдпрд╛ рд╕рд┐рд╕реНрдЯрдордЪреА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдХреБрд╢рд▓рддреЗрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдордЪреА рдЖрд╡рд╢реНрдпрдХ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.
рд╡рд┐рд╣реАрд░. рд╣реЗ рдЬрд╡рд│рдЬрд╡рд│ рдиреЗрд╣рдореАрдЪ рдЕрд╕рддреЗ.
рддреБрдореНрд╣реА рдЗрдереЗ рдХрд╛рдп рдХрд░реВ рд╢рдХрддрд╛?
рдмрд░рдВ, рдордирд╛рдд рдпреЗрдгрд╛рд░реА рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдпрд╛ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рдХрд╛рдЧрджрдкрддреНрд░реЗ рдкрд╛рд╣рдгреЗ. рд╕рдорд╛рдпреЛрдЬрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрд╕рд╛рдареА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╢реНрд░реЗрдгреА рдХрд╛рдп рдЖрд╣реЗрдд рддреЗ рд╕рдордЬреВрди рдШреНрдпрд╛. рдЖрдгрд┐, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рдбрд┐рд╕реЗрдВрдЯ рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди, рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рд┐рд╕реНрдЯрдо рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рдореВрд▓реНрдпреЗ рдирд┐рд╡рдбрд╛.
рддреНрдпрд╛. рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЪрд╛рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рджреНрдпрд╛.
рд╣реЗрдЪ рдЯреВрд▓-рдпреБрдЯрд┐рд▓рд┐рдЯреА, рд▓реЛрдб рдЬрдирд░реЗрдЯрд░ рд╡рд╛рдкрд░реВрди, рддреНрдпрд╛рд╡рд░ рдЪрд╛рдЪрдгреА рд▓реЛрдб рд▓рд╛рдЧреВ рдХрд░рд╛.
рдЖрдгрд┐ рдореВрд▓реНрдп рдкрд╣рд╛ - рдкреНрд░рддрд┐рд╕рд╛рдж, рдХрд┐рдВрд╡рд╛ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрдЪрд╛ рдореЗрдЯреНрд░рд┐рдХ.
рджреБрд╕рд░рд╛ рд╡рд┐рдЪрд╛рд░ рдЕрд╕рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдЕрд╕реВ рд╢рдХрддреЛ рдХреА рд╣рд╛ рдмрд░рд╛рдЪ рдХрд╛рд│ рдЖрд╣реЗ.
рдмрд░рдВ, рддреЗ рдореНрд╣рдгрдЬреЗ: рдЬрд░ рддреЗрдереЗ рдмрд░реЗрдЪ рд╕реЗрдЯрд┐рдВрдЧ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрд╕рддреАрд▓, рдЬрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рд╢реНрд░реЗрдгреА рдореЛрдареНрдпрд╛ рдЕрд╕рддреАрд▓, рдЬрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реИрдпрдХреНрддрд┐рдХ рд▓реЛрдб рдЪрд╛рдЪрдгреА рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рд╕ рдмрд░рд╛рдЪ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ, рддрд░: рд╣реЛрдп, рд╣реЗ рд╕рд░реНрд╡ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдпрдкрдгреЗ рд▓рд╛рдЧреВ рд╢рдХрддреЗ. рдмрд░рд╛рдЪ рд╡реЗрд│
рдмрд░рдВ, рддреБрдореНрд╣реА рдХрд╛рдп рд╕рдордЬреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВ рд╢рдХрддрд╛ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ.
рдЖрдкрдг рд╣реЗ рд╢реЛрдзреВ рд╢рдХрддрд╛ рдХреА рд╕реЗрд╡рд╛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЪрд╛рдордзреНрдпреЗ рдХрд╛рд╣реА рдореВрд▓реНрдпрд╛рдВрдЪрд╛ рдХреНрд░рдо рдореНрд╣рдгреВрди рдПрдХ рд╡реЗрдХреНрдЯрд░ рдЖрд╣реЗ.
рдЕрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдХреНрдЯрд░, рдЗрддрд░ рдЧреЛрд╖реНрдЯреА рд╕рдорд╛рди рдЕрд╕рддрд╛рдд (рддреНрдпрд╛рд╡рд░ рдпрд╛ рд╡реЗрдХреНрдЯрд░рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдд рдирд╛рд╣реА), рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ - рдЪрд╛рдЪрдгреА рд▓реЛрдб рдЕрдВрддрд░реНрдЧрдд рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрдЪреЗ рд╕реВрдЪрдХ.
рдореНрд╣рдгрдЬреЗ
рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрд╣реЗрдХреНрдЯрд░ рдЕрд╕реЗ рджрд░реНрд╢рд╡реВ рдХреБрдареЗ ; рдХреБрдареЗ тАФ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛, рдпрд╛рдкреИрдХреА рдХрд┐рддреА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрд╣реЗрдд.
рдЖрдгрд┐ рдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдЯреНрд░рд┐рдХрдЪреЗ рдореВрд▓реНрдп рддреЗ рдЕрд╕реЗ рджрд░реНрд╢рд╡реВ
, рдирдВрддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдлрдВрдХреНрд╢рди рдорд┐рд│реЗрд▓:
рдмрд░рдВ, рдордЧ: рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╕рд░реНрд╡рдХрд╛рд╣реА рд▓рдЧреЗрдЪ рдЦрд╛рд▓реА рдпреЗрддреЗ: рдорд╛рдЭреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рджрд┐рд╡рд╕рд╛рдВрдкрд╛рд╕реВрди рдЬрд╡рд│рдЬрд╡рд│ рд╡рд┐рд╕рд░рд▓реЗрд▓реЗ, рдлрдВрдХреНрд╢рдирдЪреНрдпрд╛ рдЯреЛрдХрд╛рдЪрд╛ рд╢реЛрдз рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо.
рдареАрдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдпреЗрдереЗ рдПрдХ рд╕рдВрд╕реНрдерд╛рддреНрдордХ рдЖрдгрд┐ рд▓рд╛рдЧреВ рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рддреЛ: рдХреЛрдгрддрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рд╛рдпрдЪрд╛.
- рдЕрд░реНрдерд╛рдиреЗ - рдЬреЗрдгреЗрдХрд░реВрди рдЖрдкрдг рд╣рд╛рддрд╛рдиреЗ рдХрдореА рдХреЛрдб рдХрд░реВ рд╢рдХрддрд╛.
- рдЖрдгрд┐ рддреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореНрд╣рдгрдЬреЗ. extremum (рдПрдЦрд╛рджреЗ рдЕрд╕рд▓реНрдпрд╛рд╕) рдЖрдврд│рд▓реЗ, рддрд╕реЗрдЪ, рд╕рдордиреНрд╡рдп рд╡рдВрд╢рд╛рдкреЗрдХреНрд╖рд╛ рдХрдореАрдд рдХрдореА рд╡реЗрдЧрд╡рд╛рди.
рдкрд╣рд┐рд▓рд╛ рдореБрджреНрджрд╛ рд╕реВрдЪрд┐рдд рдХрд░рддреЛ рдХреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрд╢рд╛ рдХрд╛рд╣реА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдХрдбреЗ рд▓рдХреНрд╖ рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрд╢рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдзреАрдЪ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЖрдгрд┐ рдХрд╛рд╣реА рд╕реНрд╡рд░реВрдкрд╛рдд, рдХреЛрдбрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗрдд.
рдмрд░рдВ, рдорд▓рд╛ рдорд╛рд╣реАрдд рдЖрд╣реЗ python
╨╕ cran-r
рджреБрд╕рд▒реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реНрд╡рддрдГрдЪ, рддреЗ рдХрд╛рдп рдЖрд╣реЗрдд, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛рдп рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рд╡рд╛рдЪрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЖрдгрд┐ рддреЗ рдЬреЗ рджреЗрддрд╛рдд рддреЗ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдЕрд╕реВ рд╢рдХрддрд╛рдд - рдкрд░рд┐рдгрд╛рдо рдХрд┐рдВрд╡рд╛ рдереЗрдЯ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордордзреВрдирдЪ.
рдХрд┐рдВрд╡рд╛ рддреЗ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрдордзреВрди рдорд┐рд│реВ рд╢рдХрддрд╛рдд.
рдЗрдирдкреБрдЯ рдЕрдЯреАрдВрд╡рд░ рдмрд░реЗрдЪ рдХрд╛рд╣реА рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдЬрд▓рдж рдорд┐рд│рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЧреНрд░реЗрдбрд┐рдпрдВрдЯ рдбрд┐рд╕реЗрдВрдЯ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдирд┐рд╡рдбрд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓.
рдХрд┐рдВрд╡рд╛, рд╡реЗрд│ рддрд┐рддрдХрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдирд╕рд▓реНрдпрд╛рд╕, рдЖрдкрдг, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдиреБрд╡рд╛рдВрд╢рд┐рдХ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рд╛рд░рдЦреНрдпрд╛ рд╕реНрдЯреЛрдХрд╛рд╕реНрдЯрд┐рдХ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.
рдореА рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рдХрд╛рд░реНрдп рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддреЛ, рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдирд┐рд╡рдбрдгреЗ, рдЕрдиреБрд╡рд╛рдВрд╢рд┐рдХ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░реБрди, рдкреБрдвреАрд▓, рдореНрд╣рдгрдЬреЗ: рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреЗ рдХрд╛рд░реНрдп.
рдореВрд│:
- рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдореНрд╣рдгреВрди рдЕрд╕реВ рджреНрдпрд╛:
oracle xe 18c
- рдпрд╛рд╕ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рддреНрдордХ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдЖрдгрд┐ рдЙрджреНрджрд┐рд╖реНрдЯ рдкреВрд░реНрдг рдХрд░реВ рджреНрдпрд╛: рд╡реНрдпрд╡рд╣рд╛рд░/рд╕реЗрдХрдВрджрд╛рдд, рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕рдВрднрд╛рд╡реНрдп рдереНрд░реВрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
- рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕реНрд╡рд░реВрдк рдЖрдгрд┐ рдХрд╛рдорд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдордзреНрдпреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдЦреВрдк рднрд┐рдиреНрди рдЕрд╕реВ рд╢рдХрддрд╛рдд.
рдЪрд▓рд╛ рдорд╛рдиреНрдп рдХрд░реВрдпрд╛ рдХреА рд╣реЗ рдЕрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрд╣реЗрдд рдЬреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдирд╛рд╣реАрдд.
рдпрд╛ рдЕрд░реНрдерд╛рдиреЗ рдХреА рддреЗ рд░реАрдбреВ рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдкреВрд░реНрд╡рд╡рдд рдбреЗрдЯрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдЯрдХреНрдХреЗ рдкрдВрдХреНрддреА рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рд╕рд╛рд░рдгреНрдпрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдирд╛рд╣реАрдд.
рд╣реЗ рдЕрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрд╣реЗрдд рдЬреЗ рдХрдореА-рдЕрдзрд┐рдХ рдореЛрдареНрдпрд╛ рдЯреЗрдмрд▓рдордзреНрдпреЗ рдПрдХ рдкрдВрдХреНрддреА рдмрджрд▓рддрд╛рдд, рдпрд╛ рдЯреЗрдмрд▓рд╡рд░ рдХрдореА рд╕рдВрдЦреНрдпреЗрдиреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЕрд╕рддрд╛рдд.
рдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдЙрддреНрдкрд╛рджрдХрддрд╛, рдЖрд░рдХреНрд╖рдгрд╛рд╕рд╣, рд░реЗрдбреЙрдХреНрд╕ рдбреЗрдЯрд╛рдмреЗрд╕рджреНрд╡рд╛рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓.
рдЕрд╕реНрд╡реАрдХрд░рдг - рдЬрд░ рдЖрдореНрд╣реА рд╡рд┐рд╢реЗрд╖рддрдГ рд╕рдмрдбреАрдмреА рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдмрджреНрджрд▓ рдмреЛрд▓рд▓реЛ.
рдХрд╛рд░рдг, рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдмрддреАрдд, рдЯреЕрдмреНрдпреБрд▓рд░ рдбреЗрдЯрд╛ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдЯреЕрдмреНрдпреБрд▓рд░ рдореЙрдбреЗрд▓рд╕рд╣ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдбрд┐рдЭрд╛рдЗрдирдореБрд│реЗ, SQL рд╕рддреНрд░рд╛рдВрдордзреАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рд▓реЙрдХ рдЕрд╕реВ рд╢рдХрддрд╛рдд.
рдЬреНрдпрд╛рдЪрд╛, рдЕрд░реНрдерд╛рддрдЪ, TPS рдореЗрдЯреНрд░рд┐рдХрд╡рд░ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдкреНрд░рднрд╛рд╡ рдкрдбреЗрд▓ рдЖрдгрд┐ рд╣рд╛ рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдПрдХ рдмрд╛рд╣реНрдп рдШрдЯрдХ рдЕрд╕реЗрд▓: рдмрд░рдВ, рд╕рд╛рд░рдгреА рдореЙрдбреЗрд▓рдЪреА рд░рдЪрдирд╛ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ рддреНрдпрд╛рдд рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрдбрдерд│реЗ рдпреЗрддрд╛рдд.
рдореНрд╣рдгреВрди, рдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╢реБрджреНрдзрддреЗрд╕рд╛рдареА, рдЖрдореНрд╣реА рд╣рд╛ рдШрдЯрдХ рд╡рдЧрд│реВ рдЖрдгрд┐ рдЦрд╛рд▓реА рдореА рддреЗ рдХрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реВ.
- рдЖрдкрдг рдирд┐рд╢реНрдЪрд┐рддрддреЗрд╕рд╛рдареА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ 100% SQL рдХрдорд╛рдВрдбреНрд╕ DML рдХрдорд╛рдВрдбреНрд╕ рдЖрд╣реЗрдд.
рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рди рдЕрд╕реВ рджреНрдпрд╛.
рдЙрджрд╛: skl рд╕рддреНрд░рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛, рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛, skl рд╕рддреНрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд. - Subd рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рддреЗ
FORCE LOGGING
,ARCHIVELOG
рдореЛрдб рдлреНрд▓реЕрд╢рдмреЕрдХ-рдбреЗрдЯрд╛рдмреЗрд╕ рдореЛрдб рд╕рдмрдбреА рд╕реНрддрд░рд╛рд╡рд░ рдмрдВрдж рдЖрд╣реЗ. - рд▓реЙрдЧ рдкреБрдиреНрд╣рд╛ рдХрд░рд╛: рд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ, рд╡реЗрдЧрд│реНрдпрд╛ "рдбрд┐рд╕реНрдХ" рд╡рд░ рд╕реНрдерд┐рдд;
рдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдЙрд░реНрд╡рд░рд┐рдд рднреМрддрд┐рдХ рдШрдЯрдХ: рджреБрд╕рд░реНрдпрд╛рдордзреНрдпреЗ, рд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ, рд╡реЗрдЧрд│реНрдпрд╛ "рдбрд┐рд╕реНрдХ" рд╡рд░:
рднреМрддрд┐рдХ рдЙрдкрдХрд░рдгрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓. рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдШрдЯрдХ
SQL> select status||' '||name from v$controlfile;
/db/u14/oradata/XE/control01.ctl
SQL> select GROUP#||' '||MEMBER from v$logfile;
1 /db/u02/oradata/XE/redo01_01.log
2 /db/u02/oradata/XE/redo02_01.log
SQL> select FILE_ID||' '||TABLESPACE_NAME||' '||round(BYTES/1024/1024,2)||' '||FILE_NAME as col from dba_data_files;
4 UNDOTBS1 2208 /db/u14/oradata/XE/undotbs1_01.dbf
2 SLOB 128 /db/u14/oradata/XE/slob01.dbf
7 USERS 5 /db/u14/oradata/XE/users01.dbf
1 SYSTEM 860 /db/u14/oradata/XE/system01.dbf
3 SYSAUX 550 /db/u14/oradata/XE/sysaux01.dbf
5 MONITOR 128 /db/u14/oradata/XE/monitor.dbf
SQL> !cat /proc/mounts | egrep "/db/u[0-2]"
/dev/vda1 /db/u14 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/mapper/vgsys-ora_redo /db/u02 xfs rw,noatime,nodiratime,attr2,nobarrier,inode64,logbsize=256k,noquota 0 0
рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдпрд╛ рд▓реЛрдб рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдорд▓рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ subd рд╡рд╛рдкрд░рд╛рдпрдЪрд╛ рд╣реЛрддрд╛
рдпрд╛рдд рдПрдХ рдЕрджреНрднреБрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ, рдореА рд▓реЗрдЦрдХрд╛рд▓рд╛ рдЙрджреНрдзреГрдд рдХрд░реЗрди:
SLOB рдЪреНрдпрд╛ рдХреЗрдВрджреНрд░рд╕реНрдерд╛рдиреА "SLOB рдкрджреНрдзрдд" рдЖрд╣реЗ. SLOB рдкрджреНрдзрддреАрдЪрд╛ рдЙрджреНрджреЗрд╢ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреЗ рдЖрд╣реЗ
рдЕрд░реНрдЬ рд╡рд╛рджрд╡рд┐рдирд╛. рдПрдХ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХрд╛рдордЧрд┐рд░реА рдЪрд╛рд▓рд╡реВ рд╢рдХрдд рдирд╛рд╣реА
рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рд╡рд╛рдкрд░рдгреЗ рдЬреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдХрд┐рдВрдЧ рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рдмрджреНрдз рдЖрд╣реЗ
рдУрд░реЕрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдмреНрд▓реЙрдХреНрд╕ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреЗ. рддреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗтАФрдбреЗрдЯрд╛ рд╢реЗрдЕрд░ рдХрд░рддрд╛рдирд╛ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЕрд╕рддреЗ
рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХреНрд╕рдордзреНрдпреЗ! рдкрд░рдВрддреБ SLOB-рддреНрдпрд╛рдЪреНрдпрд╛ рдбрд┐рдлреЙрд▓реНрдЯ рддреИрдирд╛рддреАрдордзреНрдпреЗ-рдЕрд╢рд╛ рд╡рд╛рджрд╛рдкрд╛рд╕реВрди рдореБрдХреНрдд рдЖрд╣реЗ.
рд╣реА рдШреЛрд╖рдгрд╛: рдЕрдиреБрд░реВрдк рдЖрд╣реЗ, рддреА рдЖрд╣реЗ.
cl рд╕рддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕рдорд╛рдВрддрд░рддреЗрдЪреНрдпрд╛ рдбрд┐рдЧреНрд░реАрдЪреЗ рдирд┐рдпрдорди рдХрд░рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ, рд╣реА рдХреА рдЖрд╣реЗ -t
рдпреБрдЯрд┐рд▓рд┐рдЯреА рд▓рд╛рдБрдЪ рдХрд░рд╛ runit.sh
SLOB рдХрдбреВрди
рдбреАрдПрдордПрд▓ рдХрдорд╛рдВрдбрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА рдирд┐рдпрдорди рдХреЗрд▓реА рдЬрд╛рддреЗ, рд╕рдмрдбреАрд╡рд░ рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдордЬрдХреВрд░ рд╕рдВрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдордЬрдХреВрд░ рд╕рддреНрд░, рдкреЕрд░рд╛рдореАрдЯрд░ UPDATE_PCT
рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЖрдгрд┐ рдЕрддрд┐рд╢рдп рд╕реЛрдпреАрд╕реНрдХрд░рдкрдгреЗ: SLOB
рд╕реНрд╡рддрдГ, рд▓реЛрдб рд╕рддреНрд░рд╛рдкреВрд░реНрд╡реА рдЖрдгрд┐ рдирдВрддрд░ - рд╕реНрдЯреЕрдЯрд╕реНрдкреЕрдХ, рдХрд┐рдВрд╡рд╛ awr-рд╕реНрдиреЕрдкрд╢реЙрдЯреНрд╕ (рдЬреЗ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ) рддрдпрд╛рд░ рдХрд░рддреЗ.
рддрдерд╛рдкрд┐, рддреЗ рдмрд╛рд╣реЗрд░ рд╡рд│рд▓реЗ SLOB
рейреж рд╕реЗрдХрдВрджрд╛рдВрдкреЗрдХреНрд╖рд╛ рдХрдореА рдХрд╛рд▓рд╛рд╡рдзреАрдЪреНрдпрд╛ SQL рд╕рддреНрд░рд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА.
рдореНрд╣рдгреВрди, рдореА рдкреНрд░рдердо рд▓реЛрдбрд░рдЪреА рдорд╛рдЭреА рд╕реНрд╡рддрдГрдЪреА, рдХрд╛рдордЧрд╛рд░-рд╢реЗрддрдХрд░реА рдЖрд╡реГрддреНрддреА рдХреЛрдб рдХреЗрд▓реА рдЖрдгрд┐ рдирдВрддрд░ рддреА рдХрд╛рд░реНрдпрд░рдд рд░рд╛рд╣рд┐рд▓реА.
рдореА рд╕реНрдкрд╖реНрдЯрддреЗрд╕рд╛рдареА, рд▓реЛрдбрд░ рдХрд╛рдп рдХрд░рддреЛ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд░рддреЛ рддреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реВ.
рдореВрд▓рдд: рд▓реЛрдбрд░ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
рдХрд╛рдордЧрд╛рд░ рдХреЛрдб
function dotx()
{
local v_period="$2"
[ -z "v_period" ] && v_period="0"
source "/home/oracle/testingredotrac╨╡/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror exit failure
set verify off
set echo off
set feedback off
define wnum="$1"
define period="$v_period"
set appinfo worker_&&wnum
declare
v_upto number;
v_key number;
v_tots number;
v_cts number;
begin
select max(col1) into v_upto from system.testtab_&&wnum;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
v_tots := &&period + v_cts;
while v_cts <= v_tots
loop
v_key:=abs(mod(dbms_random.random,v_upto));
if v_key=0 then
v_key:=1;
end if;
update system.testtab_&&wnum t
set t.object_name=translate(dbms_random.string('a', 120), 'abcXYZ', '158249')
where t.col1=v_key
;
commit;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
end loop;
end;
/
exit
__EOF__
}
export -f dotx
рдХрд╛рдордЧрд╛рд░ рдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд:
рдХрд╛рд░реНрдпрд░рдд рдХрд╛рдордЧрд╛рд░
echo "starting test, duration: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i<="$SQLSESS_COUNT";i++))
do
echo "sql-session: ${i}" >> "$v_logfile"
dotx "$i" "${TEST_DURATION}" &
done
echo "waiting..." >> "$v_logfile"
wait
рдЖрдгрд┐ рдХрд╛рдордЧрд╛рд░рд╛рдВрд╕рд╛рдареА рдЯреЗрдмрд▓ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд:
рдЯреЗрдмрд▓ рддрдпрд╛рд░ рдХрд░рдгреЗ
function createtable() {
source "/home/oracle/testingredotrac╨╡/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror continue
set verify off
set echo off
set feedback off
define wnum="$1"
define ts_name="slob"
begin
execute immediate 'drop table system.testtab_&&wnum';
exception when others then null;
end;
/
create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum<1000
;
create index testtab_&&wnum._idx on system.testtab_&&wnum (col1);
--alter table system.testtab_&&wnum nologging;
--alter index system.testtab_&&wnum._idx nologging;
exit
__EOF__
}
export -f createtable
seq 1 1 "$SQLSESS_COUNT" | xargs -n 1 -P 4 -I {} -t bash -c "createtable "{}"" | tee -a "$v_logfile"
echo "createtable done" >> "$v_logfile"
рддреНрдпрд╛. рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдордЧрд╛рд░рд╛рд╕рд╛рдареА (рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрдкрдгреЗ: рдбреАрдмреАрдордзреНрдпреЗ рдПрдХ рд╡реЗрдЧрд│реЗ SQL рд╕рддреНрд░) рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЯреЗрдмрд▓ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЛ.
рд╣реЗ рдХрд╛рдордЧрд╛рд░ рд╕рддреНрд░рд╛рдВрдордзреАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рд▓реЙрдХрдЪреА рдЕрдиреБрдкрд╕реНрдерд┐рддреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ.
рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛: рддреНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреА рдХрд░рддреЛ, рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рдЯреЗрдмрд▓рд╕рд╣, рдЯреЗрдмрд▓ рд╕рд░реНрд╡ рд╕рдорд╛рди рдЖрд╣реЗрдд.
рд╕рд░реНрд╡ рдХрд╛рдордЧрд╛рд░ рд╕рдорд╛рди рд╡реЗрд│ рдХрд╛рдо рдХрд░рддрд╛рдд.
рд╢рд┐рд╡рд╛рдп, рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рд╕рд╛рдареА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд▓реЙрдЧ рд╕реНрд╡рд┐рдЪ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рд╣реЛрдИрд▓ рдЖрдгрд┐ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛.
рдмрд░рдВ, рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╕рдВрдмрдВрдзрд┐рдд рдЦрд░реНрдЪ рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдЙрджреНрднрд╡рд▓реЗ.
рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдореА рдХрд╛рдордЧрд╛рд░рд╛рдВрдЪреНрдпрд╛ рдХрд╛рдорд╛рдЪрд╛ рдХрд╛рд▓рд╛рд╡рдзреА 8 рдорд┐рдирд┐рдЯрд╛рдВрд╡рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ.
рд▓реЛрдб рдЕрдВрддрд░реНрдЧрдд рд╕рдмрдбреАрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░рд╛ рд╕реНрдЯреЕрдЯрд╕реНрдкреЕрдХ рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рдПрдХ рднрд╛рдЧ
Database DB Id Instance Inst Num Startup Time Release RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
2929910313 XE 1 07-Sep-20 23:12 18.0.0.0.0 NO
Host Name Platform CPUs Cores Sockets Memory (G)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
billing.izhevsk1 Linux x86 64-bit 2 2 1 15.6
Snapshot Snap Id Snap Time Sessions Curs/Sess Comment
~~~~~~~~ ---------- ------------------ -------- --------- ------------------
Begin Snap: 1630 07-Sep-20 23:12:27 55 .7
End Snap: 1631 07-Sep-20 23:20:29 62 .6
Elapsed: 8.03 (mins) Av Act Sess: 8.4
DB time: 67.31 (mins) DB CPU: 15.01 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,392M Std Block Size: 8K
Shared Pool: 288M Log Buffer: 103,424K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ ------------------ ----------------- ----------- -----------
DB time(s): 8.4 0.0 0.00 0.20
DB CPU(s): 1.9 0.0 0.00 0.04
Redo size: 7,685,765.6 978.4
Logical reads: 60,447.0 7.7
Block changes: 47,167.3 6.0
Physical reads: 8.3 0.0
Physical writes: 253.4 0.0
User calls: 42.6 0.0
Parses: 23.2 0.0
Hard parses: 1.2 0.0
W/A MB processed: 1.0 0.0
Logons: 0.5 0.0
Executes: 15,756.5 2.0
Rollbacks: 0.0 0.0
Transactions: 7,855.1
рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреНрдпрд╛ рдХрд╛рдорд╛рдХрдбреЗ рдкрд░рдд рдпреЗрдд рдЖрд╣реЗ.
рдЖрдореНрд╣реА, рдЗрддрд░ рдЧреЛрд╖реНрдЯреА рд╕рдорд╛рди рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдЦрд╛рд▓реАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рдореВрд▓реНрдпреЗ рдмрджрд▓реВ:
- рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЙрдЧ рдЧрдЯрд╛рдВрдЪрд╛ рдЖрдХрд╛рд░. рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [рейреи, резрежреирек] рдПрдордмреА;
- рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдЬрд░реНрдирд▓ рдЧрдЯрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛. рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [реи,рейреи];
log_archive_max_processes
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [рез,рео];commit_logging
рджреЛрди рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:batch|immediate
;commit_wait
рджреЛрди рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:wait|nowait
;log_buffer
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [реи.резреирео] рдПрдордмреА.log_checkpoint_timeout
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [ремреж,резреирежреж] рд╕реЗрдХрдВрджdb_writer_processes
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [рез,рек]undo_retention
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [рейреж;рейрежреж] рд╕реЗрдХрдВрджtransactions_per_rollback_segment
рдореВрд▓реНрдп рд╢реНрд░реЗрдгреА: [рез,рек]disk_asynch_io
рджреЛрди рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:true|false
;filesystemio_options
рдЦрд╛рд▓реАрд▓ рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:none|setall|directIO|asynch
;db_block_checking
рдЦрд╛рд▓реАрд▓ рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:OFF|LOW|MEDIUM|FULL
;db_block_checksum
рдЦрд╛рд▓реАрд▓ рдореВрд▓реНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ:OFF|TYPICAL|FULL
;
рдУрд░реЕрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд░рд╛рдЦрдгреНрдпрд╛рдЪрд╛ рдЕрдиреБрднрд╡ рдЕрд╕рд▓реЗрд▓реА рд╡реНрдпрдХреНрддреА рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдЖрдзреАрдЪ рд╕рд╛рдВрдЧреВ рд╢рдХрддреЗ рдХреА рдХрд╛рдп рдЖрдгрд┐ рдХреЛрдгрддреА рдореВрд▓реНрдпреЗ рд╕реЗрдЯ рдХрд░рд╛рд╡реАрдд, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдореВрд▓реНрдпрд╛рдВрдордзреВрди, рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдЕрд░реНрдЬ рдХреЛрдб, рдпреЗрдереЗ рд╡рд░.
рдкрд░рдВрддреБ.
рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪрд╛ рдореБрджреНрджрд╛ рд╣рд╛ рджрд░реНрд╢рд╡рд┐рдгреЗ рдЖрд╣реЗ рдХреА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реНрд╡рддрдГрдЪ рдЖрдкрд▓реНрдпрд╛рд╕рд╛рдареА рд╣реЗ рддреБрд▓рдиреЗрдиреЗ рд▓рд╡рдХрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрд▓.
рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА, рд╕рд╛рдиреБрдХреВрд▓ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдкреНрд░рдгрд╛рд▓реАрджреНрд╡рд╛рд░реЗ рджрд╕реНрддрдРрд╡рдЬ рдкрд╛рд╣рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ, рдХреЛрдгрддреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдмрджрд▓рд╛рдпрдЪреЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛ рд╢реНрд░реЗрдгреАрдВрдордзреНрдпреЗ рдЖрд╣реЗрдд рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.
рдЖрдгрд┐ рджреЗрдЦреАрд▓: рдХреЛрдб рдХреЛрдб рдХрд░рд╛ рдЬреЛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рд╕рд╛рдиреБрдХреВрд▓ рдкреНрд░рдгрд╛рд▓реАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдИрд▓.
рддрд░, рдЖрддрд╛ рдХреЛрдбрдмрджреНрджрд▓.
рдореА рд╡рд░ рдмреЛрд▓рд▓реЛ cran-r
, рдореНрд╣рдгрдЬреЗ: рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╕рд╣ рд╕рд░реНрд╡ рд╣рд╛рддрд╛рд│рдгреА рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдорд╛рдВрдбрд▓реА рдЬрд╛рддрд╛рдд.
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп, рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдореЗрдЯреНрд░рд┐рдХ рдореВрд▓реНрдпрд╛рдиреБрд╕рд╛рд░ рдирд┐рд╡рдб, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреЗрдЯ рд╡реЗрдХреНрдЯрд░: рд╣реЗ рдПрдХ рдкреЕрдХреЗрдЬ рдЖрд╣реЗ GA
(
рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкреЕрдХреЗрдЬ рдлрд╛рд░рд╕реЗ рдпреЛрдЧреНрдп рдирд╛рд╣реА, рдХрд╛рд░рдг рддреНрдпрд╛рд▓рд╛ рд╡реЗрдХреНрдЯрд░ (рдЧреБрдгрд╕реВрддреНрд░, рдЬрд░ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд) рдЕрдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрдЦреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдЖрд╣реЗ.
рдЖрдгрд┐ рдорд╛рдЭреЗ рд╡реЗрдХреНрдЯрд░, рд╕реЗрдЯрд┐рдВрдЧ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрдордзреВрди: рд╣реЗ 14 рдкрд░рд┐рдорд╛рдг рдЖрд╣реЗрдд - рдкреВрд░реНрдгрд╛рдВрдХ рдЖрдгрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдпреЗ.
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡реНрд╣реЕрд▓реНрдпреВрдЬрд▓рд╛ рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпреБрдХреНрдд рдХрд░реВрди рд╣реА рд╕рдорд╕реНрдпрд╛ рдирдХреНрдХреАрдЪ рдЯрд╛рд│рд▓реА рдЬрд╛рддреЗ.
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╢реЗрд╡рдЯреА, рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдпрд╛рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рддреЛ:
GA::ga рд▓рд╛ рдХреЙрд▓ рдХрд░рд╛
cat( "", file=v_logfile, sep="n", append=F)
pSize = 10
elitism_value=1
pmutation_coef=0.8
pcrossover_coef=0.1
iterations=50
gam=GA::ga(type="real-valued", fitness=evaluate,
lower=c(32,2, 1,1,1,2,60,1,30,1,0,0, 0,0), upper=c(1024,32, 8,10,10,128,800,4,300,8,10,40, 40,30),
popSize=pSize,
pcrossover = pcrossover_coef,
pmutation = pmutation_coef,
maxiter=iterations,
run=4,
keepBest=T)
cat( "GA-session is done" , file=v_logfile, sep="n", append=T)
gam@solution
рдпреЗрдереЗ, рдорджрддреАрдиреЗ lower
╨╕ upper
рд╕рдмрд░реВрдЯреАрди рд╡рд┐рд╢реЗрд╖рддрд╛ ga
рдореВрд▓рдд:, рд╢реЛрдз рдЬрд╛рдЧреЗрдЪреЗ рдХреНрд╖реЗрддреНрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрд╢рд╛ рд╡реЗрдХреНрдЯрд░ (рдХрд┐рдВрд╡рд╛ рд╡реЗрдХреНрдЯрд░) рд╕рд╛рдареА рд╢реЛрдз рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЬреНрдпрд╛рд╕рд╛рдареА рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рдирдЪреЗ рдХрдорд╛рд▓ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.
ga subroutine рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рди рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╢реЛрдзрддреЗ.
рдмрд░рдВ, рдордЧ, рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рди, рд╕рдмрдбреАрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рд╡реНрд╣реЕрд▓реНрдпреВрдЬрдЪрд╛ рд╕рдВрдЪ рдореНрд╣рдгреВрди рд╡реЗрдХреНрдЯрд░ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рд╕рдмрдбреАрдХрдбреВрди рдореЗрдЯреНрд░рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдореНрд╣рдгрдЬреЗ: рджрд┐рд▓реЗрд▓реНрдпрд╛ subd рд╕реЗрдЯрдЕрдкрд╕рд╣ рдХрд┐рддреА рдЖрдгрд┐ subd рд╡рд░ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд▓реЛрдбрд╕рд╣: subd рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ.
рдореНрд╣рдгрдЬреЗрдЪ, рдЙрд▓рдЧрдбрддрд╛рдирд╛, рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
- рд╕рдВрдЦреНрдпрд╛рдВрдЪреНрдпрд╛ рдЗрдирдкреБрдЯ рд╡реЗрдХреНрдЯрд░рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ - рд╕рдмрдбреЗрдЯрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рдореВрд▓реНрдпрд╛рдВрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ.
- рджрд┐рд▓реЗрд▓реНрдпрд╛ рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ рд░реАрдбреВ рдЧрдЯрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди. рд╢рд┐рд╡рд╛рдп, рдкреНрд░рдпрддреНрди рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдК рд╢рдХрддрд╛рдд.
рдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╢реБрджреНрдзрддреЗрд╕рд╛рдареА subd рдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрди рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реЗ рдорд╛рд╕рд┐рдХ рдЧрдЯ, рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рдЖрдгрд┐ рдХрд╛рд╣реА рдЖрдХрд╛рд░рд╛рдЪреЗ - d.b. рд╣рдЯрд╡рд▓реЗ. - рдорд╛рдЧреАрд▓ рдмрд┐рдВрджреВ рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕: рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рдореВрд▓реНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ (рдкреБрдиреНрд╣рд╛: рдПрдХ рдЕрдкрдпрд╢ рдЕрд╕реВ рд╢рдХрддреЗ)
- рдорд╛рдЧреАрд▓ рдкрд╛рдпрд░реА рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕: subd рдерд╛рдВрдмрд╡рдгреЗ, subd рд╕реБрд░реВ рдХрд░рдгреЗ рдЬреЗрдгреЗрдХрд░реВрди рдирд╡реАрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░ рдореВрд▓реНрдпреЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрддреАрд▓. (рдкреБрдиреНрд╣рд╛: рдПрдХ рддреНрд░реБрдЯреА рдЕрд╕реВ рд╢рдХрддреЗ)
- рдорд╛рдЧреАрд▓ рдкрд╛рдпрд░реА рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕: рд▓реЛрдб рдЪрд╛рдЪрдгреА рдХрд░рд╛. subd рд╡рд░реВрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд│рд╡рд╛.
- subd рддреНрдпрд╛рдЪреНрдпрд╛ рдореВрд│ рд╕реНрдерд┐рддреАрдд рдкрд░рдд рдХрд░рд╛, рдЙрджрд╛. рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЙрдЧ рдЧрдЯ рд╣рдЯрд╡рд╛, рдореВрд│ рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░рдд рдХрд░рд╛.
рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛрдб
evaluate=function(p_par) {
v_module="evaluate"
v_metric=0
opn=NULL
opn$rg_size=round(p_par[1],digit=0)
opn$rg_count=round(p_par[2],digit=0)
opn$log_archive_max_processes=round(p_par[3],digit=0)
opn$commit_logging="BATCH"
if ( round(p_par[4],digit=0) > 5 ) {
opn$commit_logging="IMMEDIATE"
}
opn$commit_logging=paste("'", opn$commit_logging, "'",sep="")
opn$commit_wait="WAIT"
if ( round(p_par[5],digit=0) > 5 ) {
opn$commit_wait="NOWAIT"
}
opn$commit_wait=paste("'", opn$commit_wait, "'",sep="")
opn$log_buffer=paste(round(p_par[6],digit=0),"m",sep="")
opn$log_checkpoint_timeout=round(p_par[7],digit=0)
opn$db_writer_processes=round(p_par[8],digit=0)
opn$undo_retention=round(p_par[9],digit=0)
opn$transactions_per_rollback_segment=round(p_par[10],digit=0)
opn$disk_asynch_io="true"
if ( round(p_par[11],digit=0) > 5 ) {
opn$disk_asynch_io="false"
}
opn$filesystemio_options="none"
if ( round(p_par[12],digit=0) > 10 && round(p_par[12],digit=0) <= 20 ) {
opn$filesystemio_options="setall"
}
if ( round(p_par[12],digit=0) > 20 && round(p_par[12],digit=0) <= 30 ) {
opn$filesystemio_options="directIO"
}
if ( round(p_par[12],digit=0) > 30 ) {
opn$filesystemio_options="asynch"
}
opn$db_block_checking="OFF"
if ( round(p_par[13],digit=0) > 10 && round(p_par[13],digit=0) <= 20 ) {
opn$db_block_checking="LOW"
}
if ( round(p_par[13],digit=0) > 20 && round(p_par[13],digit=0) <= 30 ) {
opn$db_block_checking="MEDIUM"
}
if ( round(p_par[13],digit=0) > 30 ) {
opn$db_block_checking="FULL"
}
opn$db_block_checksum="OFF"
if ( round(p_par[14],digit=0) > 10 && round(p_par[14],digit=0) <= 20 ) {
opn$db_block_checksum="TYPICAL"
}
if ( round(p_par[14],digit=0) > 20 ) {
opn$db_block_checksum="FULL"
}
v_vector=paste(round(p_par[1],digit=0),round(p_par[2],digit=0),round(p_par[3],digit=0),round(p_par[4],digit=0),round(p_par[5],digit=0),round(p_par[6],digit=0),round(p_par[7],digit=0),round(p_par[8],digit=0),round(p_par[9],digit=0),round(p_par[10],digit=0),round(p_par[11],digit=0),round(p_par[12],digit=0),round(p_par[13],digit=0),round(p_par[14],digit=0),sep=";")
cat( paste(v_module," try to evaluate vector: ", v_vector,sep="") , file=v_logfile, sep="n", append=T)
rc=make_additional_rgroups(opn)
if ( rc!=0 ) {
cat( paste(v_module,"make_additional_rgroups failed",sep="") , file=v_logfile, sep="n", append=T)
return (0)
}
v_rc=0
rc=set_db_parameter("log_archive_max_processes", opn$log_archive_max_processes)
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_logging", opn$commit_logging )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_wait", opn$commit_wait )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_buffer", opn$log_buffer )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_checkpoint_timeout", opn$log_checkpoint_timeout )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_writer_processes", opn$db_writer_processes )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("undo_retention", opn$undo_retention )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("transactions_per_rollback_segment", opn$transactions_per_rollback_segment )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("disk_asynch_io", opn$disk_asynch_io )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("filesystemio_options", opn$filesystemio_options )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checking", opn$db_block_checking )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checksum", opn$db_block_checksum )
if ( rc != 0 ) { v_rc=1 }
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=stop_db("immediate")
rc=start_db("")
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("abort")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=run_test()
v_metric=getmetric()
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
return (v_metric)
}
рддреЗ. рд╕рд░реНрд╡ рдХрд╛рдо: рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдХреЗрд▓реЗ.
ga-subroutine рд╡реЗрдХреНрдЯрд░ рдХрд┐рдВрд╡рд╛, рдЕрдзрд┐рдХ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛, рдЧреБрдгрд╕реВрддреНрд░рд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ.
рдЬреНрдпрд╛рдордзреНрдпреЗ, рдЖрдкрд▓реНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ рдЬреАрдиреНрд╕рд╕рд╣ рдЧреБрдгрд╕реВрддреНрд░рд╛рдВрдЪреА рдирд┐рд╡рдб рдЬреНрдпрд╛рд╕рд╛рдареА рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рди рдореЛрдареНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА рдХрд░рддреЗ.
рд╣реА, рдереЛрдбрдХреНрдпрд╛рдд, рдПрди-рдбреАрдореЗрдиреНрд╢рдирд▓ рд╢реЛрдз рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рд╡реЗрдХреНрдЯрд░ рд╡рд╛рдкрд░реВрди рдЧреБрдгрд╕реВрддреНрд░рд╛рдВрдЪрд╛ рдЗрд╖реНрдЯрддрдо рд╕рдВрдЪ рд╢реЛрдзрдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ.
рдЕрдЧрджреА рд╕реНрдкрд╖реНрдЯ, рддрдкрд╢реАрд▓рд╡рд╛рд░
рдореА рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рджреЛрди рддрд╛рдВрддреНрд░рд┐рдХ рдореБрджреНрджреЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ.
рдлрдВрдХреНрд╢рдирдордзреВрди рд╕рд╣рд╛рдпреНрдпрдХ рдХреЙрд▓ evaluate
, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрдЯреЙрдк-рд╕реНрдЯрд╛рд░реНрдЯ, рд╕рдмрдбреА рдкреЕрд░рд╛рдореАрдЯрд░рдЪреЗ рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рдгреЗ, рдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ cran-r
рдХрд╛рд░реНрдпреЗ system2
рдЬреНрдпрд╛рдЪреНрдпрд╛ рдорджрддреАрдиреЗ: рдХрд╛рд╣реА рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдВрд╡рд╛ рдХрдорд╛рдВрдб рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
set_db_parameter
set_db_parameter=function(p1, p2) {
v_module="set_db_parameter"
v_cmd="/home/oracle/testingredotrac╨╡/set_db_parameter.sh"
v_args=paste(p1," ",p2,sep="")
x=system2(v_cmd, args=v_args, stdout=T, stderr=T, wait=T)
if ( length(attributes(x)) > 0 ) {
cat(paste(v_module," failed with: ",attributes(x)$status," ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (attributes(x)$status)
}
else {
cat(paste(v_module," ok: ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (0)
}
}
рджреБрд╕рд░рд╛ рдореБрджреНрджрд╛ рдореНрд╣рдгрдЬреЗ рдУрд│, evaluate
рдлрдВрдХреНрд╢рдиреНрд╕, рд▓реЙрдЧ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдЯреНрд░рд┐рдХ рдореВрд▓реНрдп рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░ рдЬрддрди рдХрд░реВрди:
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ, рдХрд╛рд░рдг рдпрд╛ рдбреЗрдЯрд╛ рдЕреЕрд░реЗрдордзреВрди, рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░рдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪрд╛ рдореЗрдЯреНрд░рд┐рдХ рдореВрд▓реНрдпрд╛рд╡рд░ рдЬрд╛рд╕реНрдд рдХрд┐рдВрд╡рд╛ рдХрдореА рдкреНрд░рднрд╛рд╡ рдкрдбрддреЛ рдпрд╛рдмрджреНрджрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.
рдореНрд╣рдгрдЬреЗ: рд╡рд┐рд╢реЗрд╖рддрд╛-рдЖрдпрд╛рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.
рдордЧ рдХрд╛рдп рд╣реЛрдК рд╢рдХрддреЗ?
рдЖрд▓реЗрдЦ рд╕реНрд╡рд░реВрдкрд╛рдд, рддреБрдореНрд╣реА рдЪрдврддреНрдпрд╛ рдореЗрдЯреНрд░рд┐рдХ рдХреНрд░рдорд╛рдиреЗ рдЪрд╛рдЪрдгреНрдпрд╛ рдорд╛рдЧрд╡рд▓реНрдпрд╛рд╕, рдЪрд┐рддреНрд░ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:
рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ рдЕрддреНрдпрдВрдд рдореВрд▓реНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд╣реА рдбреЗрдЯрд╛:
рдпреЗрдереЗ, рдкрд░рд┐рдгрд╛рдорд╛рдВрд╕рд╣ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯрдордзреНрдпреЗ, рдореА рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрди: рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реНрд╣реЗрдХреНрдЯрд░рдЪреА рдореВрд▓реНрдпреЗ рдлрд┐рдЯрдиреЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛрдбрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рджрд┐рд▓реА рдЖрд╣реЗрдд, рдкреЕрд░рд╛рдореАрдЯрд░ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕/рд╢реНрд░реЗрдгреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпрд╛ рд╕реВрдЪреАрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдирд╛рд╣реА, рдЬреА рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА. рд╡рд░ рдордЬрдХреБрд░рд╛рдд.
рд╡рд┐рд╣реАрд░. рд╣реЗ рдЦреВрдк рдЖрд╣реЗ рдХреА рдереЛрдбреЗ, ~8 рд╣рдЬрд╛рд░ рдЯреАрдкреАрдПрд╕: рдПрдХ рд╡реЗрдЧрд│рд╛ рдкреНрд░рд╢реНрди.
рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд, рд╣реА рдЖрдХреГрддреА рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдирд╛рд╣реА, рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХрд╛рдп рдЖрд╣реЗ, рд╣реЗ рдореВрд▓реНрдп рдХрд╕реЗ рдмрджрд▓рддреЗ.
рдпреЗрдереАрд▓ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдЪрд╛рдВрдЧрд▓реА рдЖрд╣реЗ.
рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рдХрдореАрдд рдХрдореА рдПрдХ рдШрдЯрдХ рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рд╡рд░, ga-рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╡рд░ рд▓рдХреНрд╖рдгреАрдп рдкреНрд░рднрд╛рд╡ рдЯрд╛рдХрддреЛ, рдЧреБрдгрд╕реВрддреНрд░ рд╡реЗрдХреНрдЯрд░рджреНрд╡рд╛рд░реЗ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рддреЛ: рдЭрд╛рдХрд▓реЗрд▓реЗ.
рд╡рдХреНрд░ рдореВрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рдмрд░реНтАНрдпрд╛рдкреИрдХреА рдЬреЛрдорджрд╛рд░ рдЧрддрд┐рд╢реАрд▓рддреЗрдЪрд╛ рдЖрдзрд╛рд░ рдШреЗрдд, рдЖрдгрдЦреА рдПрдХ рдШрдЯрдХ рдЖрд╣реЗ рдЬреЛ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд▓рд╣рд╛рди рдЕрд╕рд▓рд╛ рддрд░реА рддреНрдпрд╛рдЪрд╛ рдкреНрд░рднрд╛рд╡ рдЖрд╣реЗ.
рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ attribute-importance
рдХреЛрдгрддреЗ рдЧреБрдгрдзрд░реНрдо (рдЪрд╛рдВрдЧрд▓реЗ, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░рдЪреЗ рдШрдЯрдХ) рдЖрдгрд┐ рддреЗ рдореЗрдЯреНрд░рд┐рдХ рдореВрд▓реНрдпрд╛рд╡рд░ рдХрд┐рддреА рдкреНрд░рднрд╛рд╡ рдкрд╛рдбрддрд╛рдд рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реНрд▓реЗрд╖рдг.
рдЖрдгрд┐ рдпрд╛ рдорд╛рд╣рд┐рддреАрд╡рд░реВрди: рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЧреБрдгрдзрд░реНрдорд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрдореБрд│реЗ рдХреЛрдгрддреЗ рдШрдЯрдХ рдкреНрд░рднрд╛рд╡рд┐рдд рдЭрд╛рд▓реЗ рддреЗ рд╕рдордЬреВрди рдШреНрдпрд╛.
рдЕрдВрдорд▓рд╛рдд рдЖрдгрд╛ attribute-importance
рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╢рдХреНрдп.
рдпрд╛ рд╣реЗрддреВрдВрд╕рд╛рдареА, рдорд▓рд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрд╡рдбрддреЛ randomForest
рддреНрдпрд╛рдЪ рдирд╛рд╡рд╛рдЪреЗ рдЖрд░ рдкреЕрдХреЗрдЬ (
randomForest
, рдорд▓рд╛ рддреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╕рдордЬрддреЗ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рдд: рд╡рд┐рд╢реЗрд╖рддрд╛рдВрдЪреЗ рдорд╣рддреНрддреНрд╡ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рддреНрдпрд╛рдЪрд╛ рджреГрд╖реНрдЯреАрдХреЛрди, рдЧреБрдгрдзрд░реНрдорд╛рдВрд╡рд░реАрд▓ рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреНрдпрд╛ рдЕрд╡рд▓рдВрдмрдирд╛рдЪреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреЗрд▓ рддрдпрд╛рд░ рдХрд░рддреЛ.
рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╣реЗ рд▓реЛрдб рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдорд┐рд│рд╡рд▓реЗрд▓реЗ рдореЗрдЯреНрд░рд┐рдХ рдЖрд╣реЗ: tps
;
рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЗ рдЯреНрдпреВрдирд┐рдВрдЧ рд╡реЗрдХреНрдЯрд░рдЪреЗ рдШрдЯрдХ рдЖрд╣реЗрдд.
рддрд░ рдЗрдереЗ randomForest
рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреЗрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдЪреЗ рдорд╣рддреНрддреНрд╡ рджреЛрди рд╕рдВрдЦреНрдпрд╛рдВрд╕рд╣ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ: %IncMSE
тАФ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдЪреА рдЙрдкрд╕реНрдерд┐рддреА/рдЕрдиреБрдкрд╕реНрдерд┐рддреА рдпрд╛ рдореЙрдбреЗрд▓рдЪреА MSE рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╢реА рдмрджрд▓рддреЗ (рдореАрди рд╕реНрдХреНрд╡реЗрдЕрд░ рдПрд░рд░);
рдЖрдгрд┐ IncNodePurity рд╣реА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдЖрд╣реЗ рдЬреА рдпрд╛ рдЧреБрдгрдзрд░реНрдорд╛рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдирд┐рд░реАрдХреНрд╖рдгрд╛рдВрд╕рд╣ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд┐рддреА рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рднрд╛рдЧрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рд╣реЗ рджрд░реНрд╢рд╡рддреЗ, рдЬреЗрдгреЗрдХрд░реВрди рдПрдХрд╛ рднрд╛рдЧрд╛рдд рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ рдПрдХрд╛ рдореВрд▓реНрдпрд╛рд╕рд╣ рдбреЗрдЯрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░реНтАНрдпрд╛ рднрд╛рдЧрд╛рдд рдореЗрдЯреНрд░рд┐рдХрдЪреЗ рджреБрд╕рд░реЗ рдореВрд▓реНрдп.
рдмрд░рдВ, рддреЗ рдореНрд╣рдгрдЬреЗ: рд╣реЗ рдХрд┐рддреА рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд░реНрдЧреАрдХрд░рдг рдЧреБрдгрдзрд░реНрдо рдЖрд╣реЗ (рдореА RandomForest рд╡рд░ рд╕рд░реНрд╡рд╛рдд рд╕реНрдкрд╖реНрдЯ, рд░рд╢рд┐рдпрди-рднрд╛рд╖реЗрдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдкрд╛рд╣рд┐рд▓реЗ
рд▓реЛрдб рдЪрд╛рдЪрдгреНрдпрд╛рдВрдЪреНрдпрд╛ рдирд┐рдХрд╛рд▓рд╛рдВрд╕рд╣ рдбреЗрдЯрд╛рд╕реЗрдЯрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдордЧрд╛рд░-рд╢реЗрддрдХрд░реА рдЖрд░-рдХреЛрдб:
x=NULL
v_data_file=paste('/tmp/data1.dat',sep="")
x=read.table(v_data_file, header = TRUE, sep = ";", dec=",", quote = ""'", stringsAsFactors=FALSE)
colnames(x)=c('metric','rgsize','rgcount','lamp','cmtl','cmtw','lgbffr','lct','dbwrp','undo_retention','tprs','disk_async_io','filesystemio_options','db_block_checking','db_block_checksum')
idxTrain=sample(nrow(x),as.integer(nrow(x)*0.7))
idxNotTrain=which(! 1:nrow(x) %in% idxTrain )
TrainDS=x[idxTrain,]
ValidateDS=x[idxNotTrain,]
library(randomForest)
#mtry=as.integer( sqrt(dim(x)[2]-1) )
rf=randomForest(metric ~ ., data=TrainDS, ntree=40, mtry=3, replace=T, nodesize=2, importance=T, do.trace=10, localImp=F)
ValidateDS$predicted=predict(rf, newdata=ValidateDS[,colnames(ValidateDS)!="metric"], type="response")
sum((ValidateDS$metric-ValidateDS$predicted)^2)
rf$importance
рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╣рд╛рддрд╛рдВрдиреА рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рд╣рд╛рдпрдкрд░рдкреЕрд░рд╛рдореАрдЯрд░ рдереЗрдЯ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрди, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдбреЗрдЯрд╛рд╕реЗрдЯрд╡рд░реАрд▓ рдЕрдВрджрд╛рдЬ рдЕрдзрд┐рдХ рдЕрдЪреВрдХрдкрдгреЗ рдкреВрд░реНрдг рдХрд░рдгрд╛рд░реЗ рдореЙрдбреЗрд▓ рдирд┐рд╡рдбрд╛.
рдЖрдкрдг рдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдлрдВрдХреНрд╢рди рд▓рд┐рд╣реВ рд╢рдХрддрд╛ (рддрд╕реЗ, рдкреБрдиреНрд╣рд╛, рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░реВрди).
рддреБрдореНрд╣реА R рдкреЕрдХреЗрдЬ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ caret
, рдореБрджреНрджрд╛ рдорд╣рддреНрд╡рд╛рдЪрд╛ рдирд╛рд╣реА.
рдкрд░рд┐рдгрд╛рдореА, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреНрдпрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдбрд┐рдЧреНрд░реАрдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд:
рд╡рд┐рд╣реАрд░. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдореНрд╣реА рдЬрд╛рдЧрддрд┐рдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддреЛ:
- рд╣реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдпрд╛ рдЪрд╛рдЪрдгреА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд╕рд░реНрд╡рд╛рдд рд▓рдХреНрд╖рдгреАрдп, рдкреЕрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ
commit_wait
рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рддреЗ рд╕рдмрдбреАрдмреА рд▓реЙрдЧ рдмрдлрд░рд╡рд░реВрди рд╡рд░реНрддрдорд╛рди рд▓реЙрдЧ рдЧреНрд░реБрдкрд╡рд░ рд░реАрдбреЛ рдбреЗрдЯрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ io рдСрдкрд░реЗрд╢рдирдЪрд╛ рдПрдХреНрдЭрд┐рдХреНрдпреБрд╢рди рдореЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ: рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрд┐рдВрд╡рд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕.
рдореВрд▓реНрдпnowait
рдЬреНрдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЬрд╡рд│рдЬрд╡рд│ рдЙрднреНрдпрд╛, tps рдореЗрдЯреНрд░рд┐рдХрдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдордзреНрдпреЗ рдПрдХрд╛рдзрд┐рдХ рд╡рд╛рдв рд╣реЛрддреЛ: рд╣реЗ рд░рд┐рдбреВ рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ io рдореЛрдбрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.
рдЖрдкрдг рдЕрдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╣реЗ рдХрд░рд╛рд╡реЗ рдХреА рдирд╛рд╣реА рд╣рд╛ рдПрдХ рд╡реЗрдЧрд│рд╛ рдкреНрд░рд╢реНрди рдЖрд╣реЗ. рдпреЗрдереЗ рдореА рд╕реНрд╡рддрдГрд▓рд╛ рдлрдХреНрдд рд╕рд╛рдВрдЧрдгреНрдпрд╛рдкреБрд░рддреЗ рдорд░реНрдпрд╛рджрд┐рдд рдареЗрд╡рддреЛ: рд╣рд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдШрдЯрдХ рдЖрд╣реЗ. - рд╣реЗ рддрд╛рд░реНрдХрд┐рдХ рдЖрд╣реЗ рдХреА рд╕рдмрдбреАрдЪреНрдпрд╛ рд▓реЙрдЧ рдмрдлрд░рдЪрд╛ рдЖрдХрд╛рд░ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдЖрд╣реЗ.
рд▓реЙрдЧ рдмрдлрд░рдЪрд╛ рдЖрдХрд╛рд░ рдЬрд┐рддрдХрд╛ рд▓рд╣рд╛рди рдЕрд╕реЗрд▓ рддрд┐рддрдХреА рддреНрдпрд╛рдЪреА рдмрдлрд░рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдХрдореА рд╣реЛрдИрд▓, рдЕрдзрд┐рдХ рд╡реЗрд│рд╛ рддреЗ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рд╣реЛрдИрд▓ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдирд╡реАрди рд░реЗрдбреЙрдХреНрд╕ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдПрдХрд╛ рднрд╛рдЧрд╛рд╕рд╛рдареА рдореЛрдХрд│реЗ рдХреНрд╖реЗрддреНрд░ рд╡рд╛рдЯрдк рдХрд░рдгреНрдпрд╛рд╕ рдЕрд╕рдорд░реНрдерддрд╛.
рдпрд╛рдЪрд╛ рдЕрд░реНрде: рд▓реЙрдЧ рдмрдлрд░рдордзреНтАНрдпреЗ рдЬрд╛рдЧрд╛ рд╡рд╛рдЯрдк рдХрд░рдгреНтАНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд▓рдВрдм рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рддреНтАНрдпрд╛рдордзреВрди рд░реАрдбреЛ рдбреЗрдЯрд╛ рд░рд┐рдбреВ рдЧреНрд░реБрдкрдордзреНтАНрдпреЗ рдбрдВрдк рдХрд░рдгреЗ.
рдпрд╛ рд╡рд┐рд▓рдВрдмрд╛рдВрдЪрд╛, рдЕрд░реНрдерд╛рддрдЪ, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдереНрд░реВрдкреБрдЯрд╡рд░ рдкрд░рд┐рдгрд╛рдо рд╡реНрд╣рд╛рдпрд▓рд╛ рд╣рд╡рд╛ рдЖрдгрд┐ рд╣реЛрддреЛ. - рдкреЕрд░рд╛рдореАрдЯрд░
db_block_checksum
: рддрд╕реЗрдЪ, рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ - рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдореБрд│реЗ рд╕рдмрдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдмрдлрд░ рдХреЕрд╢реЗрдордзреНрдпреЗ рдбрд╛рд░реНрдЯреА рдмреНрд▓реЙрдХреНрд╕ рддрдпрд╛рд░ рд╣реЛрддрд╛рдд.
рдЬреЗ, рдбреЗрдЯрд╛рдмреНрд▓реЙрдХрдЪреЗ рдЪреЗрдХрд╕рдо рддрдкрд╛рд╕рдгреЗ рд╕рдХреНрд╖рдо рдЕрд╕рддрд╛рдирд╛, рдбреЗрдЯрд╛рдмреЗрд╕рд▓рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рд╛рд╡реА рд▓рд╛рдЧрддреЗ - рдпрд╛ рдЪреЗрдХрд╕рдордЪреА рдбреЗрдЯрд╛рдмреНрд▓реЙрдХрдЪреНрдпрд╛ рдореБрдЦреНрдп рднрд╛рдЧрд╛рд╡рд░реВрди рдЧрдгрдирд╛ рдХрд░рд╛, рдбреЗрдЯрд╛рдмреНрд▓реЙрдХ рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдд рдХрд╛рдп рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ рддреЗ рддрдкрд╛рд╕рд╛: рдЬреБрд│рддреЗ/рдЬреБрд│рдд рдирд╛рд╣реА.
рдЕрд╕реЗ рдХрд╛рд░реНрдп, рдкреБрдиреНрд╣рд╛, рдбреЗрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ рд╡рд┐рд▓рдВрдм рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдкреЕрд░рд╛рдореАрдЯрд░ рдЖрдгрд┐ рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгрд╛рд░реА рдпрдВрддреНрд░рдгрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рджрд┐рд╕реВрди рдпреЗрддреЗ.
рдореНрд╣рдгреВрдирдЪ рд╡рд┐рдХреНрд░реЗрддрд╛ рдСрдлрд░ рдХрд░рддреЛ, рдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рдЪреНрдпрд╛ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдд, рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╛рдареА рднрд┐рдиреНрди рдореВрд▓реНрдпреЗ (рдкреЕрд░рд╛рдореАрдЯрд░) рдЖрдгрд┐ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рд╣реЛрдп, рдкреНрд░рднрд╛рд╡ рдкрдбреЗрд▓, рдкрд░рдВрддреБ, рдЖрдкрдг "рдмрдВрдж" рдкрд░реНрдпрдВрдд рднрд┐рдиреНрди рдореВрд▓реНрдпреЗ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдкреНрд░рднрд╛рд╡.
рдмрд░рдВ, рдЬрд╛рдЧрддрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖.
рджреГрд╖реНрдЯреАрдХреЛрди, рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдмрд░реНтАНрдпрд╛рдкреИрдХреА рдХрд╛рд░реНрдпрд░рдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рджрд┐рд╕реВрди рдпреЗрддреЗ.
рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рд▓реЛрдб рдЪрд╛рдЪрдгреАрдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдд, рд▓реЛрдбрд╕рд╛рдареА рддреНрдпрд╛рдЪреЗ (рд╕рд┐рд╕реНрдЯрдо) рдЗрд╖реНрдЯрддрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА, рд▓реЛрдбрд╕рд╛рдареА рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдордзреНрдпреЗ рдЬрд╛рд╕реНрдд рд╢реЛрдз рди рдШреЗрдгреНрдпрд╛рдХрд░рд┐рддрд╛ рддреЛ рд╕реНрд╡рдд: рд▓рд╛ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
рдкрд░рдВрддреБ рддреЗ рдкреВрд░реНрдгрдкрдгреЗ рд╡рдЧрд│рдд рдирд╛рд╣реА - рдХрд┐рдорд╛рди рд╕рдордЬрдгреНрдпрд╛рдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░: рд╕рд┐рд╕реНрдЯрдорд▓рд╛ "рдЕтАНреЕрдбрдЬрд╕реНрдЯрдореЗрдВрдЯ рдиреЙрдмреНрд╕" рдЖрдгрд┐ рдпрд╛ рдиреЙрдмреНрд╕рдЪреНрдпрд╛ рд░реЛрдЯреЗрд╢рдирдЪреНрдпрд╛ рдЕрдиреБрдЬреНрдЮреЗрдп рд╢реНрд░реЗрдгреАрдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рддреНрдпрд╛рдирдВрддрд░ рджреГрд╖реНрдЯрд┐рдХреЛрди рддреБрд▓рдиреЗрдиреЗ рддреНрд╡рд░реАрдд рдЗрд╖реНрдЯрддрдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╢реЛрдзреВ рд╢рдХрддреЛ.
рдЖрдгрд┐ рдЪрд╛рдЪрдгреАрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрдордзреАрд▓ рд╕рдВрдмрдВрдзрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.
рдЬреЗ, рдЕрд░реНрдерд╛рддрдЪ, рдХрд┐рдорд╛рди рджрд┐рд▓реЗрд▓реНрдпрд╛ рд▓реЛрдб рдЕрдВрддрд░реНрдЧрдд, рдкреНрд░рдгрд╛рд▓реА, рддреНрдпрд╛рдЪреЗ рдСрдкрд░реЗрд╢рди рдпрд╛ рдЕрддрд┐рд╢рдп рдЦреЛрд▓ рд╕рдордЬреВрди рдЙрджрдп рдпреЛрдЧрджрд╛рди рдкрд╛рд╣рд┐рдЬреЗ.
рд╕рд░рд╛рд╡ рдордзреНрдпреЗ, рд╣реА рдкреНрд░рдгрд╛рд▓реАрдЪреА рдЪрд╛рдЪрдгреА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╕рд╛рдареА рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реА рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдЖрд╣реЗ.
рдореА рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ: рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдордзреНрдпреЗ, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрд╕рд╛рдареА рд╕рд┐рд╕реНрдЯрдо рдЪрд╛рдЪрдгреАрдЪреА рдкрд░реНрдпрд╛рдкреНрддрддрд╛ рдЧрдВрднреАрд░рдкрдгреЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЖрд╣реЗ.
рддреБрдордЪреЗ рд▓рдХреНрд╖ рдЖрдгрд┐ рд╡реЗрд│ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж.
рд╕реНрддреНрд░реЛрдд: www.habr.com