ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Β«ΠΡΠΆΠ½ΠΎ Π±Π΅ΠΆΠ°ΡΡ ΡΠΎ Π²ΡΠ΅Ρ
Π½ΠΎΠ³, ΡΡΠΎΠ±Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅,
Π° ΡΡΠΎΠ±Ρ ΠΊΡΠ΄Π°-ΡΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ, Π½Π°Π΄ΠΎ Π±Π΅ΠΆΠ°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Π΄Π²ΠΎΠ΅ Π±ΡΡΡΡΠ΅Π΅!Β»
(Ρ) ΠΠ»ΠΈΡΠ° Π² ΡΡΡΠ°Π½Π΅ ΡΡΠ΄Π΅Ρ
ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΠΌΠ΅Π½Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π»Π΅ΠΊΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π° ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ
, Π²Π΅Π΄Ρ ΡΠΈΠ΄Ρ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
(ΠΏΠΎΡΠΎΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΡ Π»Π΅Ρ) ΠΌΡ ΡΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠ· Π²ΠΈΠ΄Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠ΅Π΅ Π²ΠΎΠΊΡΡΠ³ Π² ΠΌΠΈΡΠ΅ ΠΠ’-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΡΠΆ ΡΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ) Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ NoSQL-Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
(ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°), ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»ΠΈΠ» ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ HBase ΠΈ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π». Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ
Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΠΏΡΠΎΡΠΈΡΠ°Π»
ΠΠ΅Π΄Π°Π²Π½ΠΎ, Β«ΠΎΡ Π½Π΅ΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡΒ», Ρ Π·Π°Π΄Π°Π»ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ (Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΌΠ°ΠΉΡΠΊΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° ΠΊ ΡΡΠΎΠΌΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ), Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅? Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΈΠ΄Π΅Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π΄Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ NoSQL, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ ΠΏΠΎΡΠ΅ΡΠΏΠ½Π΅Ρ ΠΈΠ· Π½Π΅Π΅ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ (ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΎΠΌΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈ). ΠΠΎ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΏΠ»ΠΎΡΠ½ΠΎ Ρ NoSQL, ΠΏΠΎΠ»Π°Π³Π°Ρ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ HBase.
Π Π°Π·Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°
ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NoSQL Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΈ Π²Π·Π²Π΅ΡΠΈΡΡ Β«Π·Π°Β» ΠΈ Β«ΠΏΡΠΎΡΠΈΠ²Β». Π§Π°ΡΡΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π‘Π£ΠΠ. ΠΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NoSQL Π±Π΅Π· ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π° ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NoSQL Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ½Ρ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π‘Π£ΠΠ (ΠΏΠΎ ΠΌΠΎΠΈΠΌ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡΠΌ). Π’Π°ΠΊ, Π² Β«ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΌΒ» ΠΌΠΈΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ΄Π΅ΠΌ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π NoSQL ΠΆΠ΅ ΠΌΡ ΡΡΠ°Π·Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΡΡ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ Β«ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡΒ» Π·Π°Π΄Π°ΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π΄ΡΡΠ·Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ΠΊΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ Ρ Π½Π°Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ (ΠΊΠ°ΠΊ Π² ΠΠ½ΡΡΠ°Π³ΡΠ°ΠΌΠΌΠ΅, Π° Π½Π΅ Π² Linkedin). Π‘ΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ:
- ΠΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΡΠΈΡΠ°Π΅Ρ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π (ΡΠ°Π±Π»ΠΎΠ½ ΡΡΠ΅Π½ΠΈΡ)
- ΠΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ/ΡΠ΄Π°Π»ΡΡΡ ΡΠ²ΡΠ·ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ/ΠΎΡΠΏΠΈΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π (ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ )
ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ. Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ ΠΌΡ Π±Ρ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π±Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ²ΡΠ·Π΅ΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ, Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ Π³ΡΡΠΏΠΏΡ: ΡΠ΅ΠΌΡΡ, ΡΠ°Π±ΠΎΡΠ° ΠΈ Ρ.ΠΏ., Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠΉ Β«Π΄ΡΡΠ³Β»), Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π±Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ/ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΎΠ³ΠΎΠ²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° Π±Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π²ΠΎΡ ΡΠ°ΠΊ:
user_id
friend_id
ΠΠ°ΡΡ
ΠΠ΅ΡΡ
ΠΠ°ΡΡ
ΠΠ»Ρ
Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΈ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ID Π±ΡΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π°
Π ΡΠ»ΡΡΠ°Π΅ ΠΆΠ΅ Ρ HBase ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ:
- ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊ full table scan, Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎ ΠΊΠ»ΡΡΡ
- ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠΌ SQL-Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ Π±Π°Π·Π°ΠΌ β ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ; ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ· ΡΠΎΠΉ ΠΆΠ΅ Impala ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ SQL-Π·Π°ΠΏΡΠΎΡ Ρ JoinβΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π² HBase, Π½ΠΎ Π²ΠΎΡ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎβ¦
ΠΠΎΡΡΠΎΠΌΡ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ. Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΡΡΠ»ΡΡ Π½Π° ΡΠ΅ΠΌΡ Β«Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΡΡ ID Π΄ΡΡΠ·Π΅ΠΉ?Β» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ . ΠΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΈ Β«Π½Π°ΠΈΠ²Π½ΡΠΉΒ» Π²Π°ΡΠΈΠ°Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ (Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ ΠΠ°ΡΠΈΠ°Π½Ρ 1 (default), ΡΡΠΎΠ±Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ):
RowKey
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ
ΠΠ°ΡΡ
1: ΠΠ΅ΡΡ
2: ΠΠ»Ρ
3: ΠΠ°ΡΠ°
ΠΠ΅ΡΡ
1: ΠΠ°ΡΠ°
2: ΠΠ°ΡΡ
ΠΠ΄Π΅ΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠΈ. ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π°: 1, 2, β¦ β ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΄ΡΡΠ·Π΅ΠΉ, ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ Ρ ΡΠ°Π½ΡΡΡΡ ID Π΄ΡΡΠ·Π΅ΠΉ. ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (1, 2 ΠΈ 3), Π° Π²ΡΠΎΡΠ°Ρ β ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ (1 ΠΈ 2) β Π·Π΄Π΅ΡΡ ΠΌΡ ΡΠ°ΠΌΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π²ΡΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ HBase, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΠ:
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΡΠ°Π² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΄ΡΡΠ³Π° -> Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π΄ΡΡΠ³Π° -> ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ)
- Ρ ΡΠ°Π·Π½ΡΡ ΡΡΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΉ ΡΠΎΡΡΠ°Π² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ Π½Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π·Π°Π΄Π°ΡΠΈ:
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Π»ΠΈ ΠΠ°ΡΡ Π½Π° ΠΠ»Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ RowKey = Β«ΠΠ°ΡΡΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΠΎΠΊΠ° Π½Π΅ Β«Π²ΡΡΡΠ΅ΡΠΈΠΌΒ» Π² Π½ΠΈΡ ΠΠ»Ρ. ΠΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Β«Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΒ» ΠΠ»Ρ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠ²Π΅Ρ False;
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π½Π°ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ RowKey = Β«ΠΠ°ΡΡΒ», ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΅Π³ΠΎ Π΄ΡΡΠ·Π΅ΠΉ. ΠΡΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»-Π²ΠΎ Π΄ΡΡΠ·Π΅ΠΉ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ID Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°.
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°:
- ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ RowKey = Β«ΠΠ°ΡΡΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡ ΡΠ°ΠΌΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠ°Π½ ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΠΉ Π΄ΡΡΠ³;
- ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ, ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³Π°, Π½Π°Π΄ΠΎ Β«ΡΠ΄Π²ΠΈΠ½ΡΡΡΒ» Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Β«ΡΠ°Π·ΡΡΠ²ΠΎΠ²Β» Π² ΠΈΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Β«ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ», Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠΈΡΠ°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π΅ Π²ΡΠ΅ Π΅Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠΠ½Π°ΡΠΈΡ Π²Π΅ΡΡ Π½ΡΡ ΠΎΡΠ΅Π½ΠΊΠ° Π·Π°ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π(n)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΡΡΠ·Π΅ΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ => Π(n)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°:
- ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ β ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π΅ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ => Π(n)
- ΠΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Β«ΡΠ΄Π²ΠΈΠ½ΡΡΡΒ» ΠΈΡ
. ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΎ Β«Π² Π»ΠΎΠ±Β», ΡΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅ΡΠ΅ Π΄ΠΎ (n-1) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΎ ΠΌΡ Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Β«ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ΄Π²ΠΈΠ³Β» Π·Π° ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ β ΡΠΎ Π΅ΡΡΡ Π½Π° Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ n. ΠΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ (Π΅ΡΠ»ΠΈ Π±ΡΡΡ ΡΠΎΡΠ½ΡΠΌ, ΡΠΎ Π(2)) ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π(n) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ. ΠΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅: ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Β«ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉΒ» ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Π΄ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ:
ΠΡΠΎΠ³ΠΎ, Π²ΠΎ Π²ΡΠ΅Ρ
ΡΡΠ΅Π½Π°ΡΠΈΡΡ
ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π°ΡΠΈΠΌΠΏΡΠΎΡΠΈΡΠ΅ΡΠΊΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ O(n).
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π²Ρ ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ· Π±Π°Π·Ρ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΠΏΡΠΈΡΠ΅ΠΌ Π² Π΄Π²ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΠ· ΡΡΠ΅Ρ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»-Π²ΠΎ Π΄ΡΡΠ·Π΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«countΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π΄ΡΡΠ·Π΅ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Π²ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»-Π²Π° Π΄ΡΡΠ·Π΅ΠΉ, Π° ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«countΒ». ΠΠ»Π°Π²Π½ΠΎΠ΅, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Β«countΒ» ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π’.ΠΎ. ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΠ°ΡΠΈΠ°Π½Ρ 2 (count):
RowKey
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ
ΠΠ°ΡΡ
1: ΠΠ΅ΡΡ
2: ΠΠ»Ρ
3: ΠΠ°ΡΠ°
count: 3
ΠΠ΅ΡΡ
1: ΠΠ°ΡΠ°
2: ΠΠ°ΡΡ
count: 2
ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ:
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«Π§ΠΈΡΠ°Π΅Ρ Π»ΠΈ ΠΠ°ΡΡ ΠΠ»Ρ?Β» Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ => Π(n)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: ΠΡ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΊΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π²ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π΅Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Β«countΒ» ΠΈ Ρ.ΠΎ. ΡΡΠ°Π·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎ Π(1)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄ΡΡΠ³Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈ Β«ΡΠ΄Π²ΠΈΠ³Π΅Β» Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΉΠΊΡ Π²Π»Π΅Π²ΠΎ. ΠΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ => O(n)
- Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«countΒ», Π½ΠΎ Π½Π° ΡΡΠΎ ΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π-ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ
Π ΡΠ΅Π»ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½Ρ 2 Π²ΠΈΠ΄ΠΈΡΡΡ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ, Π½ΠΎ ΡΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Β«ΡΠ²ΠΎΠ»ΡΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΈΒ». ΠΠ»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Β«ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΈΒ» Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΠ°ΡΠΈΠ°Π½Ρ 3 (col).
ΠΠ΅ΡΠ΅Π²Π΅ΡΠ½Π΅ΠΌ Π²ΡΠ΅ Β«Ρ Π½ΠΎΠ³ Π½Π° Π³ΠΎΠ»ΠΎΠ²ΡΒ»: Π½Π°Π·Π½Π°ΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ! Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ β Π΄Π»Ρ Π½Π°Ρ ΡΠΆΠ΅ Π½Π΅ ΡΡΡΡ Π²Π°ΠΆΠ½ΠΎ, ΠΏΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΡΠ° 1 (Π²ΠΎΠΎΠ±ΡΠ΅, ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΡΡΠΏΠΏΡ Β«ΡΠ΅ΠΌΡΡ/Π΄ΡΡΠ·ΡΡ/ΠΈ Ρ.ΠΏ.Β»). ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄ΠΈΠ²ΠΈΡΡ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Β«ΠΎΠ±ΡΠ²Π°ΡΠ΅Π»ΡΒ», ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π» ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ NoSQL-Π±Π°Π·Π°ΠΌΠΈ, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» HBase Π² Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅:
RowKey
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ
ΠΠ°ΡΡ
ΠΠ΅ΡΡ: 1
ΠΠ»Ρ: 1
ΠΠ°ΡΠ°: 1
ΠΠ΅ΡΡ
ΠΠ°ΡΠ°: 1
ΠΠ°ΡΡ: 1
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². Π§ΡΠΎΠ±Ρ ΠΈΡ ΠΏΠΎΠ½ΡΡΡ, ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΎΡΠ΅Π½ΠΈΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ:
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Π»ΠΈ ΠΠ°ΡΡ Π½Π° ΠΠ»Ρ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«ΠΠ»ΡΒ»: Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ, ΡΠΎ ΠΎΡΠ²Π΅Ρ True, Π΅ΡΠ»ΠΈ Π½Π΅Ρ β False => O(1)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«ID Π΄ΡΡΠ³Π°Β» => O(1)
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°: Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Β«ID Π΄ΡΡΠ³Π°Β» => O(1)
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π²ΠΎ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π°ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ, ΠΈΠ·Π±Π΅Π³Π°Ρ Π²ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ· Π±Π°Π·Ρ Π²ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π²ΡΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ° ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ, Π½ΠΎβ¦
ΠΠΎΠΆΠ½ΠΎ ΠΎΠ·Π°Π΄Π°ΡΠΈΡΡΡΡ ΠΈ ΠΏΠΎΠΉΡΠΈ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎ ΠΏΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π΅. Π§ΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΡΠ·ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»ΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ? Π’ΠΎ Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ»ΡΡ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ Π²ΠΈΠ΄Π° userID.friendID? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΡΡΠΎΠΊΠΈ (ΠΠ°ΡΠΈΠ°Π½Ρ 4(row)):
RowKey
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ
ΠΠ°ΡΡ.ΠΠ΅ΡΡ
ΠΠ΅ΡΡ: 1
ΠΠ°ΡΡ.ΠΠ»Ρ
ΠΠ»Ρ: 1
ΠΠ°ΡΡ.ΠΠ°ΡΠ°
ΠΠ°ΡΠ°: 1
ΠΠ΅ΡΡ.ΠΠ°ΡΠ°
ΠΠ°ΡΠ°: 1
ΠΠ΅ΡΡ.ΠΠ°ΡΡ
ΠΠ°ΡΡ: 1
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π²ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ°ΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π(1). Π Π°Π·Π½ΠΈΡΠ° Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ 3 Π±ΡΠ΄Π΅Ρ ΡΠΆΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΠ.
ΠΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Β«Π±Π°Π½ΡΠΈΠΊΒ». ΠΠ΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ΅ 4 Ρ Π½Π°Ρ ΠΊΠ»ΡΡ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ, ΡΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (ΡΡΡ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΡΠΎ HBase Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π±Π°ΠΉΡΠΎΠ² ΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ ΠΊΠ»ΡΡΡ). ΠΠ»ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΡΠΈ ΠΎΡ userID ΠΈ friendID, ΠΈ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π° Ρ ΡΡΠ° Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ. Π’ΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ (ΠΠ°ΡΠΈΠ°Π½Ρ 5(hash)):
RowKey
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ
dc084ef00e94aef49be885f9b01f51c01918fa783851db0dc1f72f83d33a5994
ΠΠ΅ΡΡ: 1
dc084ef00e94aef49be885f9b01f51c0f06b7714b5ba522c3cf51328b66fe28a
ΠΠ»Ρ: 1
dc084ef00e94aef49be885f9b01f51c00d2c2e5d69df6b238754f650d56c896a
ΠΠ°ΡΠ°: 1
1918fa783851db0dc1f72f83d33a59949ee3309645bd2c0775899fca14f311e1
ΠΠ°ΡΠ°: 1
1918fa783851db0dc1f72f83d33a5994dc084ef00e94aef49be885f9b01f51c0
ΠΠ°ΡΡ: 1
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΏΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π½Π°ΠΌΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡΠΌΠΈ, Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ° 4 β ΡΠΎ Π΅ΡΡΡ Π(1).
ΠΡΠΎΠ³ΠΎ, ΡΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ Π½Π°ΡΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΡΡΠ³Π°
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³Π°
ΠΠ°ΡΠΈΠ°Π½Ρ 1 (default)
O(n)
O(n)
O(n)
ΠΠ°ΡΠΈΠ°Π½Ρ 2 (count)
O(1)
O(n)
O(n)
ΠΠ°ΡΠΈΠ°Π½Ρ 3 (column)
O(1)
O(1)
O(1)
ΠΠ°ΡΠΈΠ°Π½Ρ 4 (row)
O(1)
O(1)
O(1)
ΠΠ°ΡΠΈΠ°Π½Ρ 5 (hash)
O(1)
O(1)
O(1)
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π²Π°ΡΠΈΠ°Π½ΡΡ 3-5 Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π½Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ Π½Π΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π΄ΡΡΠ·Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΌ, ΠΊΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΈΠΌ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌ, Ρ ΠΎΡΠΎΡΠΎ Π±Ρ Β«ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅ΡΡΒ», ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈ Β«ΠΏΠΎΠ΄ΡΡΠ΅Π»ΠΈΡΡ ΡΠΎΠ»ΠΎΠΌΠΊΡΒ». ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΈ ΡΠΈΠΌΠΏΠ°ΡΠΈΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° 3. ΠΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠ³Π» Π±ΡΡΡ ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±Π΅Π· ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ Π»ΡΡΡΠ΅ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ².
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°
ΠΡΡΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ β ΡΡΠΎ ΠΈ Π±ΡΠ»ΠΎ ΡΠ΅Π»ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ Π½Π° Π΄ΠΎΠ»Π³ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π·Π°Π΄ΡΠΌΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°ΡΠ΅Π³ΠΎ Β«ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ» Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΡΠΎΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ (n). Π¦Π΅Π»Π΅Π²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΌΠ΅ΡΡΡΡ Π² Ρ ΠΎΠ΄Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Β«ΡΡΠ»ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌΒ», Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Β«Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΒ». ΠΠΎΠ΄ Β«Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉΒ» ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ :
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°
- ΠΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΡ Π² ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
- ΠΠ°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ . Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ n. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊ "ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠΈΡΡ" ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ·Π΅ΠΉ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ β ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π°. ΠΠ°ΠΌΠ΅ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΡΠ΅ Β«ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» Π·Π°ΠΏΠΈΡΠ΅Ρ Π² HBase Π²ΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π΄ΡΡΠ·Π΅ΠΉ β ΡΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΎΠ΄Π½Ρ Β«Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΒ»
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Β«Π»ΠΈΡΠ½ΠΎΡΡΠ΅ΠΉΒ», Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Π»ΠΈ Π½Π° Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ»ΠΈΠ½Π° ΡΠΏΠΈΡΠΊΠ° = ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΊΠΎΠ»-Π²Ρ Π΄ΡΡΠ·Π΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ Π΄ΡΡΠ·Π΅ΠΉ ΠΎΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Β«ΠΠ°Β», Π° Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ β Β«ΠΠ΅ΡΒ». ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΡ Β«ΠΠ°Β» ΠΈ Β«ΠΠ΅ΡΒ» ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°Π»ΠΈΡΡ (ΡΠΎ Π΅ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² 1 ΠΈ 2). ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ Π΄ΡΡΠ·Π΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ±ΡΠ΅ΠΊΡΠ°.
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ . Π£Π΄Π°Π»ΠΈΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ·Π΅ΠΉ. ΠΡΠΈΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ β ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ (ΡΠΎ Π΅ΡΡΡ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π΅ΠΌΒ» ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΠΉΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ ). ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΡ Π΄ΡΡΠ·Π΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ³Π½Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· 5 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ
ΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Ρ Π΅Π΅ ΡΠΎΡΡΠΎΠΌ. Π ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ n ΡΠ²ΡΠ·ΠΈ Π² ΡΠ΅ΡΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
5 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ n= 5. ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Β«Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΒ» Π΄Π°Π΅Ρ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ID-ΡΠ½ΠΈΠΊΠΎΠ²:
- ΠΏΠ΅ΡΠ²ΡΠΉ β Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ
- Π²ΡΠΎΡΠΎΠΉ β Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
- ΡΡΠ΅ΡΠΈΠΉ β Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ
{0: [1], 1: [4, 5, 3, 2, 1], 2: [1, 2], 3: [2, 4, 1, 5, 3], 4: [2, 1]} # Π²ΡΠ΅Π³ΠΎ 15 Π΄ΡΡΠ·Π΅ΠΉ
{0: [1, 10800], 1: [5, 10800, 2, 10801, 4, 10802], 2: [1, 10800], 3: [3, 10800, 1, 10801, 5, 10802], 4: [2, 10800]} # Π²ΡΠ΅Π³ΠΎ 18 ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ
ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ²
{0: [1], 1: [1, 3, 2, 5, 4], 2: [1, 2], 3: [4, 1, 2, 3, 5], 4: [1, 2]} # Π²ΡΠ΅Π³ΠΎ 15 Π΄ΡΡΠ·Π΅ΠΉ
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π²ΡΠ΅ ID, Π±ΠΎΠ»ΡΡΠΈΠ΅ 10 000 Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ β ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π΄Π°Π΄ΡΡ ΠΎΡΠ²Π΅Ρ False. ΠΡΡΠ°Π²ΠΊΠ°, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Β«Π΄ΡΡΠ·Π΅ΠΉΒ» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΡΡ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 10, Π³Π΄Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΠ΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π° Π±Π°Π·Π° HBase, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ β Python Ρ Jupyter Notebook. ΠΠΎΠΊΠ΅ΡΡ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ 2 ΡΠ΄ΡΠ° CPU ΠΈ 2 ΠΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΡ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΠ°ΠΊ ΠΈ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Β«ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ», ΡΠ°ΠΊ ΠΈ Β«ΠΎΠ±Π²ΡΠ·ΠΊΠ°Β» Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ Π·Π°ΠΌΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Python. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ HBase ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
Π‘ ΡΡΠ΅ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΡΡΠ±ΡΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Π·Π°ΠΏΡΡΠΊ Π΄Π»Ρ n = 10, 30, β¦. 170 β ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π²ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ n) Π±ΡΠ»ΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ ΠΈ ΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π΅ΠΏΠΈΡΠΈΡ (Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 15 ΠΌΠΈΠ½ΡΡ).
Π’ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΌΠ°ΡΠΊΡ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ ΠΌΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠΈΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ Π΄Π²ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ. Π‘Π΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ n, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π΄Π°Β» ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ, Β«ΠΎΡΠΈΡΠ΅Π½Π½ΡΠ΅Β» ΠΎΡ Π²Π»ΠΈΡΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΈ ΠΏΡΠΎΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ (Π΄Π° ΠΈ ΡΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ ΡΡΠ°Π²ΠΈΠ»ΠΎΡΡ).
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ΅ΡΡ β ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π΄ΡΡΠ·Π΅ΠΉ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ β Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠ°ΡΠΈΠ°Π½ΡΡ 3-5 ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Β«Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈ ΠΈ Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΡΠΈΠ°Π½Ρ 2 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ, Π½ΠΎ ΡΡΡΡ Ρ
ΡΠ΄ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ²Π½ΠΎ Π² 2 ΡΠ°Π·Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² 3-5. Π ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π΄ΠΎΠ²Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ Ρ ΡΠ΅ΠΎΡΠΈΠ΅ΠΉ β Π² ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π²/ΠΈΠ· HBase ΠΊΠ°ΠΊ ΡΠ°Π· Π² 2 ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ, ΡΡΠΎ Π½Π°Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π΄ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π΄Π°Π΅Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 1 ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈ ΡΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎ Π΄ΡΡΠ³Π°.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°.
ΠΠ°ΡΠΈΠ°Π½ΡΡ 3-5 ΠΎΠΏΡΡΡ ΠΆΠ΅ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ β ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠ΅Π΅ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈ. ΠΠ°ΡΠΈΠ°Π½ΡΡ 1 ΠΈ 2 Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈ ΠΈ ΡΡ
ΠΎΠΆΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΈΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½Ρ 2 ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ β ΠΏΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·-Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΠΈΡΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Β«countΒ», ΡΡΠΎ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ n ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ. ΠΠΎ Ρ Π²ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠ·Π΄Π΅ΡΠΆΡΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π²ΡΡΠΎΠΊΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ (ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, 1 ΠΈΠ»ΠΈ 2, Π±ΡΡΡΡΠ΅Π΅) ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊ Π·Π°ΠΏΡΡΠΊΡ (ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ
ΡΠ°Π½ΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ "ΠΈΠ΄Ρ Π½ΠΎΠ·Π΄ΡΡ Π² Π½ΠΎΠ·Π΄ΡΡ").
ΠΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊ β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ.
ΠΠ΄Π΅ΡΡ ΠΎΠΏΡΡΡ ΠΆΠ΅ Π±Π΅Π· ΡΡΡΠΏΡΠΈΠ·ΠΎΠ². ΠΠ°ΡΠΈΠ°Π½ΡΡ 3-5 ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΡΠΈΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π²Π°ΡΠΈΠ°Π½ΡΡ 4 ΠΈ 5, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡ Ρ
ΡΠ΄ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½Ρ 3. ΠΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ β Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΡΠ°ΡΠ½Π°Ρ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΠ°ΡΠΈΠ°Π½ΡΡ 1 ΠΈ 2, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΡΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½Ρ 2 ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° 1 β ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎ Β«ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡΒ» ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ count.
ΠΠ±ΡΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°:
- ΠΠ°ΡΠΈΠ°Π½ΡΡ 3-5 Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π±ΠΠ»ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° HBase; ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π΄ΡΡΠ³ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³Π° Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΈ.
- Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ 4 ΠΈ 5 Π½Π΅ Π±ΡΠ»Π° Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π°. ΠΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ 5 Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΏΠΎΠ»Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Ρ ΡΡΠ΅ΡΠΎΠΌ Π’Π’Π₯ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π΄Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π΅Π΅ Π²ΡΡΠ²ΠΈΡΡ.
- Π₯Π°ΡΠ°ΠΊΡΠ΅Ρ ΡΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Β«Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉΒ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
ΠΠΏΠΈΠ»ΠΎΠ³
ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π³ΡΡΠ±ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΠΈΡΡΠΈΠ½Ρ. ΠΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΡΡΡΠ΅Π½Ρ ΠΈ Π²Π½ΠΎΡΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΡΠΈ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΠΈ Π²ΠΈΠ΄Π½Ρ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ ΠΏΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ΅ΡΠΈ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ thrift, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ happybase, ΠΎΠ±ΡΠ΅ΠΌ ΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Python (Π½Π΅ Π±Π΅ΡΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ HBase, ΡΠΎΠ½ΠΎΠ²Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Windows 10 Π½Π° ΠΌΠΎΠ΅ΠΌ Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ΠΈ Ρ.ΠΏ. Π ΡΠ΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ²ΠΎΡ ΡΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠΏΡΠΎΠ²Π΅ΡΠ³Π½ΡΡΡ ΠΈΡ ΡΠ°ΠΊΠΈΠΌ Π²ΠΎΡ Β«Π½Π°ΡΠΊΠΎΠΊΠΎΠΌ Π² Π»ΠΎΠ±Β» Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ β ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ Π² HBase: Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠΉΡΠ΅ΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Β«Π·Π°ΠΏΠΎΠ²Π΅Π΄ΠΈΒ»:
- ΠΡΠΎΠ΅ΠΊΡΠΈΡΡΡ, ΠΈΠ΄Π΅ΠΌ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π° Π½Π΅ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
- ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ (Π±Π΅Π· full table scan) β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΊΠ»ΡΡΡ
- ΠΠ΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- Π Π°Π·Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΡΠ°Π² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com