рдпрд╣ рдордЬрд╛рдХ рднреА рдирд╣реАрдВ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдЪрд┐рддреНрд░ рдЗрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдмрд╕реЗ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпреЛрдВ:

DB-Engines рд░реИрдВрдХрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджреЛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп NoSQL рд╕реНрддрдВрдн рдЖрдзрд╛рд░ рдХреИрд╕реЗрдВрдбреНрд░рд╛ (рдЗрд╕рдХреЗ рдмрд╛рдж рд╕реАрдПрд╕) рдФрд░ HBase (HB) рд╣реИрдВред

рднрд╛рдЧреНрдп рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ, Sberbank рдореЗрдВ рд╣рдорд╛рд░реА рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдмрдВрдзрди рдЯреАрдо
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ HB рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо
рдХрд░ рд░рд╣реА рд╣реИред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ рдЗрд╕рдХреА рдЦреВрдмрд┐рдпреЛрдВ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдкрдХрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реАрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд░ рд╕рдордп рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдиреЗ рдореБрдЭреЗ рдЦреБрдж рдХреЛ рд╕рдВрджреЗрд╣ рдХреЗ рд╕рд╛рде рдкреАрдбрд╝рд╛ рджреА: рдХреНрдпрд╛ рд╣рдордиреЗ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдпрд╛? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛рд╕реНрдЯреИрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП
рддреБрд▓рдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕реАрдПрд╕ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рдЧрднрдЧ рдПрдХ рдкреЗрд░рд╛рдИ рд╕реНрдХреЛрд░ рдХреЗ рд╕рд╛рде рдПрдЪрдмреА рдХреЛ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, DataStax рдПрдХ рдЗрдЪреНрдЫреБрдХ рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдПрдХ рд╢рдмреНрдж рднреА рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдг рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╢рд░реНрдордирд╛рдХ рдереА, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдмрд┐рдЧрдбрд╛рдЯрд╛ рдиреЛрд╕реНрдХрд▓ рдХрд╛ рд░рд╛рдЬрд╛ рдХреМрди рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдереЗред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдкрд╣рд▓реБрдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рд▓реЙрд╕ рдЯреЙрд▓рд░реЗрдВрд╕ рдореЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреБрдВрдЬреА рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕рд░реНрд╡рд░ (рдиреЛрдб) рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдореВрд▓реНрдп рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдВрдХрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирд┐рдпрдо рдХреЗ рдмрдЬрд╛рдп рдЕрдкрд╡рд╛рдж рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓ рдЯреНрд░рд┐рдкрд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕реАрдПрд╕ рдореЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреНред рдорд╛рдорд▓реЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
CREATE KEYSPACE ks WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3};
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо:
NW + NR> RF
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд▓рд┐рдЦрддреЗ рд╕рдордп рдиреЛрдбреНрд╕ рд╕реЗ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреА рд╕рдВрдЦреНрдпрд╛ (NW) рдкреНрд▓рд╕ рдиреЛрдбреНрд╕ рд╕реЗ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрдм рдкрдврд╝рдирд╛ (рдПрдирдЖрд░) рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, RF = 3 рдФрд░ рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ:
2 + 2> 3
3 + 1> 3
рдЪреВрдБрдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдореВрд▓рднреВрдд рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рд▓рд┐рдП 3 + 1 рдпреЛрдЬрдирд╛ рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдЪрдмреА рдПрдХ рд╕рдорд╛рди рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдРрд╕реА рддреБрд▓рдирд╛ рдЕрдзрд┐рдХ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдЧреАред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбреЗрдЯрд╛рд╕реНрдЯреИрдХреНрд╕ рдиреЗ рдЕрдкрдиреЗ рд╢реЛрдз рдореЗрдВ рд╡рд┐рдкрд░реАрдд рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реАрдПрд╕ рдФрд░ рдПрдЪрдмреА (рдПрдЪрдбреАрдПрдлрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдХрд░ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рд▓рд┐рдП) рдХреЗ рд▓рд┐рдП рдЖрд░рдПрдл = 1 рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реАрдПрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдкреНрд░рднрд╛рд╡ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рд╕реАрдПрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдореЗрдВ рд╡реГрджреНрдзрд┐ рджрд░реНрд╢рд╛рддреА рд╣реИ:

