ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠ»ΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΠ, Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ΅ΡΠ°?
Π― Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΈ Π½Π΅ ΡΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ API Π² RocksDB. ΠΡ ΡΠ°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ?
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠΆΠ°Π²ΡΠΈΠ½Ρ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ rockdb Π² ΡΡΠΎΠΌ ΠΌΠ°Π»ΠΎ ΡΠΌΡΡΠ»Π°.
ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ Ρ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ».
Rocksdb ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π‘ΠΌ. Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Rust rockdb
ΠΡΡΠ³ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ: https://www.codota.com/code/java/methods/org.rocksdb.RocksDB/keyMayExist
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ Π½Π΅ ΡΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ: https://github.com/facebook/rocksdb/blob/master/include/rocksdb/db.h#L653
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π²ΠΈΠΆΡ, ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· C API. Π― ΡΠ΄Π΅Π»Π°Π» Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅: https://github.com/facebook/rocksdb/pull/7021
@ DarkEld3r ΡΠΉ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π²Π°ΡΠ΅ΠΌ PR, Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ get
IIUC. ΠΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡΡ?
Π’Π°ΠΊΠΆΠ΅ KeyMightExist
ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ IIUC.
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
Π, ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² null
value_found
, ΠΎΠ½ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
@stanislav-tkach Π²Π°Ρ PR facebook/rocksdb#7021 ΡΠΆΠ΅ ΡΠ»ΠΈΡ. ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ?
@rohitjoshi ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΡΡΠΊ rockdb (6.11.4) Π±ΡΠ» Π²ΡΠΏΡΡΠ΅Π½ 20 ΠΈΡΠ»Ρ, ΠΈ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π― ΠΏΠΎΠ»Π°Π³Π°Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°.
ΠΡΡΡ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π²ΠΈΠΆΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΡΡΠΊ RocksDB Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ C-API, Π½ΠΎ ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΡ 6.11.4.