YAWNDB - рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕



рд╣рдорд╛рд░реА рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЦрдкрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдБрдХрдбрд╝реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдЖрдБрдХрдбрд╝реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рджреГрд╢реНрдп рддрд░реАрдХрд╛ рдЪрд╛рд░реНрдЯреНрд╕ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдирд╛ рд╣реИред рдмрд╛рдж рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрдИ рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред рд╣рдордиреЗ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдХрд░рдг рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА; рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдерд╛ред рдЗрди рдЦреЛрдЬреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк ... рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред рдЖрдЗрдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рдл рдкрд░, рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП (рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП, рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП, рдЖрджрд┐) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдордп-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЕрдВрддрд░рд╛рд▓ред рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХреБрдЫ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЯреВрд▓ рд╣реИрдВред рдЙрдирдХреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд░рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ (рдЕрдВрдЧреНрд░реЗрдЬреА рджреМрд░ рд░реЙрдмрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рдПрдХ рдЕрдВрдЧреВрдареА рдХреЛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рд╕реНрдерд┐рд░ рд╣реИ: рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд▓ рдЪрдХреНрд░реАрдп рд╣реЛрддреЗ рд╣реИрдВред

рдПрдХ рдЧреЛрд▓рд╛рдХрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ (рдЕрдВрдЧреНрд░реЗрдЬреА рджреМрд░ рд░реЙрдмрд┐рди рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░, рдЖрд░рдЖрд░рдП) рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрдирдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ, рд░рд┐рдВрдЧ рдЯреЗрдмрд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХрд╛ рдкрддрд╛ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рдкрддреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрднрд┐рд▓реЗрдЦ рдкрд░рд╕реНрдкрд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ: рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдЫреЛрдЯреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдмрдЪрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рдж рд╕рдореЗрдХрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рддреАрд╕рд░рд╛ рдЗрд╕реЗ рдХрдо рдмрд╛рд░ рднреА рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╕рдореЗрдХрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдореЗрдХрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо, рдФрд╕рдд рдФрд░ рдХреБрд▓ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░рд┐рдВрдЧ рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдореЗрдХрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди (рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдСрдкрд░реЗрд╢рди рдХреА рдПрдХ рдЙрдЪреНрдЪ рдЧрддрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ)ред

RRDTool


рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдФрд░ рдЖрдо рдЙрдкрдХрд░рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрд░рдЖрд░рдбреАрдЯреВрд▓ рд╣реИред

рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЖрд░рдЖрд░рдбреАрдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдпрд╣ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд▓реЛрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред

рдЬрдм рд╣рдордиреЗ рдЬрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд┐рдпрд╛, рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ 1000 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИ, рддреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрдиреЗ рд▓рдЧрд╛ред рдХрднреА-рдХрднреА рдбреЗрдЯрд╛ рдмрд╕ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдпрд╛ рд░реБрдХрд╛рд╡рдЯ рдирд╣реАрдВ рд╣реБрдИред

рдЙрдкрд░реЛрдХреНрдд рддрдереНрдп рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ рдХрд┐ RRDTool рд╣рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╣рдЬрд╛рд░реЛрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

RRDcacheD рдбреЗрдорди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ RRD рдЯреВрд▓ рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЖрдк рдбрд┐рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ RRDcacheD рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред

рдбреЗрдЯрд╛ рдХреЛ рдорд╛рдирддреЗ рд╣реБрдП, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ред рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЬрд┐рддрдиреА рдмрдбрд╝реА рд╣реЛрдЧреА, рдХреИрд╢ рдЙрддрдирд╛ рд╣реА рдмреБрд░рд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛: рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рднрд╛рд░реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ...

RRDcacheD рдХреА рдПрдХ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдФрд░ рдЕрд╕рдВрдЧрдд рдХреНрд╖рдг рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред

RRDTool рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рддрд░реНрдХ рд░рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдереАред рдмреЗрд╢рдХ, рдпрд╣ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдХреЗ, рдирдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдХрд░ рдФрд░ рдлрд┐рд░ рдЗрд╕рдореЗрдВ рдкреБрд░рд╛рдирд╛ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рд╣реИред

рд╕рднреА рд╡рд░реНрдгрд┐рдд рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ RRDTool рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдЕрдиреНрдп рд╕рд╛рдзрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░реЗрдлрд╛рдЗрдЯ, рдЬреЛ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рдерд╛ред

рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ, рд╣рдо рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╣рдорд╛рд░реА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИред рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдереА рдЬреЛ рд╣рдорд╛рд░реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рд╛ рдХрд░реЗред рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдереАрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд▓рдЪреАрд▓рд╛рдкрди, рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдФрд░ рджреВрд╕рд░рд╛ - рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рдиред рддреЛ рд░рд┐рдВрдЧ рдЗрди-рдореЗрдореЛрд░реА YAWNDB рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

YAWNDB: рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА


YAWNDB (рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдВрдЧреНрд░реЗрдЬреА рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдирд╛рдо - "рдЬрдореНрд╣рд╛рдИ" - рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ; рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо YAWN рдХрд╛ рдорддрд▓рдм рд╣реИ рдлрд┐рд░ рднреА рдПрдХ рдФрд░ iNvented рд╡реНрд╣реАрд▓) рдПрдХ рдЗрди-рдореЗрдореЛрд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ; рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрд░рд▓рд╛рдВрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣рд▓реНрдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдореЙрдбрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рдЦрдкрдд рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯреЛрдВ рдХреЗ рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ YAWNDB рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ (YAWNDB рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдмрд╛рд▓реНрдЯреА рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдирд┐рдпрдо рдХрд╛ рдЕрд░реНрде рд╣реИ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп (рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░, рд╕рдВрдЧреНрд░рд╣ рдЕрд╡рдзрд┐, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдЧреБрдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред

рдпрд╣ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рд╕рдордп, рдореВрд▓реНрдп рдФрд░ рдХреБрдВрдЬреА (YAWNDB рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдХреБрдВрдЬреА рдХреЛ рдкрде рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕реЗ рдорд┐рд▓рдХрд░ рдЯреНрд░рд┐рдкрд▓ рд╣реИред рдПрдХ рдкрде рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЛрдВ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░рд┐рдкрд▓реЗрдЯ рдХреЛ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХреНрд░рдо рдореЗрдВ, рдкрд╣рд▓рд╛ рдШрдЯрдХ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЙрдкрд╕рд░реНрдЧред рдирд┐рдпрдо рдореЗрдВ рдЙрдкрд╕рд░реНрдЧ рдХреНрд╖реЗрддреНрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдПрдХ рд╣реА рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдирд┐рдпрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрди рдирд┐рдпрдореЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреНрд░рд┐рдкрд▓ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордп-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдПрди рдмрд╛рд╕реНрдХреЗрдЯ рдореЗрдВ рдЬрд╛рдПрдЧреА, рдЬрд╣рд╛рдВ рдПрди рдирд┐рдпрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдкрде рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред

рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг


YAWNDB C рдореЗрдВ Ecirca рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд▓рд╛рдЧреВ рдПрдХ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

Erlang рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ NIF (Native Implemented Functions) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдбрд┐рд╕реНрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯрдХреИрд╢ Erlang рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

REST API рдХрд╛рдЙрдмреЙрдп рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдбреЗрдЯрд╛ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ REST API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрд╛рд░реНрдп рд╕рд┐рджреНрдзрд╛рдВрдд




рдкреНрд░рддреНрдпреЗрдХ рдкрде рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкрде N рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реАрдзреЗ рдбреЗрдЯрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдУрд╡рд░рд╣реЗрдб рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред
рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдПрдХ рдореБрдлреНрдд рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рдПрди (рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдордп рдХреЛрдИ рдореБрдлреНрдд рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдкрд░рд┐рдгрд╛рдореА рдкреИрд░рд╛рдореАрдЯрд░ рдкрде рдкреНрд░рдмрдВрдзрдХ рдХреЛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред

рдбрд┐рд╕реНрдХ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбрдореНрдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рднреА рдкрде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реА рдмрдЪрдд рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЕрд╡рдзрд┐ рдореЗрдВ рдмрджрд▓ рдЧрдП рд╣реИрдВред

рд╕реНрдерд╛рдкрдирд╛


YAWNDB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ LibYAML рдкрд╛рд░реНрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

$ git clone git@github.com:selectel/yawndb.git 

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 $ cd yawndb $ make all 

YAWNDB рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 $ ./start.sh 

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $ cp priv/yawndb.yml.example priv/yawndb.yml 

рдпрд╛ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕реАрд▓рд┐рдВрдХ рдмрдирд╛рдПрдВред

рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕


рд╕рднреА YAWNDB рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ yawndb.yml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 рдирд┐рдпрдо:
     # рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
     # рдорд┐рдирдЯ (24 рдШрдВрдЯреЗ) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддреГрдд рдЖрдБрдХрдбрд╝реЗ
     - рдирд╛рдо: per_min
       рдЙрдкрд╕рд░реНрдЧ: рдХреНрд▓рд╛рдЗрдВрдЯрд╕реНрдЯреЗрдЯреНрд╕
       рдкреНрд░рдХрд╛рд░: рдпреЛрдЧ
       рд╕рдордп рд╕реАрдорд╛: 60
       рд╕реАрдорд╛: 1440
       рд╡рд┐рднрд╛рдЬрд┐рдд, рдкрд┐рдЫрдбрд╝рд╛
       value_size, рдмрдбрд╝рд╛
       рдЕрддрд┐рд░рд┐рдХреНрдд_рдХрд╛рд░реНрдп: []

     # рдШрдВрдЯреЗ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдЖрдВрдХрдбрд╝реЗ (рдЖрдЦрд┐рд░реА рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП)
     - рдирд╛рдо: per_hour
       рдЙрдкрд╕рд░реНрдЧ: рдХреНрд▓рд╛рдЗрдВрдЯрд╕реНрдЯреЗрдЯреНрд╕
       рдкреНрд░рдХрд╛рд░: рдпреЛрдЧ
       рд╕рдордп рд╕реАрдорд╛: 3600
       рд╕реАрдорд╛: 720
       рд╕реНрдкреНрд▓рд┐рдЯ: рдмреИрдХрд╡рд░реНрдб
       value_size: рдмрдбрд╝реА
       рдЕрддрд┐рд░рд┐рдХреНрдд_рдХрд╛рд░реНрдп: []

     # рджрд┐рди рдХреЗ рдЖрдВрдХрдбрд╝реЗ (рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░)
     - рдирд╛рдо: рдкреНрд░рддрд┐_рджрд┐рди
       рдЙрдкрд╕рд░реНрдЧ: рдХреНрд▓рд╛рдЗрдВрдЯрд╕реНрдЯреЗрдЯреНрд╕
       рдкреНрд░рдХрд╛рд░: рдпреЛрдЧ
       рд╕рдордп рд╕реАрдорд╛: 86400
       рд╕реАрдорд╛: 730
       рд╕реНрдкреНрд▓рд┐рдЯ: рдмреИрдХрд╡рд░реНрдб
       value_size: рдмрдбрд╝реА
       рдЕрддрд┐рд░рд┐рдХреНрдд_рдХрд╛рд░реНрдп: []


рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг


рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдХрд╛ рдЧрдарди (рдкрд╛рдпрдерди)


 def encode_yawndb_packet(is_special, path, time, value): """       yawndb. :param bool is_special:  ?   additional_values :param str path:   :param int value:   """ is_special_int = 1 if is_special else 0 pck_tail = struct.pack( ">BBQQ", YAWNDB_PROTOCOL_VERSION, is_special_int, time, value ) + path pck_head = struct.pack(">H", len(pck_tail)) return pck_head + pck_tail 

рд╕реА рдореЗрдВ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдХрд╛ рдЧрдарди


 //    #define YAWNDB_PROTOCOL_VERSION 3 //    struct yawndb_packet_struct { uint16_t length; uint8_t version; int8_t isSpecial; uint64_t timestamp; uint64_t value; char path[]; }; //   yawndb_packet_struct *encode_yawndb_packet(int8_t isSpecial, uint64_t timestamp, uint64_t value, const char * path) { yawndb_packet_struct *packet; uint16_t length; lenght = sizeof(uint8_t) + sizeof(int8_t) + sizeof(uint64_t) + sizeof(uint64_t) + strlen(path); packet = malloc(length + sizeof(uint16_t)); packet->length = htobe16(length); packet->version = YAWNDB_PROTOCOL_VERSION; packet->isSpecial = isSpecial; packet->timestamp = htobe64(timestamp); packet->value = htobe64(value); strncpy(packet->path, path, strlen(path)); return packet; } 

рдирд┐рд╖реНрдХрд░реНрд╖


рдЖрдЬ, рд╣рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреЛрдиреЛрдВ рдореЗрдВ YAWNDB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдХреЛрдб GitHub рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рд╣рдорд╛рд░рд╛ рдХреЛрдИ рдкрд╛рдардХ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдЧрд╛ред рд╣рдо рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗред

28 рдорд╛рд░реНрдЪ рдХреЛ рд╣рдордиреЗ рдЕрдкрдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ: selectel.io рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдПрдХ рд╕рд╛рдЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреАред рдЗрд╕ рдкрд░ рдЖрдк рд░реВрд╕реА рдореЗрдВ YAWNDB рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╣рдорд╛рд░реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд╛рдардХ рдЬреЛ рдПрдХ рдХрд╛рд░рдг рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП Habr├й рдХреЗ рдкрджреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрдирдХрд╛ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

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


All Articles