рдпрд╣рд╛рдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдзрд╛рдЧреЗ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ RF = 3 рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ 5 рдзрд╛рд░рд╛рдУрдВ (рдХреБрд▓ 20) рдореЗрдВ 4 рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ RF = 3 рд▓рдЧрднрдЧ 2 рдЧреБрдирд╛ (150 рд╕реЗрдХрдВрдб RF = 3 рдмрдирд╛рдо 75 RF = 1 рдХреЗ рд▓рд┐рдП) рдЦреЛ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо 5 рдзрд╛рд░рд╛рдУрдВ (рдХреБрд▓ 40) рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 8 рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдХреЗ рд▓реЛрдб рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрд░рдПрдл = 3 рдЦреЛрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ 2.7 рдЧреБрдирд╛ (13875 рдмрдирд╛рдо 375 рд╕реЗрдХрдВрдб) рд╣реИред
рд╢рд╛рдпрдж рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реАрдПрд╕ рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ рдбреЗрдЯрд╛рд╕реНрдЯреИрдХреНрд╕ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд░рд╣рд╕реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдВрдб рдкрд░ рдПрдЪрдмреА рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░рдХ рдХреЛ 2 рд╕реЗ 3 рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдерд╛ред рдпрд╛рдиреА рдбрд┐рд╕реНрдХ рд╣рдорд╛рд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП HB рдХреЗ рд▓рд┐рдП рдЕрдбрд╝рдЪрди рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ рдЕрдиреНрдп рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдЪрдмреА рдХрд╛ рд╣рдорд╛рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдереЛрдбрд╝рд╛ рдкреИрдЪ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рдерд╛, рд╡рд╛рддрд╛рд╡рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВ, рдЖрджрд┐ред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╕реАрдПрд╕ рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдФрд░ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред
рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдПрдХ рд▓реЛрд╣реЗ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕рдореЗрдВ 4 рд╕рд░реНрд╡рд░ рдереЗ, рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ:
CPU: Xeon E5-2680 v4 @ 2.40GHz 64 рдзрд╛рдЧреЗред
рдбрд┐рд╕реНрдХ: SATA HDD рдХреЗ 12 рдЯреБрдХрдбрд╝реЗ
рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг: 1.8.0_111
рд╕реАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг: 3.11.5
рдкреИрд░рд╛рдореАрдЯрд░ cassandra.ymlnum_tokens: 256
hinted_handoff_enabled: рд╕рдЪ
hinted_handoff_throttle_in_kb: 1024
max_hints_delivery_threads: 2
hints_directory: / data10 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рд╕рдВрдХреЗрдд
hints_flush_period_in_ms: 10000
max_hints_file_size_in_mb: 128
batchlog_replay_throttle_in_kb: 1024
рдкреНрд░рдорд╛рдгрдХ: AllowAllAuthenticator
рд▓реЗрдЦрдХ: AllowAllAuthorizer
role_manager: CassandraRoleManager
рд░реЛрд▓реНрд╕_рд╡рд▓рд┐рдбреЗрдЯ_рдЗрди_рдореНрд╕: 2000
рдЕрдиреБрдорддрд┐рдпрд╛рдБ_рд╡рд╛рдпреБ_рдХрд░рдг_рдореЗрдВ: 2000
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓_рд╡реИрд▓реНрдпреВрд╢рди_рдЗрди_рдПрдордПрд╕: 2000
рдкрд╛рд░реНрдЯреАрд╢рдирд░: org.apache.cassandra.dht.Murmur3Partitioner
data_file_directories:
- # data1 / cassandra / data # рдкреНрд░рддреНрдпреЗрдХ dataN рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдбреНрд░рд╛рдЗрд╡ рд╣реИ
- / data2 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / рдбреЗрдЯрд╛ 3 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / рдбреЗрдЯрд╛ 4 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / data5 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / рдбреЗрдЯрд╛ 6 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / рдбреЗрдЯрд╛ 7 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
- / рдбреЗрдЯрд╛ 8 / рдХреИрд╕реЗрдВрдбреНрд░рд╛ / рдбреЗрдЯрд╛
рдкреНрд░рддрд┐рдмрджреНрдз / рдЕрдкреНрд░рддреНрдпрдХреНрд╖: / рдбреЗрдЯрд╛ 9 / рдХреИрд╕рдВрдбреНрд░рд╛ / рдХрдорд▓
cdc_enabled: false
disk_failure_policy: рдмрдВрдж рдХрд░реЛ
рдкреНрд░рддрд┐рдмрджреНрдз_рдлреЗрд▓рд┐рдпрд░_рдкреБрд▓рд┐рд╕: рдмрдВрдж рдХрд░реЛ
prepared_statements_cache_size_mb:
thrift_prepared_statements_cache_size_mb:
key_cache_size_in_mb:
key_cache_save_period: 14400
row_cache_size_in_mb: 0
row_cache_save_period: 0
counter_cache_size_in_mb:
counter_cache_save_period: 7200
save_caches_directory: / data10 / cassandra / save_caches
рдкреНрд░рддрд┐рдмрджреНрдз: рдЖрд╡рдзрд┐рдХ
рдкреНрд░рддрд┐рдмрджреНрдз:
рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдирд╛
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
рдкреИрд░рд╛рдореАрдЯрд░:
- рдмреАрдЬ: "*, *"
рд╕рдорд╡рд░реНрддреА_ рд╕реВрддреНрд░: 256 # 64 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛
рд╕рдорд╡рд░реНрддреА_рд▓реЗрдЦ: 256 # 64 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛
рд╕рдорд╡рд░реНрддреА_рдХрд╛рдЙрдВрдЯрд░_рд▓реЗрдЦ: 256 # 64 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛
рд╕рдорд╡рд░реНрддреА_рд╕рд╛рдордЧреНрд░реАрдХреГрдд_рд╡рд┐рд╢реЗрд╖ рд▓реЗрдЦрди: 32
memtable_heap_space_in_mb: 2048 # 16 рдЬреАрдмреА рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдзреАрдореА рдереА
memtable_allocation_type: heap_buffers
index_summary_capacity_in_mb:
index_summary_resize_interval_in_minutes: 60
trickle_fsync: рдЧрд▓рдд
trickle_fsync_interval_in_kb: 10240
storage_port: 7000
ssl_storage_port: 7001
рд╕реБрди_рджрд╛рджрд░реА: *
рдкреНрд░рд╕рд╛рд░рдг_рдбреНрд░реЗрд╕: тАЛтАЛ*
рд╕реБрди_реЛрди_рдмреНрд░реЛрдбрдХрд╛рд╕реНрдЯ_рдбреНрд░реЗрд╕: тАЛтАЛрд╕рдЪ
internode_authenticator: org.apache.cassandra.auth.AllowAllInternodeAuthenticator
start_native_transport: рд╕рдЪ
native_transport_port: 9042
start_rpc: рд╕рдЪ рд╣реИ
rpc_address: *
rpc_port: 9160
rpc_keepalive: рд╕рдЪ рд╣реИ
rpc_server_type: рд╕рд┐рдВрдХ
Thrift_framed_transport_size_in_mb: 15
incremental_backups: рдЕрд╕рддреНрдп
Snapshot_before_compaction: рдЭреВрдард╛
auto_snapshot: рд╕рдЪ
column_index_size_in_kb: 64
column_index_cache_size_in_kb: 2
рд╕рдорд╡рд░реНрддреА_рдХрд╛рд░рдХ: 4
compaction_throughput_mb_per_sec: 1600
sstable_preemptive_open_interval_in_mb: 50
read_request_timeout_in_ms: 100000
range_request_timeout_in_ms: 200000
write_request_timeout_in_ms: 40000
counter_write_request_timeout_in_ms: 100000
cas_contention_timeout_in_ms: 20000
truncate_request_timeout_in_ms: 60000
request_timeout_in_ms: 200000
slow_query_log_timeout_in_ms: 500
cross_node_timeout: рдЧрд▓рдд
endpoint_snitch: GossipingPropertyFileSnitch
рдбрд╛рдпрдирд╛рдорд┐рдХ_рд╕реНрдиреЗрдЪ_рдЕрдкрдбреЗрдЯ_рдПрдВрдЯрд░рд╡рд▓_рдЗрди_рдореНрд╕: 100
рдбрд╛рдпрдирд╛рдорд┐рдХ_рд╕реНрдиреЗрдЪ_рд░реЗрд╕реЗрдЯ_рдЗрдВрдЯрд░рд╡рд▓_рдЗрди_рдПрдордПрд╕: 600000
рдбрд╛рдпрдиреЗрдорд┐рдХ_рд╕рд┐рдВрдЪ_рдмреЛрдз_рд╢реНрд░реЗрд╖реНрда: 0.1
request_scheduler: org.apache.cassandra.scheduler.NoScheduler
server_encryption_options:
internode_enc рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди: рдХреЛрдИ рдирд╣реАрдВ
client_encryption_options:
рд╕рдХреНрд╖рдо: рдЭреВрдард╛
internode_compression: dc
inter_dc_tcp_nodelay: рдЕрд╕рддреНрдп
tracetype_query_ttl: 86400
tracetype_repair_ttl: 604800
enable_user_defined_functions: рдЧрд▓рдд
enable_scripted_user_defined_functions: рдЧрд▓рдд
windows_timer_interval: 1
transparent_data_encryption_options:
рд╕рдХреНрд╖рдо: рдЭреВрдард╛
tombstone_warn_threshold: 1000
tombstone_failure_threshold: 100000
batch_size_warn_threshold_in_kb: 200
рдмреИрдЪ_рд╕рд╛рдЗрдЬ_рдлреЗрд▓_рдереНрд░реЗрд╢рд▓реНрдб_in_kb: 250
unlogged_batch_across_partitions_warn_threshold: 10
compaction_large_partition_warning_threshold_mb: 100
gc_warn_threshold_in_ms: 1000
back_pressure_enabled: рдорд┐рдереНрдпрд╛
enable_materialized_ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░: рд╕рддреНрдп
enable_sasi_indexes: рд╕рддреНрдп
рдЬреАрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕:
### рд╕реАрдПрдордПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕-XX: + UseParNewGC
-XX: + UseConcMarkSweepGC
-XX: + CMSParallelR рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиEnabled
-XX: рдЙрддреНрддрд░рдЬреАрд╡реА рдЕрдиреБрдкрд╛рдд = 8
-рдПрдХреНрд╕рдПрдХреНрд╕: рдореИрдХреНрд╕рдЯреЗрдиреНрдпреЛрд░рдЯреНрд░реЗрд╢реЛрд▓реНрдб = 1
-XX: CMSInitiatingOccupancyFraction = 75
-XX: + UseCMSInitiatingOccupancyOnly
-XX: CMSWaitDuration = 10000
-XX: + CMSParallelInitialMarkEnabled
-XX: + CMSEdenChunksRecordAlways
-XX: + CMSClassUnloadingEnabled
рдореЗрдореЛрд░реА jvm.options рдХреЛ 16Gb рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдлрд┐рд░ рднреА 32 рдЬреАрдмреА рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ, рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛)ред
рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
CREATE TABLE ks.t1 (id bigint PRIMARY KEY, title text) WITH compression = {'sstable_compression': 'LZ4Compressor', 'chunk_length_kb': 64};
рдПрдЪрдмреА рд╕рдВрд╕реНрдХрд░рдг: 1.2.0-cdh5.14.2 (рд╡рд░реНрдЧ рдореЗрдВ org.apache.hadoop.hbase.regionserver.Hegion рд╣рдордиреЗ MetricsRegion рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЪрд▓рддреЗ рдЬреАрд╕реА рдХреЗ рд╕рд╛рде рд░реАрдЬрдирд░ рдХреЗ 1000 рд╕реЗ рдЕрдзрд┐рдХ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рдЧрдП)
рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ HBase рд╡рд┐рдХрд▓реНрдкzookeeper.session.timeout: 120000
hbase.rpc.timeout: 2 рдорд┐рдирдЯ
hbase.client.scanner.timeout.period: 2 рдорд┐рдирдЯ
hbase.master.handler.count: 10
hbase.regionserver.lease.period, hbase.client.scanner.timeout.period: 2 рдорд┐рдирдЯ
hbase.regionserver.handler.count: 160
hbase.regionserver.metahandler.count: 30
hbase.regionserver.logroll.period: 4 рдШрдВрдЯреЗ (s)
hbase.regionserver.maxlogs: 200
hbase.hregion.memstore.flush.size: 1 GiB
hbase.hregion.memstore.block.multiplier: 6
hbase.hstore.compactionThreshold: 5
hbase.hstore.blockingStoreFiles: 200
hbase.hregion.majorcompaction: 1 рджрд┐рди
HBase рд╕реЗрд╡рд╛ рдЙрдиреНрдирдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдирд┐рдкреЗрдЯ (рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд▓реНрд╡) hbase-site.xml рдХреЗ рд▓рд┐рдП:
hbase.regionserver.wal.codecorg.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
hbase.master.namespace.init.timeout3600000
hbase.regionserver.optionalcacheflushinterval18000000
hbase.regionserver.thread.compaction.large12
hbase.regionserver.wal.enablecompressiontrue
hbase.hstore.compaction.max.size1073741824
hbase.server.compactchecker.interval.multiplier200
HBase RegionServer рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк:
-XX: + UseParNewGC -XX: + UseConcMarkSweepGC -XX: CMSInitiatingOccupancyFraction = 70 -XX: + CMSParallelRemarkEnabled -XX: рдЖрд░рдХреНрд╖рд┐рдд рдХреЛрдбрдХреЛрдб = 256m
hbase.snapshot.master.timeoutMillis: 2 рдорд┐рдирдЯ
hbase.snapshot.region.timeout: 2 рдорд┐рдирдЯ
hbase.snapshot.master.timeout.millis: 2 рдорд┐рдирдЯ
HBase REST рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдЖрдХрд╛рд░: 100 MiB
HBase REST рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмреИрдХрдЕрдк: 5
HBase рдереНрд░рд┐рдлреНрдЯ рд╕рд░реНрд╡рд░ рдореИрдХреНрд╕ рд▓реЙрдЧ рд╕рд╛рдЗрдЬ: 100 MiB
HBase рдереНрд░рд┐рдлрд╝реНрдЯ рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмреИрдХрдЕрдк: 5
рдорд╛рд╕реНрдЯрд░ рдореИрдХреНрд╕ рд▓реЙрдЧ рд╕рд╛рдЗрдЬ: 100 MiB
рдорд╛рд╕реНрдЯрд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмреИрдХрдЕрдк: 5
рдХреНрд╖реЗрддреНрд░рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдЖрдХрд╛рд░: 100 MiB
рдХреНрд╖реЗрддреНрд░рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХрддрдо рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмреИрдХрдЕрдк: 5
HBase рд╕рдХреНрд░рд┐рдп рдорд╛рд╕реНрдЯрд░ рдбрд┐рдЯреЗрдХреНрд╢рди рд╡рд┐рдВрдбреЛ: 4 рдорд┐рдирдЯ
dfs.client.hedged.read.threadpool.size: 40
dfs.client.hedged.read.threshold.millis: 10 рдорд┐рд▓реАрд╕реЗрдХрдВрдб (s)
hbase.rest.threads.min: 8
hbase.rest.threads.max: 150
рдЕрдзрд┐рдХрддрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╡рд░рдг: 180,000
hbase.thrift.minWorkerThreads: 200
hbase.master.executor.openregion.threads: 30
hbase.master.executor.closeregion.threads: 30
hbase.master.executor.serverops.threads: 60
hbase.regionserver.thread.compaction.small: 6
hbase.ipc.server.read.threadpool.size: 20
рдХреНрд╖реЗрддреНрд░ рдореВрд╡рд░ рд╕реВрддреНрд░: 6
рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд╛рд╡рд╛ рд╣реАрдк рд╕рд╛рдЗрдЬрд╝: 1 GiB
HBase REST рд╕рд░реНрд╡рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдореВрд╣: 3 GiB
HBase рдереНрд░рд┐рдлреНрдЯ рд╕рд░реНрд╡рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдореВрд╣: 3 GiB
рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ HBase рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЬрд╛рд╡рд╛ рд╣реАрдк рдЖрдХрд╛рд░: 16 GiB
рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ HBase рд░реАрдЬрдирд▓ рд╕реЗрд╡рд░ рдХрд╛ рдЬрд╛рд╡рд╛ рд╣реАрдк рд╕рд╛рдЗрдЬ: 32 GiB
+ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХреАрдкрд░
maxClientCnxns: 601
maxSessionTimeout: 120000
рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдмрдирд╛рдирд╛:
hbase org.apache.hadoop.hbase.util.RegionSplitter ns: t1 рдпреВрдирд┐рдлрд╝реЙрд░реНрдордкреНрд▓реЗрдЯ -c 64 -f cf
рдкрд░рд┐рд╡рд░реНрддрди 'ns: t1', {NAME => 'cf', DATA_BLOCK_ENCODING => 'FAST_DIFF', COMPRESSION => 'GZ'}рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ - DataStax рд╡рд┐рд╡рд░рдг рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдЪрдмреА рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛ = 64 рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛, рдЬреЛ 640 рдЬреАрдмреА рддрдХ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреА рдореЗрдЬред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдордп, HBase рдореЗрдВ 22 рд╣рдЬрд╛рд░ рдЯреЗрдмрд▓ рдФрд░ 67 рд╣рдЬрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдереЗ (рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 1.2.0 рдХреЗ рд▓рд┐рдП рдШрд╛рддрдХ рд╣реЛрдЧрд╛, рдпрджрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреИрдЪ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ)ред
рдЕрдм рдХреЛрдб рдХреЗ рд▓рд┐рдПред рдЪреВрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдзрд┐рдХ рдлрд╛рдпрджреЗрдордВрдж рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рдХрд┐рдП рдЧрдП рдереЗред рдпрд╛рдиреА рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рд▓реЛрдб рдПрдХ рд╕рд╛рде 4 рдЯреЗрдмрд▓ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ (рд╕рднреА 4 рдиреЛрдбреНрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗ)ред рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ 8 рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдмреИрдЪ рдХрд╛ рдЖрдХрд╛рд░ 100 рдерд╛, рджреВрд╕рд░реЛрдВ рдореЗрдВ 200 (рдмреИрдЪ рдкреИрд░рд╛рдореАрдЯрд░ - рдиреАрдЪреЗ рдХреЛрдб рджреЗрдЦреЗрдВ)ред рдорд╛рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ 10 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ 100 рдмрд╛рдЗрдЯреНрд╕ (рдбреЗрдЯрд╛рд╕рд╛рдЗрдЬрд╝) рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣рд░ рдмрд╛рд░ 5 рдорд┐рд▓рд┐рдпрди рд░рд┐рдХреЙрд░реНрдб рд▓рд┐рдЦреЗ рдФрд░ рдШрдЯрд╛рдП рдЧрдПред рдЙрд╕реА рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 5 рдзрд╛рд░рд╛рдПрдБ рд▓рд┐рдЦреА рдЧрдИрдВ / рдкрдврд╝реА рдЧрдИрдВ (рд╕реНрдЯреНрд░реАрдо рдирдВрдмрд░ thNum рд╣реИ), рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХреБрдВрдЬреА рд╕реАрдорд╛ (рдЧрдгрдирд╛ = 1 рдорд┐рд▓рд┐рдпрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
if (opType.equals("insert")) { for (Long key = count * thNum; key < count * (thNum + 1); key += 0) { StringBuilder sb = new StringBuilder("BEGIN BATCH "); for (int i = 0; i < batch; i++) { String value = RandomStringUtils.random(dataSize, true, true); sb.append("INSERT INTO ") .append(tableName) .append("(id, title) ") .append("VALUES (") .append(key) .append(", '") .append(value) .append("');"); key++; } sb.append("APPLY BATCH;"); final String query = sb.toString(); session.execute(query); } } else { for (Long key = count * thNum; key < count * (thNum + 1); key += 0) { StringBuilder sb = new StringBuilder("SELECT * FROM ").append(tableName).append(" WHERE id IN ("); for (int i = 0; i < batch; i++) { sb = sb.append(key); if (i+1 < batch) sb.append(","); key++; } sb = sb.append(");"); final String query = sb.toString(); ResultSet rs = session.execute(query); } }
рддрджрдиреБрд╕рд╛рд░, рдПрдЪрдмреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдереА:
Configuration conf = getConf(); HTable table = new HTable(conf, keyspace + ":" + tableName); table.setAutoFlush(false, false); List<Get> lGet = new ArrayList<>(); List<Put> lPut = new ArrayList<>(); byte[] cf = Bytes.toBytes("cf"); byte[] qf = Bytes.toBytes("value"); if (opType.equals("insert")) { for (Long key = count * thNum; key < count * (thNum + 1); key += 0) { lPut.clear(); for (int i = 0; i < batch; i++) { Put p = new Put(makeHbaseRowKey(key)); String value = RandomStringUtils.random(dataSize, true, true); p.addColumn(cf, qf, value.getBytes()); lPut.add(p); key++; } table.put(lPut); table.flushCommits(); } } else { for (Long key = count * thNum; key < count * (thNum + 1); key += 0) { lGet.clear(); for (int i = 0; i < batch; i++) { Get g = new Get(makeHbaseRowKey(key)); lGet.add(g); key++; } Result[] rs = table.get(lGet); } }
рдЪреВрдБрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ HB рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рдорд╛рди рд╡рд┐рддрд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд▓рд╛рдореА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрд╛ рдЧрдпрд╛:
public static byte[] makeHbaseRowKey(long key) { byte[] nonSaltedRowKey = Bytes.toBytes(key); CRC32 crc32 = new CRC32(); crc32.update(nonSaltedRowKey); long crc32Value = crc32.getValue(); byte[] salt = Arrays.copyOfRange(Bytes.toBytes(crc32Value), 5, 7); return ArrayUtils.addAll(salt, nonSaltedRowKey); }
рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рдорд╛рди:

рдПрдЪрдмреА рдХрд╛ рд▓рд╛рдн рдЗрддрдирд╛ рдЕрджреНрднреБрдд рд╣реИ рдХрд┐ рд╕реАрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдбрд╝рдЪрди рдХрд╛ рд╕рдВрджреЗрд╣ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ (рдЬреИрд╕реЗ рд╕рдорд╡рд░реНрддреА_рд▓реЗрдЦреЛрдВ рдпрд╛ memtable_heap_space_in_mb) рдХреЗ googling рдФрд░ рдорд░реЛрдбрд╝ рдиреЗ рддреНрд╡рд░рдг рдирд╣реАрдВ рджрд┐рдпрд╛ред рдЙрд╕реА рд╕рдордп, рд▓реЙрдЧ рд╕рд╛рдл рд╣реЛрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рдХрд╕рдо рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓реЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдиреЛрдб рдХреЗ рд╕рд╛рде рдЖрдБрдХрдбрд╝реЗ рд╣реИрдВрдХреАрд╕реНрдкреЗрд╕: ks
рдкрдврд╝реЗрдВ рдЧрдгрдирд╛: 9383707
рдкрдврд╝реЗрдВ рд╡рд┐рд▓рдВрдмрддрд╛: 0.04287025042448576 рдПрдордПрд╕
рд▓рд┐рдЦреЗрдВ рдЧрдгрдирд╛: 15462012
рд▓реЗрдЯреЗрдВрд╕реА рд▓рд┐рдЦреЗрдВ: 0.1350068438699957 рдПрдордПрд╕
рд▓рдВрдмрд┐рдд рдлреНрд▓рд╢: 0
рддрд╛рд▓рд┐рдХрд╛: t1
SSTable рдЧрдгрдирд╛: 16
рдЕрдВрддрд░рд┐рдХреНрд╖ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ (рд▓рд╛рдЗрд╡): 148.59 MiB
рдЕрдВрддрд░рд┐рдХреНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ (рдХреБрд▓): 148.59 MiB
рд╕реНрдиреИрдкрд╢реЙрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрдерд╛рди (рдХреБрд▓): 0 рдмрд╛рдЗрдЯреНрд╕
рдмрдВрдж рдвреЗрд░ рд╕реНрдореГрддрд┐ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ (рдХреБрд▓): 5.17 MiB
SSTable рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд: 0.5720989576459437
рд╡рд┐рднрд╛рдЬрди рдХреА рд╕рдВрдЦреНрдпрд╛ (рдЕрдиреБрдорд╛рди): 3970323
рдпрд╛рджрдЧрд╛рд░ рд╕реЗрд▓ рдЧрдгрдирд╛: 0
рдпрд╛рджрдЧрд╛рд░ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░: 0 рдмрд╛рдЗрдЯреНрд╕
рдореЗрдорд░реА рдСрдл рд╣реАрдк рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 0 рдмрд╛рдЗрдЯреНрд╕
рдпрд╛рджрдЧрд╛рд░ рд╕реНрд╡рд┐рдЪ рдЧрдгрдирд╛: 5
рд╕реНрдерд╛рдиреАрдп рд░реАрдб рдХрд╛рдЙрдВрдЯ: 2346045
рд╕реНрдерд╛рдиреАрдп рд░реАрдб рд▓реЗрдЯреЗрдВрд╕реА: NaN ms
рд╕реНрдерд╛рдиреАрдп рд▓реЗрдЦрди рдЧрдгрдирд╛: 3865503
рд╕реНрдерд╛рдиреАрдп рд▓реЗрдЦрди рд╡рд┐рд▓рдВрдмрддрд╛: NaN рдПрдордПрд╕
рд▓рдВрдмрд┐рдд рдлреНрд▓рд╢: 0
рдкреНрд░рддрд┐рд╢рдд рдХреА рдорд░рдореНрдордд: 0.0
рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ: 25
рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдЭреВрдареА рдЕрдиреБрдкрд╛рдд: 0.00000
рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ: 4.57 MiB
рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдСрдл рд╣реАрдк рдореЗрдореЛрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛: 4.57 MiB
рдЗрдВрдбреЗрдХреНрд╕ рд╕рд╛рд░рд╛рдВрд╢ рдСрдл рд╣реАрдк рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛: 590.02 KiB
рд╕рдВрдкреАрдбрд╝рди рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдмрдВрдж рдвреЗрд░ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: 19.45 KiB
рд╕рдВрдХреБрдЪрд┐рдд рдмрд╛рдЗрдЯреНрд╕ рдиреНрдпреВрдирддрдо: 36
рдЕрдзрд┐рдХрддрдо рд╡рд┐рднрд╛рдЬрди рдмрд╛рдЗрдЯреНрд╕: 42
рд╕рдВрдХреБрдЪрд┐рдд рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЕрд░реНрде рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддрд╛ рд╣реИ: 42
рдФрд╕рдд рд▓рд╛рдЗрд╡ рд╕реЗрд▓ рдкреНрд░рддрд┐ рдЯреБрдХрдбрд╝рд╛ (рдЕрдВрддрд┐рдо рдкрд╛рдВрдЪ рдорд┐рдирдЯ): NaN
рдкреНрд░рддрд┐ рдЯреБрдХрдбрд╝рд╛ рдЕрдзрд┐рдХрддрдо рдЬреАрд╡рд┐рдд рдХреЛрд╢рд┐рдХрд╛рдПрдВ (рдЕрдВрддрд┐рдо рдкрд╛рдВрдЪ рдорд┐рдирдЯ): 0
рдФрд╕рдд рдЯреБрдХрдбрд╝рд╛ рдкреНрд░рддрд┐ рдЯреБрдХрдбрд╝рд╛ (рдЕрдВрддрд┐рдо рдкрд╛рдБрдЪ рдорд┐рдирдЯ): NaN
рдЕрдзрд┐рдХрддрдо рдЯреБрдХрдбрд╝рд╛ рдкреНрд░рддрд┐ рдЯреБрдХрдбрд╝рд╛ (рдЕрдВрддрд┐рдо рдкрд╛рдБрдЪ рдорд┐рдирдЯ): 0
рдЧрд┐рд░рд╛ рд╣реБрдЖ рдореНрдпреВрдЯреЗрд╢рди: 0 рдмрд╛рдЗрдЯреНрд╕
рдмреИрдЪ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ (рдПрдХ-рдПрдХ рдХрд░рдХреЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдерд╛, рдпрд╣ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕реАрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдПрд╕ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рдбреЗрдЯрд╛рдЯреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╕рдорд╛рди рд╣реИрдВ - рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдСрдкрд░реЗрд╢рдиред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрджрд┐ рдЖрдк рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ CS рдЕрдзрд┐рдХ CPU рдФрд░ рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
рдЖрдВрдХрдбрд╝рд╛ рджреЛрдиреЛрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИредрдПрдЪрдмреА рдХреЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкрдврд╝рдиреЗ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдбреЗрдЯрд╛рдмреЗрд╕реЛрдВ рдХреЗ рд▓рд┐рдП, рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдбрд┐рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЗрд╣рдж рдХрдо рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЪрдХреНрд░ рдкрд░реАрдХреНрд╖рдг рдЪрдХреНрд░ рдХрд╛ рдЕрдВрддрд┐рдо рднрд╛рдЧ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрд╕ рдХреЗ рд▓рд┐рдП 15:20 рд╕реЗ 15:40 рддрдХ)ред рдПрдЪрдмреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрдЯрд╛ рдореЗрдореЛрд░реА рдореЗрдВ, рдореЗрдорд╕реНрдЯреЛрд░ рдореЗрдВ, рдФрд░ рдХреБрдЫ рдмреНрд▓реЙрдХрдЪреИрдЪ рдореЗрдВ рдХреИрд╢реНрдб рдереЗред CS рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрдВрдХреНрддрд┐_cache_size_in_mb = 2048 рдХреИрд╢ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдФрд░ рдХреИрд╢рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ = 'рдХреБрдВрдЬрд┐рдпрд╛рдБ': 'ALL', 'row_per_partition': '' 2,000,000 '}, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдЗрд╕реЗ рдФрд░ рднреА рдмрджрддрд░ рдмрдирд╛ рджрд┐рдпрд╛ред
рдПрдЪрдмреА рдореЗрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдпрдХ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореВрд▓реНрдп 64 рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЙрджрд╛рд╣рд░рдг 4 рдХреЗ рдмрд░рд╛рдмрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЧрддрд┐ 2 рдмрд╛рд░ рдкрдврд╝рддреА рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдорд╕реНрдЯреЛрд░ рддреЗрдЬреА рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдлреНрд▓рд╢ рд╣реЛрдВрдЧреА рдФрд░ рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╕рдордп рдЕрдзрд┐рдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдПрдЪрдмреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЯрд┐рд▓ рдСрдкрд░реЗрд╢рди рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдпрд╣ рдкреНрд░реАрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдФрд░ рдХреЙрдореНрдкреИрдХреНрдЯрд┐рдлрд╝рд┐рдХреЗрд╢рди рдХреА рд░рдгрдиреАрддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдХреЗ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдПрдХ рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрдЪрд░реЗ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ HFiles рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рд╕реНрдЯреИрдХреНрд╕ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдо рддреМрд░ рдкрд░ 1 рдХреНрд╖реЗрддреНрд░ рдкреНрд░рддрд┐ рддрд╛рд▓рд┐рдХрд╛ (рдЬреЛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ) рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рдПрдЪрдмреА рдЕрдкрдиреЗ рд░реАрдб рдЯреЗрд╕реНрдЯ рдореЗрдВ рдЗрддрдирд╛ рдХреНрдпреЛрдВ рдЦреЛ рдЧрдпрд╛ред
рдЗрд╕ рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рд╕рдХрд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реБрдИ рдереАрдВ, рдХреИрд╕рдВрдбреНрд░рд╛ рдорд┐рдЯреНрдЯреА рдХреЗ рдкреИрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЛрд▓реЛрд╕рд╕ рдХреА рддрд░рд╣ рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЬрдмрдХрд┐ рд╡рд╣ рдПрдХ рдкреИрд░ рдкрд░ рд╕рдВрддреБрд▓рди рдмрдирд╛ рд░рд╣реА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЪрд┐рддреНрд░ рдореЗрдВ рд╣реИ, рд╡рд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╡рд╣ рд╕рдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓рдбрд╝рддреА рд╣реИ, рддреЛ рд╡рд╣ рдПрдХрдореБрд╢реНрдд рд╣рд╛рд░ рдЬрд╛рддреА рд╣реИред рдЙрд╕реА рд╕рдордп, рд╣рдорд╛рд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрдо рд╕реАрдкреАрдпреВ рдЙрдкрдпреЛрдЧ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╣рдордиреЗ рдкреНрд░рддрд┐ рд╣реЛрд╕реНрдЯ рджреЛ рд░реАрдЬрд░реНрд╡рд░ рдПрдЪрдмреА рд▓рдЧрд╛рдП рдФрд░ рдЗрд╕ рддрд░рд╣ рдЙрддреНрдкрд╛рджрдХрддрд╛ рджреЛрдЧреБрдиреА рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рдпрд╛рдиреА рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╕реАрдПрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдФрд░ рднреА рдЕрдзрд┐рдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред
рдмреЗрд╢рдХ, рдпреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛рдлреА рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдорд╛рдореВрд▓реА рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрдм рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдерд┐рддрд┐ рдЕрд▓рдЧ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдПрдЪрдмреА рдХреЗ рд▓рд┐рдП рд╣рдо рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╕реАрдПрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рдЕрдХреНрд╕рд░ рдЗрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдПрдХ рдСрдкрд░реЗрд╢рдирдЯрд┐рдореЗрдбрдСрдЯрдПрдХреНрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдЧреБрдирд╛ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рд╣рдореЗрдВ рд╕реАрдПрд╕ рдХреА рдЕрдбрд╝рдЪрдиреЗрдВ рдорд┐рд▓реЗрдВрдЧреА рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рддреЗрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝реВрдВрдЧрд╛ред
UPD: CS рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗ:
disk_optimization_strategy: рдХрддрд╛рдИ
MAX_HEAP_SIZE = "32G"
HEAP_NEWSIZE = "3200M"
-Xms32G
-Xmx32G
-XX: + UseG1GC
-XX: G1RSetUpdatingPauseTimePercent = 5
-рдПрдХреНрд╕рдПрдХреНрд╕: рдореИрдХреНрд╕рдЧреИрд╕рдХреЙрдореНрдкрд┐рд▓рд┐рд╕ = 500
-рдПрдХреНрд╕рдПрдХреНрд╕: рдЗрдирд┐рд╢рд┐рдпреЗрдЯрд┐рдВрдЧ рд╣рд╛рдЗрдкрдСрдХреНрдпреВрдкреЗрдВрд╕реАрдкреЗрд░реЗрдВрдЯ = 70
-XX: рд╕рдорд╛рдирд╛рдВрддрд░ GCThreads = 32
-рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕: рдХреЙрдирд╕реАрдХреНрд╢рдЯреНрд╕ = 8рдУрдПрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рд▓рдВрдмреА рдФрд░ рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ (рд░реВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рд╕рд░реНрд╡рд░ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛, рдЖрджрд┐), рдЗрд╕рд▓рд┐рдП рдЗрди рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреВрд╕рд░реА рдУрд░, рджреЛрдиреЛрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЙрдЪрд┐рдд рд╣реИред
рдХреЛрдб рднрд╛рдЧ рдореЗрдВ, рдЯреЗрдмрд▓ рдкрд░ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрдЯрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
connector = new CassandraConnector(); connector.connect(node, null, CL); session = connector.getSession(); session.getCluster().getConfiguration().getSocketOptions().setConnectTimeoutMillis(120000); KeyspaceRepository sr = new KeyspaceRepository(session); sr.useKeyspace(keyspace); prepared = session.prepare("insert into " + tableName + " (id, title) values (?, ?)");
рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛:
for (Long key = count * thNum; key < count * (thNum + 1); key++) { String value = RandomStringUtils.random(dataSize, true, true); session.execute(prepared.bind(key, value)); }
рдЗрд╕рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛ред рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ YCSB рдЯреВрд▓ рдХреЗ рд╕рд╛рде рд▓реЛрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛, рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВред рдиреАрдЪреЗ рдПрдХ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдЖрдБрдХрдбрд╝реЗ (4 рдореЗрдВ рд╕реЗ):
2020-01-18 14: 41: 53: 180 315 рд╕реЗрдХрдВрдб: 10,000,000 рд╕рдВрдЪрд╛рд▓рди; 21589.1 рд╡рд░реНрддрдорд╛рди рдСрдкреНрд╕ / рд╕реЗрдХ; ] рдФрд╕рдд = 2582.71, 90 = 3491, 99 = 16767, 99.9 = 99711, 99.99 = 171263]
[рдУрд╡рд░рд▓реЗ], рд░рдирдЯрд╛рдЗрдо (рдПрдордПрд╕), 315539
[OVERALL], рдереНрд░реВрдкреБрдЯ (ops / sec), 31691.803548848162
[TOTAL_GCS_PS_Scavenge], рдЧрд┐рдирддреА, 161
[TOTAL_GC_TIME_PS_Scavenge], рд╕рдордп (ms), 2433
[TOTAL_GC_TIME _% _ PS_Scavenge], рд╕рдордп (%), 0.7710615803434757
[TOTAL_GCS_PS_MarkSweep], рдЧрдгрдирд╛, 0
[TOTAL_GC_TIME_PS_MarkSweep], рд╕рдордп (ms), 0
[TOTAL_GC_TIME _% _ PS_MarkSweep], рд╕рдордп (%), 0.0
[TOTAL_GCs], рдЧрд┐рдирддреА, 161
[TOTAL_GC_TIME], рд╕рдордп (рдПрдордПрд╕), 2433
[TOTAL_GC_TIME_%], рд╕рдордп (%), 0.7710615803434757
[INSERT], рд╕рдВрдЪрд╛рд▓рди, 10,000,000
[INSERT], рдФрд╕рддрддрд╛ (рд╣рдореЗрдВ), рейрез4реи.реирекреи .режрез
[INSERT], рдорд┐рдирд▓рд┐рдЯреА (рд╣рдореЗрдВ), реирем реп
[INSERT], рдореИрдХреНрд╕рд▓реЗрдЯреЗрдВрд╕реА (рд╣рдореЗрдВ), ремреж реп реиред реп
[рдЖрдИрдПрдирдПрд╕рдИрдЖрд░рдЯреА], реп рел рд╡реЗрдВрдЪрд░реЗрдВрдЯрд▓реАрд▓рд┐рдЯреА (рд╣рдореЗрдВ), релрежреж,
[INSERT], репреп рд╡реЗрдВрдкрд╛рд░реНрд╕реЗрдВрдЯрд▓реАрд▓рд╛рдЯрд┐рдЯреА (рд╣рдореЗрдВ), рейрейрекрей реп
[INSERT], рд░рд┐рдЯрд░реНрди = рдУрдХреЗ, резрежрежрежрежрежрежреж
рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреА рдЧрддрд┐ рд▓рдЧрднрдЧ 32 рд╣рдЬрд╛рд░ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╣реИ, 4 рдзрд╛рд░рд╛рдУрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ 128 рд╣рдЬрд╛рд░ рдирд┐рдХрд▓рд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдирд┐рдЪреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред
рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдХрд╛рдорд░реЗрдб рдХреА рд╕рд▓рд╛рд╣ рдХреА рдмрджреМрд▓рдд рд╡рд╣ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рддреЗрдЬреА рд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдкрдарди 5 рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ 100 рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 200 рдХреА рд╡реГрджреНрдзрд┐ рдиреЗ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдбрд╛рд▓рд╛ред рдмрд┐рд▓реНрдбрд░ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛:
.withLoadBalancingPolicy (рдирдпрд╛ TokenAwarePolicy (DCAwareRoundRobinPolicy.builder) (ред buildред ())ред
рдирддреАрдЬрддрди, рдпрджрд┐ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ 159 644 рдСрдкреНрд╕ (5 рд╕реНрдЯреНрд░реАрдо, 4 рдЯреЗрдмрд▓, 100 рдмреИрдЪ) рджрд┐рдЦрд╛рдП рдЧрдП рдереЗ, рддреЛ рдЕрдм:
100 рдзрд╛рдЧреЗ, 4 рдЯреЗрдмрд▓, рдмреИрдЪ = 1 (рд╡реНрдпрдХреНрддрд┐рдЧрдд): 301 969 рдСрдкреНрд╕
100 рдзрд╛рдЧреЗ, 4 рдЯреЗрдмрд▓, рдмреИрдЪ = 10: 447 608 рдСрдкреНрд╕
100 рдзрд╛рдЧреЗ, 4 рдЯреЗрдмрд▓, рдмреИрдЪ = 100: 625 655 рдСрдкреНрд╕
рдЪреВрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдо рдмреИрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдЪрдмреА рдХреЗ рд╕рд╛рде рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП:
* рдЬрдм рд╕реЗ 400 рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд░реИрдВрдбрдорд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВрдЯрд┐рд▓реНрд╕ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдиреЗ рд╕реАрдкреАрдпреВ рдХреЛ 100% рддрдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕реЗ рдПрдХ рддреЗрдЬ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдПрдЪрдмреА рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдереЛрдбрд╝реА рд╡реГрджреНрдзрд┐ рджреЗрддреА рд╣реИред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВред
0x62ash рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдлреНрд▓рд╢ рдХрдорд╛рдВрдб рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рднреА рджрд┐рдП рдЧрдП рд╣реИрдВ:
рдореЗрдореЙрд╕реНрдЯреЛрд░ - рдореЗрдореЛрд░реА рд╕реЗ рдкрдврд╝рдирд╛, рдЕрд░реНрдерд╛рддреНред рдбрд┐рд╕реНрдХ рдореЗрдВ рдлреНрд▓рд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред
HFile + рдЬрд╝рд┐рдк - GZ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреБрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрдврд╝рдирд╛ред
HFile + upzip - рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ - рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ ("рдбреЗрдЯрд╛" рдлрд╝реАрд▓реНрдб, рдЬрд╣рд╛рдВ 10 рдмрд╛рдЗрдЯреНрд╕ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ) рдХреЛ рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╡реЗ рд╕рдВрдХреБрдЪрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рддрдХ рд╣реА рд╕рдВрднрд╡ рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ 5 рдЬреАрдмреА рдХреА рдлрд╛рдЗрд▓ рдХреЛ 10 рдПрдордмреА рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрди рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрднреА рднреА рд╡рд┐рднрд┐рдиреНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиреЛрдВ рдХреЗ рд╢реЛрдз рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реИред
рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдЕрдзрд┐рдХ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП 100 рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдПрдЪрдмреА рдмреИрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдИрд╕реАрдПрд╕рдмреА рдХреЛрдб рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ред рдиреАрдЪреЗ 4 рдкреНрд░рддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рдо рдХрд╛ рдирддреАрдЬрд╛ рд╣реИ рдЬреЛ рдЙрдирдХреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ 100 рдзрд╛рдЧреЗ рд╣реИрдВред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдХрд▓рд╛:
рдПрдХ рдСрдкрд░реЗрд╢рди = 100 рд░рд┐рдХреЙрд░реНрдб[рдУрд╡рд░рд▓реЗ], рд░рдирдЯрд╛рдЗрдо (рдПрдордПрд╕), 1165415
[OVERALL], рдереНрд░реВрдкреБрдЯ (ops / sec), 858.06343662987
[TOTAL_GCS_PS_Scavenge], рдЧрдгрдирд╛, 798
[TOTAL_GC_TIME_PS_Scavenge], рд╕рдордп (ms), 7346
[TOTAL_GC_TIME _% _ PS_Scavenge], рд╕рдордп (%), 0.6303334005484826
[TOTAL_GCS_PS_MarkSweep], рдЧрдгрдирд╛, 1
[TOTAL_GC_TIME_PS_MarkSweep], рд╕рдордп (ms), 74
[TOTAL_GC_TIME _% _ PS_MarkSweep], рд╕рдордп (%), 0.00634966943106101038
[TOTAL_GCs], рдЧрдгрдирд╛, 799
[TOTAL_GC_TIME], рд╕рдордп (ms), 7420
[TOTAL_GC_TIME_%], рд╕рдордп (%), 0.6366830699793635
[INSERT], рд╕рдВрдЪрд╛рд▓рди, 1,000,000
[INSERT], рдФрд╕рддрддрд╛ (рд╣рдореЗрдВ), резрезрел.8 реп рей.44 реп резремрекрек
[INSERT], рдорд┐рдирд▓рд┐рдЯреА (рд╣рдореЗрдВ), резрекрелреи,
[INSERT], рдореИрдХреНрд╕рд▓рд┐рдЯреА (рд╣рдореЗрдВ), резрек3режрекремрей
[INSERT], реп релред рдкреАрд░рд╕реЗрдиреНрдЯрд▓реАрд▓реЗрдЯреЗрдВрд╕реА (рд╣рдореЗрдВ), реирек .рейрез реп
[рдЖрдИрдПрдирдПрд╕рдИрдЖрд░рдЯреА], репреп рд╡реЗрдВрдкрд╛рд░реНрд╕реЗрдВрдЯреАрд▓рд┐рдЯреА (рд╣рдореЗрдВ), рекрекрел реп релрез
[INSERT], рд░рд┐рдЯрд░реНрди = рдУрдХреЗ, резрежреж,режрежреж
20/01/19 13:19:16 INFO рдЧреНрд░рд╛рд╣рдХ.рдХреЙрдиреНрдиреЗрдиреЗрд╢рди рдореЗрдиреЗрдЬрд░ $ HConnectionI рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди: рд╕рдорд╛рдкрди рдЬреБрдХрд╛рдЗрдкрд░ рд╕реЗрд╢рди = 0x36f98ad0a4ad8cc
20/01/19 13:19:16 INFO zookeeper.ZooKeeper: рд╕рддреНрд░: 0x36f98ad0a4ad8cc рдмрдВрдж
20/01/19 13:19:16 рдЬрд╛рдирдХрд╛рд░реА zookeeper.ClientCnxn: EventThread рд╢рдЯ рдбрд╛рдЙрди
[рдУрд╡рд░рд▓реЗ], рд░рдирдЯрд╛рдЗрдо (рдПрдордПрд╕), 1165806
[OVERALL], рдереНрд░реВрдкреБрдЯ (ops / sec), 857.7756504941646
[TOTAL_GCS_PS_Scavenge], рдЧрдгрдирд╛, 776
[TOTAL_GC_TIME_PS_Scavenge], рд╕рдордп (ms), 7517
[TOTAL_GC_TIME _% _ PS_Scavenge], рд╕рдордп (%), 0.644789956464643535
[TOTAL_GCS_PS_MarkSweep], рдЧрдгрдирд╛, 1
[TOTAL_GC_TIME_PS_MarkSweep], рд╕рдордп (ms), 63
[TOTAL_GC_TIME _% _ PS_MarkSweep], рд╕рдордп (%), 0.005403986598113236
[TOTAL_GCs], рдЧрдгрдирд╛, 777
[TOTAL_GC_TIME], рд╕рдордп (ms), 7580
[TOTAL_GC_TIME_%], рд╕рдордп (%), 0.6501939430745767
[INSERT], рд╕рдВрдЪрд╛рд▓рди, 1,000,000
[INSERT], рдФрд╕рддрддрд╛ (рд╣рдореЗрдВ), резрезремрежрекреи.реирежред реп рейрем
[INSERT], рдиреНрдпреВрдирддрдорддрд╛ (рд╣рдореЗрдВ), резрекрежрелрем
[INSERT], рдореИрдХреНрд╕рд▓рд┐рдЯреА (рд╣рдореЗрдВ), резрекремреиреи ,рез
[рдЖрдИрдПрдирдПрд╕рдИрдЖрд░рдЯреА], реп рел рд╡реЗрдВрдкрд░реЗрдВрдЯрд┐рд▓рд╛рд▓рд┐рдЯреА (рд╣рдо), реирелрежреирей реп
[INSERT], репреп рд╡реЗрдВрдкрд╛рд░реНрд╕реЗрдВрдЯрд▓реАрд▓рд╛рдЯреЗрдВрд╕реА (рд╣рдореЗрдВ), рекрекрем ,рез реп
[INSERT], рд░рд┐рдЯрд░реНрди = рдУрдХреЗ, резрежреж,режрежреж
20/01/19 13:19:16 INFO рдЧреНрд░рд╛рд╣рдХ.рдХреЙрдиреНрдиреЗрдиреЗрд╢рди рдореЗрдиреЗрдЬрд░ $ HConnectionI рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди: рд╕рдорд╛рдкрди рдЬреБрдХрд╛рдЗрдкрд░ рд╕реЗрд╢рди = 0x26f98ad07b6d67e
20/01/19 13:19:16 рдЬрд╛рдирдХрд╛рд░реА zookeeper.ZooKeeper: рд╕рддреНрд░: 0x26f98ad07b6d67e рдмрдВрдж
20/01/19 13:19:16 рдЬрд╛рдирдХрд╛рд░реА zookeeper.ClientCnxn: EventThread рд╢рдЯ рдбрд╛рдЙрди
[OVERALL], рд░рдирдЯрд╛рдЗрдо (ms), 1165999
[OVERALL], рдереНрд░реВрдкреБрдЯ (ops / sec), 857.63366863951
[TOTAL_GCS_PS_Scavenge], рдЧрдгрдирд╛, 818
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 7557
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.6481137633908777
[TOTAL_GCS_PS_MarkSweep], Count, 1
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 79
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.006775305982252128
[TOTAL_GCs], Count, 819
[TOTAL_GC_TIME], Time(ms), 7636
[TOTAL_GC_TIME_%], Time(%), 0.6548890693731299
[INSERT], Operations, 1000000
[INSERT], AverageLatency(us), 116172.212864
[INSERT], MinLatency(us), 7952
[INSERT], MaxLatency(us), 1458175
[INSERT], 95thPercentileLatency(us), 250879
[INSERT], 99thPercentileLatency(us), 446463
[INSERT], Return=OK, 1000000
20/01/19 13:19:17 INFO client.ConnectionManager$HConnectionImplementation: Closing zookeeper sessionid=0x36f98ad0a4ad8cd
20/01/19 13:19:17 INFO zookeeper.ZooKeeper: Session: 0x36f98ad0a4ad8cd closed
20/01/19 13:19:17 INFO zookeeper.ClientCnxn: EventThread shut down
[OVERALL], RunTime(ms), 1166860
[OVERALL], Throughput(ops/sec), 857.000839860823
[TOTAL_GCS_PS_Scavenge], Count, 707
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 7239
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.6203829079752499
[TOTAL_GCS_PS_MarkSweep], Count, 1
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 67
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.0057419056270675145
[TOTAL_GCs], Count, 708
[TOTAL_GC_TIME], Time(ms), 7306
[TOTAL_GC_TIME_%], Time(%), 0.6261248136023173
[INSERT], Operations, 1000000
[INSERT], AverageLatency(us), 116230.849308
[INSERT], MinLatency(us), 7352
[INSERT], MaxLatency(us), 1443839
[INSERT], 95thPercentileLatency(us), 250623
[INSERT], 99thPercentileLatency(us), 447487
[INSERT], Return=OK, 1000000
, CS AverageLatency(us) 3114, HB AverageLatency(us) = 1162 (, 1 = 100 ).
тАФ HBase. , SSD . , , , 4 , 400 , . : тАФ . . ScyllaDB , тАж