rocksdb_t
рдирд╛рдордХ rocksdb_transaction_t
рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реЙрдХреНрд╕рдбреАрдмреА рдореЗрдВ рд▓реЗрди-рджреЗрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдЬрд╛рдЧрд░ рд╣реЛрддреА рд╣реИред рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╛рдЗрдВрдбрдЬреЗрди (#143) рд╣реИ рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ "рдлреНрд░реА" рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдорд┐рд▓рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдирдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рд░реЙрдХреНрд╕рдбреАрдмреА рд╕реАрдЖрд░рдпреВрдбреА рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ
PIGMED , рд╡рд╣ рд╣реИ рдкреБрдЯ рдЗрдЯрд░реЗрдЯ рдорд░реНрдЬ рдбрд┐рд▓реАрдЯред рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИред
рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЗрди-рджреЗрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП:
TxnDb рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдИ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЧрд╛рд░реНрдб рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддреА рд╣реИрдВред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЯрд╛рдЗрдк рд╕реБрд░рдХреНрд╖рд╛ рдпрд╛ рдПрд░реНрдЧреЛрдиреЙрдорд┐рдХреНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдбреАрдмреА рдФрд░ рдЯреАрдПрдХреНрд╕рдПрдирдбреАрдмреА рдХреЗ рдкреАрдЖрдИрдЬреАрдПрдордИрдбреА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ DB рдореЗрдВ PIGMED рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЯрди рдирд╣реАрдВ рд╣реИред
рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рдЙрдкрдпреЛрдЧрд┐рддрд╛/рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдВ, рдпрд╣ рдХреБрдЫ рднреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП rocksdb_t
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП rocksdb::cf::create
rocksdb_create_cf
рдХреЗ рд▓рд┐рдП)
рд╣рдо рддрдм DB рдХреЛ рдХреЗрд╡рд▓ PIGMED рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкрддрд▓рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕реА Iterator рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдПрдХ rocksdb_transaction_create_iterator
рд╣реИ рд▓реЗрдХрд┐рди iterator_t
рд╡рд╣реА рд╣реИред
рд╡рд┐рдЪрд╛рд░?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд╣реА рд░рд╣рд╛ рд╣реИред рдмрд╕ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ? рдореИрдВ рд▓реЗрди-рджреЗрди рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рдЬрдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП Rocksdb рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдХреНрдпрд╛ рдпрд╣ #250 рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИ?
рдореБрдЭреЗ рднреА рдРрд╕рд╛ рд╣реА рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рд▓рдп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ :)
рдореИрдВрдиреЗ @rrichardson рдХреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд▓реЗрди-рджреЗрди рд╕рдВрдмрдВрдзреА RocksDB рдХреЗ "рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА" рд╕рдВрд╕реНрдХрд░рдг рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ #250 "рдЖрд╢рд╛рд╡рд╛рджреА" рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рдХреЛ рд▓реИрдВрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, #250 рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ #268 рдореЗрдВ рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдкреБрдирд░реНрдЧрдарди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ TransactionalDB
рдФрд░ OptimisticTransactionalDB
рджреЛрдиреЛрдВ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред
рд╕реА рдПрдкреАрдЖрдИ рдореЗрдВ TransactionalDB
рд▓рдЧрднрдЧ DB
рдХреЗ рдмрд░рд╛рдмрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд╛рдкрддрд╛ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ (рдлреЗрд╕рдмреБрдХ/рд░реЙрдХрдбреАрдмреА # 4999 рджреЗрдЦреЗрдВ)ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ, рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
@hnakamur рдиреЗ рд▓рд╛рдкрддрд╛ API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП facebook/rocksdb#5077 рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рд╡реЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдБрдЧрд╛ред
@iSynaptic
https://github.com/facebook/rocksdb/pull/5077 рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рд▓рдп рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЕрджреНрдпрддрди рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд░реНрддрдорд╛рди рдЬрдирд╕рдВрдкрд░реНрдХ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@hnakamur рдиреЗ рд▓рд╛рдкрддрд╛ API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП facebook/rocksdb#5077 рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рд╡реЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдБрдЧрд╛ред