Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase

Π”ΠΎΠ±Π°Ρ€ Π΄Π΅Π½ ΠœΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ΅ Π΅ Π”Π°Π½ΠΈΠ» Π›ΠΈΠΏΠΎΠ²ΠΎΡ˜, Π½Π°ΡˆΠΈΠΎΡ‚ Ρ‚ΠΈΠΌ Π²ΠΎ Π‘Π±Π΅Ρ€Ρ‚Π΅Ρ… ΠΏΠΎΡ‡Π½Π° Π΄Π° користи HBase ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π’ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅, сС Π°ΠΊΡƒΠΌΡƒΠ»ΠΈΡ€Π°ΡˆΠ΅ искуство ΠΊΠΎΠ΅ сакав Π΄Π° Π³ΠΎ систСматизирам ΠΈ опишам (сС Π½Π°Π΄Π΅Π²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ќС ΠΈΠΌ Π±ΠΈΠ΄Π΅ ΠΎΠ΄ корист Π½Π° ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π°). Π‘ΠΈΡ‚Π΅ СкспСримСнти ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π±Π΅Π° ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ со Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° HBase 1.2.0-cdh5.14.2 ΠΈ 2.0.0-cdh6.0.0-beta1.

  1. ΠžΠΏΡˆΡ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°
  2. Π—Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ HBASE
  3. Π§ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ HBASE
  4. ΠšΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
  5. БСриска ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ MultiGet/MultiPut
  6. Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π° Π·Π° ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Π²ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ (ΠΏΠΎΠ΄Π΅Π»Π±Π°)
  7. Π’ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
  8. ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈ ΠΈ пСрформанси
  9. Π’Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° стрСс
  10. Наоди

1. ΠžΠΏΡˆΡ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π Π΅Π·Π΅Ρ€Π²Π½ΠΈΠΎΡ‚ Master Π³ΠΎ ΡΠ»ΡƒΡˆΠ° Ρ‡ΡƒΠΊΠ°ΡšΠ΅Ρ‚ΠΎ Π½Π° срцСто Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ Π½Π° ZooKeeper Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ ΠΈ, Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΈΡΡ‡Π΅Π·Π½ΡƒΠ²Π°ΡšΠ΅, Π³ΠΈ ΠΏΡ€Π΅Π·Π΅ΠΌΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° господарот.

2. ΠΠ°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ HBASE

ΠŸΡ€Π²ΠΎ, Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ - ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ со ΠΊΠ»ΡƒΡ‡Π½Π° врСдност Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ put(rowkey). ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΌΠΎΡ€Π° ΠΏΡ€Π²ΠΎ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ ΠΊΠ°Π΄Π΅ сС Π½Π°ΠΎΡ“Π° Root Region Server (RRS), кој ја складира Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° hbase:meta. Оваа ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ја Π΄ΠΎΠ±ΠΈΠ²Π° ΠΎΠ΄ ZooKeeper. ПослС Ρ‚ΠΎΠ°, Ρ‚ΠΎΡ˜ пристапува Π΄ΠΎ RRS ΠΈ ја Ρ‡ΠΈΡ‚Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° hbase:meta, ΠΎΠ΄ која ΠΈΠ·Π²Π»Π΅ΠΊΡƒΠ²Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ‚ΠΎΠ° кој RegionServer (RS) Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π΄Π°Π΄Π΅Π½ рСдослСд Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π·Π° интСрСс. Π—Π° ΠΈΠ΄Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΌΠ΅Ρ‚Π°-Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° Π΅ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π° ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈ Π·Π°Ρ‚ΠΎΠ° слСднитС ΠΏΠΎΠ²ΠΈΡ†ΠΈ ΠΎΠ΄Π°Ρ‚ ΠΏΠΎΠ±Ρ€Π·ΠΎ, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄ΠΎ RS.

Π‘Π»Π΅Π΄Π½ΠΎ, Π Π‘, ΠΎΡ‚ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈ Π±Π°Ρ€Π°ΡšΠ΅, ΠΏΡ€Π²ΠΎ Π³ΠΎ ΠΏΠΈΡˆΡƒΠ²Π° Π²ΠΎ WriteAheadLog (WAL), ΡˆΡ‚ΠΎ Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΏΠ°Π΄. ΠŸΠΎΡ‚ΠΎΠ° Π³ΠΈ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ MemStore. Ова Π΅ Π±Π°Ρ„Π΅Ρ€ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΡˆΡ‚ΠΎ содрТи сортиран сСт Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π·Π° Π΄Π°Π΄Π΅Π½ Ρ€Π΅Π³ΠΈΠΎΠ½. Π’Π°Π±Π΅Π»Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ (ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ), ΠΎΠ΄ ΠΊΠΎΠΈ сСкоја содрТи Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ сСт Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ. Ова Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° поставитС Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сСрвСри Π·Π° Π΄Π° постигнСтС повисоки пСрформанси. Π‘Π΅ΠΏΠ°ΠΊ, ΠΈ ΠΏΠΎΠΊΡ€Π°Ρ˜ очиглСдноста Π½Π° ΠΎΠ²Π°Π° изјава, ΠΏΠΎΠ΄ΠΎΡ†Π½Π° ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Ρ‚ΠΎΠ° Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Π²ΠΎ ситС случаи.

По ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ запис Π²ΠΎ MemStore, Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ сС Π²Ρ€Π°ΡœΠ° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π΄Π΅ΠΊΠ° записот Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Ρ‡ΡƒΠ²Π°Π½. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π²ΠΎ рСалноста Ρ‚ΠΎΡ˜ сС Ρ‡ΡƒΠ²Π° само Π²ΠΎ Π±Π°Ρ„Π΅Ρ€ ΠΈ Π΄ΠΎΠ°Ρ“Π° Π΄ΠΎ дискот само ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС ΠΏΠΎΠΌΠΈΠ½Π΅ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ врСмСнски ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° ќС сС ΠΏΠΎΠΏΠΎΠ»Π½ΠΈ со Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
ΠŸΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° β€žΠ˜Π·Π±Ρ€ΠΈΡˆΠΈβ€œ, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ Π½Π΅ сС Π±Ρ€ΠΈΡˆΠ°Ρ‚. Π’ΠΈΠ΅ Сдноставно сС ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ°Π½ΠΈ, Π° самото ΡƒΠ½ΠΈΡˆΡ‚ΡƒΠ²Π°ΡšΠ΅ сС случува Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ опишано Π²ΠΎ став 7.

Π”Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ HFile сС Π°ΠΊΡƒΠΌΡƒΠ»ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ HDFS ΠΈ ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅ сС стартува ΠΏΠΎΠΌΠ°Π»ΠΈΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ процСс, кој Сдноставно Π³ΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π° ΠΌΠ°Π»ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ Π±Π΅Π· Π΄Π° Π±Ρ€ΠΈΡˆΠ΅ Π½ΠΈΡˆΡ‚ΠΎ. Π‘ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΎΠ²Π° сС ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π° Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡˆΡ‚ΠΎ сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° само ΠΏΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (Π½Π° ΠΎΠ²Π° ќС сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ ΠΌΠ°Π»ΠΊΡƒ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°).

Π’ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠ³ Π½Π° процСсот Π½Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ опишан ΠΏΠΎΠ³ΠΎΡ€Π΅, постои ΠΌΠ½ΠΎΠ³Ρƒ поСфикасна ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, која Π΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π°Ρ˜ΡΠΈΠ»Π½Π°Ρ‚Π° страна Π½Π° ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ - BulkLoad. Π’ΠΎΠ° Π»Π΅ΠΆΠΈ Π²ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡ˜Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΠΌΠ΅ HFiles ΠΈ Π³ΠΈ ставамС Π½Π° дискот, ΡˆΡ‚ΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ Π΄Π° скалирамС ΠΈ Π΄Π° постигнСмС ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΡ€ΠΈΡΡ‚ΠΎΡ˜Π½ΠΈ Π±Ρ€Π·ΠΈΠ½ΠΈ. Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΎΠ²Π΄Π΅ Π½Π΅ Π΅ HBase, Ρ‚ΡƒΠΊΡƒ моТноститС Π½Π° Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ΠΎΡ‚. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ сС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΏΠΎΠ΄ΠΈΠ³Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° кластСрот составСн ΠΎΠ΄ 16 RegionServers ΠΈ 16 NodeManager YARN (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки), HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase

ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° со Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ (Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ) Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Spark, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅. Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° зависи ΠΎΠ΄ Ρ˜Π°Ρ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° Π·Π²ΡƒΠΊΠΎΡ‚ Π½Π° ΡΠ½ΠΈΠΌΠ°ΡšΠ΅Ρ‚ΠΎ. Π“ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄Π°Π²Π°Π°Ρ‚ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠœΠ‘/сСк, ΠΌΠ°Π»ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π²ΠΌΠ΅Ρ‚Π½Π°Ρ‚ΠΈ записи ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π²Ρ€Π΅ΠΌΠ΅, Π° ситС Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ сС Π΅Π΄Π½Π°ΠΊΠ²ΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ со Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Π΄Π²Π΅ Ρ‚Π°Π±Π΅Π»ΠΈ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ двојно ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Π±Ρ€Π·ΠΈΠ½Π°. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 10 KB Π½Π° Π΄Π²Π΅ Ρ‚Π°Π±Π΅Π»ΠΈ одСднаш сС случува со Π±Ρ€Π·ΠΈΠ½Π° ΠΎΠ΄ ΠΎΠΊΠΎΠ»Ρƒ 600 MB/сСк Π²ΠΎ сСкоја (Π²ΠΊΡƒΠΏΠ½ΠΎ 1275 MB/sec), ΡˆΡ‚ΠΎ сС совпаѓа со Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΅Π΄Π½Π° Ρ‚Π°Π±Π΅Π»Π° 623 MB/sec (Π²ΠΈΠ΄ΠΈ Π±Ρ€. 11 ΠΏΠΎΠ³ΠΎΡ€Π΅)

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Но, Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ возСњС со записи ΠΎΠ΄ 50 KB ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ ΠΌΠ°Π»ΠΊΡƒ растС, ΡˆΡ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π΄Π΅ΠΊΠ° сС ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΡƒΠ²Π° Π΄ΠΎ Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΈΡ‚Π΅ врСдности. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π½Π° ΡƒΠΌ Π΄Π΅ΠΊΠ° ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π½Π΅ΠΌΠ° ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° самиот HBASE, сè ΡˆΡ‚ΠΎ сС Π±Π°Ρ€Π° ΠΎΠ΄ Π½Π΅Π³ΠΎ Π΅ ΠΏΡ€Π²ΠΎ Π΄Π° сС Π΄Π°Π΄Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ hbase:meta, Π° ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС сС постават HFiles, Π΄Π° сС рСсСтираат ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° BlockCache ΠΈ Π΄Π° сС Π·Π°Ρ‡ΡƒΠ²Π° MemStore Π±Π°Ρ„Π΅Ρ€ Π½Π° дискот, Π°ΠΊΠΎ Π½Π΅ Π΅ ΠΏΡ€Π°Π·Π΅Π½.

3. Π§ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ HBASE

Ако прСтпоставимС Π΄Π΅ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ вСќС Π³ΠΈ ΠΈΠΌΠ° ситС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ hbase:meta (Π²ΠΈΠ΄ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° 2), Ρ‚ΠΎΠ³Π°Ρˆ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΎΠ΄ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ RS ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½ Π±Π°Ρ€Π°Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡. ΠŸΡ€Π²ΠΎ, ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡˆΠΈ Π²ΠΎ MemCache. Π‘Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ‚ΠΎΠ° Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Ρ‚Π°ΠΌΡƒ ΠΈΠ»ΠΈ Π½Π΅, ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡˆΠΈ ΠΈ Π²ΠΎ Π±Π°Ρ„Π΅Ρ€ΠΎΡ‚ BlockCache ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π²ΠΎ HFiles. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ сС ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, Ρ‚ΠΈΠ΅ сС ставаат Π²ΠΎ BlockCache ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ Π²Ρ€Π°Ρ‚Π΅Π½ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ Π½Π° слСдното Π±Π°Ρ€Π°ΡšΠ΅. ΠŸΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ HFile Π΅ Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ Π±Ρ€Π·ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° Ρ„ΠΈΠ»Ρ‚Π΅Ρ€ΠΎΡ‚ Bloom, Ρ‚.Π΅. ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» ΠΌΠ°Π»Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, вСднаш ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° Π΄Π°Π»ΠΈ ΠΎΠ²Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π³ΠΎ содрТи ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ ΠΈ Π°ΠΊΠΎ Π½Π΅, Ρ‚ΠΎΠ³Π°Ρˆ сС ΠΏΡ€Π΅Ρ„Ρ€Π»Π° Π½Π° слСдната.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
ΠžΡ‚ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ Ρ‚Ρ€ΠΈ ΠΈΠ·Π²ΠΎΡ€ΠΈ, RS Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° прСнСсС Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Π½ΠΈ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ одСднаш Π°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΏΠΎΠ±Π°Ρ€Π°Π» Π²Π΅Ρ€Π·ΠΈΡ˜Π°.

4. ΠšΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

Π‘Π°Ρ„Π΅Ρ€ΠΈΡ‚Π΅ MemStore ΠΈ BlockCache Π·Π°Ρ„Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ 80% ΠΎΠ΄ Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°Ρ‚Π° RS ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π½Π° ΠΊΡƒΠΏΠΎΡ‚ (остатокот Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½ Π·Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° услуги Π½Π° RS). Ако Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π΅ Ρ‚Π°ΠΊΠΎΠ² ΡˆΡ‚ΠΎ процСситС Π³ΠΈ ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ ΠΈ вСднаш Π³ΠΈ Ρ‡ΠΈΡ‚Π°Π°Ρ‚ иститС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ ΠΈΠΌΠ° смисла Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ BlockCache ΠΈ Π΄Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ MemStore, бидСјќи Кога ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ Π²Π»Π΅Π³ΡƒΠ²Π° Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅, BlockCache ќС сС користи ΠΏΠΎΡ€Π΅Ρ‚ΠΊΠΎ. Π‘Π°Ρ„Π΅Ρ€ΠΎΡ‚ BlockCache сС состои ΠΎΠ΄ Π΄Π²Π° Π΄Π΅Π»Π°: LruBlockCache (сСкогаш Π²ΠΊΠ»ΡƒΡ‡Π΅Π½) ΠΈ BucketCache (ΠΎΠ±ΠΈΡ‡Π½ΠΎ off-heap ΠΈΠ»ΠΈ Π½Π° SSD). BucketCache Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС користи ΠΊΠΎΠ³Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π±Π°Ρ€Π°ΡšΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ Ρ‚ΠΈΠ΅ Π½Π΅ сС Π²ΠΊΠ»ΠΎΠΏΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ LruBlockCache, ΡˆΡ‚ΠΎ Π΄ΠΎΠ²Π΅Π΄ΡƒΠ²Π° Π΄ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Garbage Collector. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Ρ‚Π΅ Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС ΠΎΠ΄ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ΅ΡˆΠΎΡ‚ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅, Π½ΠΎ Π½ΠΈΠ΅ ќС сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ Π½Π° ΠΎΠ²Π° Π²ΠΎ став 8

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Има Π΅Π΄Π΅Π½ BlockCache Π·Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ RS ΠΈ ΠΈΠΌΠ° ΠΏΠΎ Π΅Π΄Π΅Π½ MemStore Π·Π° сСкоја Ρ‚Π°Π±Π΅Π»Π° (ΠΏΠΎ Π΅Π΄Π΅Π½ Π·Π° сСкоС ΡΠ΅ΠΌΠ΅Ρ˜ΡΡ‚Π²ΠΎ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ).

Како опишано Π²ΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Π°, ΠΊΠΎΠ³Π° сС ΠΏΠΈΡˆΡƒΠ²Π°, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π΅ Π²Π»Π΅Π³ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ ΠΈ навистина, Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ CACHE_DATA_ON_WRITE Π·Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° ΠΈ β€žCache DATA on Writeβ€œ Π·Π° RS сС поставСни Π½Π° Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΈ. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π²ΠΎ пракса, Π°ΠΊΠΎ напишСмС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ MemStore, ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΈ Ρ„Ρ€Π»ΠΈΠΌΠ΅ Π½Π° дискот (со Ρ‚ΠΎΠ° ќС Π³ΠΎ исчистимС), ΠΏΠΎΡ‚ΠΎΠ° ја ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅ΠΌΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½Π°Ρ‚Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Π° ΠΏΠΎΡ‚ΠΎΠ° со ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° добивањС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ќС Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ цСлосно Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ BlockCache ΠΈ ја Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° со Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΎ рСсСтиратС MemStore Π½Π° дискот, Π³ΠΈ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠ±Π°Ρ€Π°Ρ‚Π΅ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π° сСсија, Ρ‚ΠΈΠ΅ сСпак ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠ°Π΄Π΅. Π’Π°ΠΊΠ°, HBase складира Π½Π΅ само ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚ΡƒΠΊΡƒ ΠΈ мистСриозни мистСрии.

hbase(main):001:0> create 'ns:magic', 'cf'
Created table ns:magic
Took 1.1533 seconds
hbase(main):002:0> put 'ns:magic', 'key1', 'cf:c', 'try_to_delete_me'
Took 0.2610 seconds
hbase(main):003:0> flush 'ns:magic'
Took 0.6161 seconds
hdfs dfs -mv /data/hbase/data/ns/magic/* /tmp/trash
hbase(main):002:0> get 'ns:magic', 'key1'
 cf:c      timestamp=1534440690218, value=try_to_delete_me

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ β€žCache DATA on Readβ€œ Π΅ поставСн Π½Π° Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ ΠΈΠ΄Π΅ΠΈ, Π΄ΠΎΠ±Ρ€Π΅Π΄ΠΎΡ˜Π΄Π΅Π½ΠΈ Π΄Π° Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ‚Π΅ Π·Π° Ρ‚ΠΎΠ° Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅.

5. БСриска ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ MultiGet/MultiPut

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π±Π°Ρ€Π°ΡšΠ° (Π—Π΅ΠΌΠΈ/Π‘Ρ‚Π°Π²ΠΈ/Π˜Π·Π±Ρ€ΠΈΡˆΠΈ) Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ скапа ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°, ΠΏΠ° Π°ΠΊΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Π²ΠΎ Листа ΠΈΠ»ΠΈ Бписок, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС. Ова Π΅ особСно Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, Π½ΠΎ ΠΏΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ постои слСднава Π·Π°ΠΌΠΊΠ°. Π“Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ 50 записи ΠΎΠ΄ MemStore. Π§ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ Π²ΠΎ Π΅Π΄Π½Π° нишка ΠΈ Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½Π°Ρ‚Π° оска Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° Π²ΠΎ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ. ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° илјада ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π²ΠΎ Π΅Π΄Π½ΠΎ Π±Π°Ρ€Π°ΡšΠ΅, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΠ°Ρ“Π°, Ρ‚.Π΅. Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, со стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ MSLAB, ΠΏΠΎ овој ΠΏΡ€Π°Π³ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠ°Π΄ Π½Π° пСрформанситС ΠΈ ΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ записот, Ρ‚ΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΠ΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase

ВСстовитС Π±Π΅Π° ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΈ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина, 8 Ρ˜Π°Π΄Ρ€Π°, Π²Π΅Ρ€Π·ΠΈΡ˜Π° HBase 2.0.0-cdh6.0.0-beta1.

Π Π΅ΠΆΠΈΠΌΠΎΡ‚ MSLAB Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° ја Π½Π°ΠΌΠ°Π»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΡƒΠΏΠΈΡˆΡ‚Π°Ρ‚Π°, ΡˆΡ‚ΠΎ сС Ρ˜Π°Π²ΡƒΠ²Π° ΠΏΠΎΡ€Π°Π΄ΠΈ мСшањС Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ Π½ΠΎΠ²Π°Ρ‚Π° ΠΈ старата Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ˜Π°. Како Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π° Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ MSLAB, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС ставаат Π²ΠΎ Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΌΠ°Π»ΠΈ ќСлии (ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ°) ΠΈ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ°. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, ΠΊΠΎΠ³Π° Π²ΠΎΠ»ΡƒΠΌΠ΅Π½ΠΎΡ‚ Π²ΠΎ Π±Π°Ρ€Π°Π½ΠΈΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ја Π½Π°Π΄ΠΌΠΈΠ½ΡƒΠ²Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°Ρ‚Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°, пСрформанситС Π½Π°Π³Π»ΠΎ ΠΏΠ°Ρ“Π°Π°Ρ‚. Од Π΄Ρ€ΡƒΠ³Π° страна, ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° овој Ρ€Π΅ΠΆΠΈΠΌ исто Ρ‚Π°ΠΊΠ° Π½Π΅ Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡Π»ΠΈΠ²ΠΎ, бидСјќи Ρ‚ΠΎΠ° ќС Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€Π΅ΠΊΠΈΠ½ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ GC Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅. Π”ΠΎΠ±Ρ€ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π²ΠΎΠ»ΡƒΠΌΠ΅Π½ΠΎΡ‚ Π½Π° ΡœΠ΅Π»ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€Π΅ΠΊΡƒ ΡΡ‚Π°Π²Π°ΡšΠ΅ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ со Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ. Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π½Π΅ сС Ρ˜Π°Π²ΡƒΠ²Π° Π°ΠΊΠΎ, ΠΏΠΎ ΡΠ½ΠΈΠΌΠ°ΡšΠ΅Ρ‚ΠΎ, ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° flush, која Π³ΠΎ рСсСтира MemStore Π½Π° дискот ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π²Ρ‡ΠΈΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ BulkLoad. Π’Π°Π±Π΅Π»Π°Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° ΠΎΠ΄ MemStore Π·Π° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ (ΠΈ иста ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°) ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π°Π°Ρ‚ со Π·Π°Π±Π°Π²ΡƒΠ²Π°ΡšΠ΅. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, со Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π°, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³ΠΎ Π²Ρ€Π°ΡœΠ°ΠΌΠ΅ Π²ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»Π°.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
ΠŸΠΎΠΊΡ€Π°Ρ˜ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π°, Π΄Π΅Π»Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΏΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ ΠΏΠΎΠΌΠ°Π³Π°, Ρ‚.Π΅. Ρ€Π°Π·Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° масата. Ова Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π±Π°Ρ€Π°ΡšΠ° ΠΊΠΎΠΈ Π΄ΠΎΠ°Ρ“Π°Π°Ρ‚ Π΄ΠΎ сСкој Ρ€Π΅Π³ΠΈΠΎΠ½ ΠΈ Π°ΠΊΠΎ сС Π²ΠΊΠ»ΠΎΠΏΠ°Ρ‚ Π²ΠΎ ќСлија, ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΎΡ‚ останува Π΄ΠΎΠ±Π°Ρ€.

6. Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π° Π·Π° ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Π²ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ (Ρ€Π°Π·Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅)

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ HBase Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ со врСдност Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡˆΠΈ со ΠΊΠ»ΡƒΡ‡, исклучитСлно Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π΄Π° сС ΠΏΠΎΠ΄Π΅Π»Π°Ρ‚ Ρ€Π°ΠΌΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎ ситС Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π΅Π»Π±Π°Ρ‚Π° Π½Π° Ρ‚Π°ΠΊΠ²Π° Ρ‚Π°Π±Π΅Π»Π° Π½Π° Ρ‚Ρ€ΠΈ Π΄Π΅Π»Π° ќС Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ Ρ‚Ρ€ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Π΅ случува ΠΎΠ²Π° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°Π³Π»ΠΎ Π·Π°Π±Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π°ΠΊΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈ ΠΏΠΎΠ΄ΠΎΡ†Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ ΠΊΠ°ΠΊΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ»Π³ΠΈ врСдности, ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ Π½ΠΈΠ² ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Π°Ρ‚ со иста Ρ†ΠΈΡ„Ρ€Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

1000001
1000002
...
1100003

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ°Ρ‚Π° сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ ΠΊΠ°ΠΊΠΎ Π½ΠΈΠ·Π° Π±Π°Ρ˜Ρ‚ΠΈ, ситС Ρ‚ΠΈΠ΅ ќС Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ исто ΠΈ ќС ΠΏΡ€ΠΈΠΏΠ°Ρ“Π°Π°Ρ‚ Π½Π° истиот Ρ€Π΅Π³ΠΈΠΎΠ½ #1 ΡˆΡ‚ΠΎ Π³ΠΎ складира овој опсСг Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ. ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ стратСгии Π·Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅:

HexStringSplit – Π“ΠΎ ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π° ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ Π²ΠΎ хСксадСцимална ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π° Π½ΠΈΠ·Π° Π²ΠΎ опсСгот β€ž00000000β€œ => β€žFFFFFFFFβ€œ ΠΈ Π»Π΅Π²ΠΎ Π³ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π° со Π½ΡƒΠ»ΠΈ.

UniformSplit – Π“ΠΎ ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π° ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ Π²ΠΎ Π½ΠΈΠ·Π° ΠΎΠ΄ Π±Π°Ρ˜Ρ‚ΠΈ со хСксадСцимално ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ опсСгот β€ž00β€œ => β€žFFβ€œ ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° дСсната страна со Π½ΡƒΠ»ΠΈ.

ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ кој Π±ΠΈΠ»ΠΎ опсСг ΠΈΠ»ΠΈ Π·Π±ΠΈΡ€ Π½Π° ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° Π·Π° Ρ€Π°Π·Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ автоматското Ρ€Π°Π·Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅. Π‘Π΅ΠΏΠ°ΠΊ, Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΡ‚Π΅ ΠΈ Π½Π°Ρ˜Π΅Ρ„ΠΈΠΊΠ°ΡΠ½ΠΈΡ‚Π΅ пристапи Π΅ UniformSplit ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° Ρ…Π°Ρˆ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ˜Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Ρ˜Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΈΠΎΡ‚ ΠΏΠ°Ρ€ Π±Π°Ρ˜Ρ‚ΠΈ ΠΎΠ΄ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ ΠΏΡ€Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° CRC32 (rowkey) ΠΈ самиот ΠΊΠ»ΡƒΡ‡:

Ρ…Π°Ρˆ + Ρ€Π΅Π΄ΠΈΡ†Π°

Вогаш ситС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ Ρ€Π°ΠΌΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распорСдСни Π½ΠΈΠ· Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈΡ‚Π΅. ΠŸΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅, ΠΏΡ€Π²ΠΈΡ‚Π΅ Π΄Π²Π° Π±Π°Ρ˜Ρ‚Π° Сдноставно сС ΠΎΡ‚Ρ„Ρ€Π»Π°Π°Ρ‚ ΠΈ останува ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡. RS исто Ρ‚Π°ΠΊΠ° Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° количСството ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π²ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΡ‚ ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ сС Π½Π°Π΄ΠΌΠΈΠ½Π°Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅, автоматски Π³ΠΎ Π΄Π΅Π»ΠΈ Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ.

7. Π’ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ само Π΅Π΄Π΅Π½ Ρ€Π΅Π³ΠΈΠΎΠ½ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° сСкој сСт Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΏΠ°Π΄ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° RS Π΅ Π΄Π° сС складираат ситС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ HDFS. Кога Π Π‘ ΠΏΠ°Ρ“Π°, ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΎΡ‚ Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° ΠΎΠ²Π° ΠΏΡ€Π΅ΠΊΡƒ отсуство Π½Π° ΠΎΡ‚Ρ‡ΡƒΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° срцСто Π½Π° Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ ZooKeeper. ΠŸΠΎΡ‚ΠΎΠ° Π³ΠΎ Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π° опслуТСниот Ρ€Π΅Π³ΠΈΠΎΠ½ Π½Π° Π΄Ρ€ΡƒΠ³ RS ΠΈ бидСјќи HFiles сС Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ дистрибуиран Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм, Π½ΠΎΠ²ΠΈΠΎΡ‚ сопствСник Π³ΠΈ Ρ‡ΠΈΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π° Π΄Π° Π³ΠΈ опслуТува ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, бидСјќи Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ сС Π²ΠΎ MemStore ΠΈ Π½Π΅ΠΌΠ°Π»Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Π²Π»Π΅Π·Π°Ρ‚ Π²ΠΎ HFiles, WAL, кој исто Ρ‚Π°ΠΊΠ° Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½ Π²ΠΎ HDFS, сС користи Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅. ΠžΡ‚ΠΊΠ°ΠΊΠΎ ќС сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, RS ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π°, Π½ΠΎ ΠΏΠΎΡ‚Π΅Π³ΠΎΡ‚ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΈ процСситС ΡˆΡ‚ΠΎ Π³ΠΈ сСрвисираат Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ јазли, Ρ‚.Π΅. Π»ΠΎΠΊΠ°Π»ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°.

Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ Π³ΠΎΠ»Π΅ΠΌΠΎ набивањС - ΠΎΠ²Π°Π° постапка Π³ΠΈ прСмСстува Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π²ΠΎ ΠΎΠ½ΠΈΠ΅ јазли ΠΊΠΎΠΈ сС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° Π½ΠΈΠ² (ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сС Π½Π°ΠΎΡ“Π°Π°Ρ‚ Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ), ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΡˆΡ‚ΠΎ Π²ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΎΠ²Π°Π° постапка ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ дисковитС Π½Π°Π³Π»ΠΎ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, пристапот Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π±Ρ€Π·Π°Π½. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, major_compaction Π²Ρ€ΡˆΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° ситС HFiles Π²ΠΎ Π΅Π΄Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΡ‚, Π° исто Ρ‚Π°ΠΊΠ° Π³ΠΈ чисти ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ зависност ΠΎΠ΄ поставкитС Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚Π΅ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΌΠΎΡ€Π° Π΄Π° сС Π·Π°Π΄Ρ€ΠΆΠΈ ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈΠΎΡ‚ Π²Π΅ΠΊ послС кој ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ сС Π±Ρ€ΠΈΡˆΠ΅.

Оваа постапка ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½ΠΎ влијаниС Π²Ρ€Π· Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° HBase. Π‘Π»ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ пСрформанситС сС Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€Π°Π½ΠΈ ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ снимањС Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ 40 нишки ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π° Π΅Π΄Π½Π° Ρ‚Π°Π±Π΅Π»Π° ΠΈ 40 нишки истоврСмСно Ρ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠΠΈΡˆΠΊΠΈΡ‚Π΅ Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚ сè повСќС HFiles, ΠΊΠΎΠΈ сС Ρ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ нишки. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, сС повСќС ΠΈ повСќС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС отстранат ΠΎΠ΄ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ GC ΠΏΠΎΡ‡Π½ΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΡˆΡ‚ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ ја ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ†Π΅Π»Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π›Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΎΡ‚ΠΎ набивањС Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Ρ€Π°ΡΡ‡ΠΈΡΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡ‚Π΅ остатоци ΠΈ Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° продуктивноста.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
ВСстот бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ Π½Π° 3 DataNodes ΠΈ 4 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки). HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2

Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° Π³ΠΎΠ»Π΅ΠΌΠΎΡ‚ΠΎ набивањС бСшС лансирано Π½Π° β€žΠΆΠΈΠ²Π°β€œ Ρ‚Π°Π±Π΅Π»Π°, Π²ΠΎ која ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π±Π΅Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°Π½ΠΈ ΠΈ Ρ‡ΠΈΡ‚Π°Π½ΠΈ. На ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ имашС изјава Π΄Π΅ΠΊΠ° Ρ‚ΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅Ρ‚ΠΎΡ‡Π΅Π½ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΏΡ€ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π—Π° Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ, Π·Π°ΠΏΠΎΡ‡Π½Π° процСс кој Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π³ΠΈ запиша Π½Π° Ρ‚Π°Π±Π΅Π»Π°. По ΡˆΡ‚ΠΎ вСднаш ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² Π΄Π°Π»ΠΈ Π΄ΠΎΠ±ΠΈΠ΅Π½Π°Ρ‚Π° врСдност сС совпаѓа со Π·Π°ΠΏΠΈΡˆΠ°Π½ΠΎΡ‚ΠΎ. Π”ΠΎΠ΄Π΅ΠΊΠ° Ρ‚Ρ€Π°Π΅ΡˆΠ΅ овој процСс, бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΎ набивањС ΠΎΠΊΠΎΠ»Ρƒ 200 ΠΏΠ°Ρ‚ΠΈ ΠΈ Π½Π΅ бСшС Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π½ Π½ΠΈΡ‚Ρƒ Π΅Π΄Π΅Π½ Π΄Π΅Ρ„Π΅ΠΊΡ‚. МоТСби ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° Ρ€Π΅Ρ‚ΠΊΠΎ ΠΈ само ΠΏΡ€ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅, ΠΏΠ° Π·Π°Ρ‚ΠΎΠ° Π΅ ΠΏΠΎΠ±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° сС Π·Π°ΠΏΡ€Π°Ρ‚ процСситС Π½Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ ΠΈ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ Π·Π° Π΄Π° сС спрСчат Π²Π°ΠΊΠ²ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ° Π½Π° GC.

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, Π³ΠΎΠ»Π΅ΠΌΠΎΡ‚ΠΎ набивањС Π½Π΅ влијаС Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° MemStore; Π·Π° Π΄Π° Π³ΠΎ ставитС Π½Π° дискот ΠΈ Π΄Π° Π³ΠΎ Π½Π°Π±ΠΈΠ΅Ρ‚Π΅, Ρ‚Ρ€Π΅Π±Π° Π΄Π° користитС flush (connection.getAdmin().flush(TableName.valueOf(tblName))).

8. ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈ ΠΈ пСрформанси

Како ΡˆΡ‚ΠΎ вСќС спомСнавмС, HBase Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΡΠ²ΠΎΡ˜ΠΎΡ‚ најголСм успСх Ρ‚Π°ΠΌΡƒ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π½ΠΈΡˆΡ‚ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈ, ΠΏΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° BulkLoad. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° сС однСсува Π½Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ систСми ΠΈ Π»ΡƒΡ“Π΅. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π°Π° Π°Π»Π°Ρ‚ΠΊΠ° Π΅ посоодвСтна Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΎ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π°ΠΊΠΎ процСсот Π±Π°Ρ€Π° повСќС ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈ Π±Π°Ρ€Π°ΡšΠ° Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, сС користат ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Get ΠΈ Put опишани ΠΏΠΎΠ³ΠΎΡ€Π΅. Π—Π° Π΄Π° сС ΡƒΡ‚Π²Ρ€Π΄Π°Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ поставки Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°:

  • 10 нишки Π±Π΅Π° лансирани истоврСмСно 3 ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎ Ρ€Π΅Π΄ (ајдС Π΄Π° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ ΠΎΠ²Π° Π±Π»ΠΎΠΊ ΠΎΠ΄ нишки).
  • Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ситС нишки Π²ΠΎ Π±Π»ΠΎΠΊΠΎΡ‚ бСшС просСчно ΠΈ бСшС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΈΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚.
  • Π‘ΠΈΡ‚Π΅ нишки Ρ€Π°Π±ΠΎΡ‚Π΅Π° со иста Ρ‚Π°Π±Π΅Π»Π°.
  • ΠŸΡ€Π΅Π΄ сСкој ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ Π½Π° ΠΊΠΎΠ½Π΅Ρ†ΠΎΡ‚, сС Π²Ρ€ΡˆΠ΅ΡˆΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΎ набивањС.
  • БСкој Π±Π»ΠΎΠΊ ΠΈΠ·Π²Ρ€ΡˆΠΈ само Π΅Π΄Π½Π° ΠΎΠ΄ слСднитС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

- Π‘Ρ‚Π°Π²ΠΈ
β€” Π—Π΅ΠΌΠΈ
β€” Π—Π΅ΠΌΠΈ + Π‘Ρ‚Π°Π²ΠΈ

  • БСкој Π±Π»ΠΎΠΊ ΠΈΠ·Π²Ρ€ΡˆΠΈ 50 ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°ΡšΠ° Π½Π° ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°.
  • Π“ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ Π½Π° записот Π΅ 100 Π±Π°Ρ˜Ρ‚ΠΈ, 1000 Π±Π°Ρ˜Ρ‚ΠΈ ΠΈΠ»ΠΈ 10000 Π±Π°Ρ˜Ρ‚ΠΈ (ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΎ).
  • Π‘Π»ΠΎΠΊΠΎΠ²ΠΈΡ‚Π΅ Π±Π΅Π° лансирани со Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΡ˜ Π±Π°Ρ€Π°Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ (ΠΈΠ»ΠΈ Π΅Π΄Π΅Π½ ΠΊΠ»ΡƒΡ‡ ΠΈΠ»ΠΈ 10).
  • Π‘Π»ΠΎΠΊΠΎΠ²ΠΈΡ‚Π΅ Π±Π΅Π° Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ поставки Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°. ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈ сС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅:

β€” BlockCache = Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ»ΠΈ исклучСн
β€” BlockSize = 65 KB ΠΈΠ»ΠΈ 16 KB
- ΠŸΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ = 1, 5 ΠΈΠ»ΠΈ 30
β€” MSLAB = ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ

Π—Π½Π°Ρ‡ΠΈ, Π±Π»ΠΎΠΊΠΎΡ‚ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:

Π°. Π Π΅ΠΆΠΈΠΌΠΎΡ‚ MSLAB бСшС Π²ΠΊΠ»ΡƒΡ‡Π΅Π½/исклучСн.
Π±. Π‘ΠΎΠ·Π΄Π°Π΄Π΅Π½Π° Π΅ Ρ‚Π°Π±Π΅Π»Π° Π·Π° која Π±Π΅Π° поставСни слСднитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ: BlockCache = Ρ‚ΠΎΡ‡Π½ΠΎ/Π½Π΅ΠΌΠ°, BlockSize = 65/16 Kb, ПодСлба = 1/5/30.
Π². ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°Ρ‚Π° бСшС поставСна Π½Π° GZ.
Π³. Π‘Π΅Π° лансирани 10 нишки истоврСмСно ΠΏΡ€Π°Π²Π΅Ρ˜ΡœΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 1/10 put/get/get+put Π²ΠΎ ΠΎΠ²Π°Π° Ρ‚Π°Π±Π΅Π»Π° со записи ΠΎΠ΄ 100/1000/10000 Π±Π°Ρ˜Ρ‚ΠΈ, ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ 50 ΠΏΡ€Π°ΡˆΠ°ΡšΠ° ΠΏΠΎ Ρ€Π΅Π΄ (ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ°).
Π΄. Π’ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π³ сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π° Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ‚ΠΈ.
Ρ“. Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ситС нишки бСшС просСчно.

Π‘ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π±Π΅Π° тСстирани. ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄Π»ΠΈΠ²ΠΎ Π΅ Π΄Π΅ΠΊΠ° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° ќС сС Π½Π°ΠΌΠ°Π»ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΡ‚ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠ° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ќС ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π·Π°Π±Π°Π²ΡƒΠ²Π°ΡšΠ΅. Π‘Π΅ΠΏΠ°ΠΊ, Ρ†Π΅Π»Ρ‚Π° бСшС Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ стСпСнот ΠΈ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎΡΡ‚Π° Π½Π° Π²Π»ΠΈΡ˜Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° сСкој ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ собранитС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π±Π΅Π° внСсСни Π²ΠΎ Π²Π»Π΅Π·ΠΎΡ‚ Π½Π° Π»ΠΈΠ½Π΅Π°Ρ€Π½Π° рСгрСсивна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° сС ΠΏΡ€ΠΎΡ†Π΅Π½ΠΈ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎΡΡ‚Π° со помош Π½Π° t-статистички ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Put. ЦСлосСн сСт Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ 2*2*3*2*3 = 144 ΠΎΠΏΡ†ΠΈΠΈ + 72 tk. Π½Π΅ΠΊΠΎΠΈ Π±Π΅Π° Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π΄Π²Π°ΠΏΠ°Ρ‚ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ°, ΠΈΠΌΠ° Π²ΠΊΡƒΠΏΠ½ΠΎ 216 Ρ‚Ρ€ΠΊΠΈ:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π’Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ бСшС спровСдСно Π½Π° ΠΌΠΈΠ½ΠΈ-кластСр составСн ΠΎΠ΄ 3 DataNodes ΠΈ 4 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки). HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2.

ΠΠ°Ρ˜Π²ΠΈΡΠΎΠΊΠ°Ρ‚Π° Π±Ρ€Π·ΠΈΠ½Π° Π½Π° Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ 3.7 сСкунди Π΅ Π΄ΠΎΠ±ΠΈΠ΅Π½Π° со исклучСн Ρ€Π΅ΠΆΠΈΠΌ MSLAB, Π½Π° маса со Π΅Π΄Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π°, со Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ BlockCache, BlockSize = 16, записи ΠΎΠ΄ 100 Π±Π°Ρ˜Ρ‚ΠΈ, 10 ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ° ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚.
ΠΠ°Ρ˜Π½ΠΈΡΠΊΠ°Ρ‚Π° Π±Ρ€Π·ΠΈΠ½Π° Π½Π° Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ 82.8 сСкунди Π΅ Π΄ΠΎΠ±ΠΈΠ΅Π½Π° со ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ MSLAB, Π½Π° Ρ‚Π°Π±Π΅Π»Π° со Π΅Π΄Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π°, со Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ BlockCache, BlockSize = 16, записи ΠΎΠ΄ 10000 Π±Π°Ρ˜Ρ‚ΠΈ, ΠΏΠΎ 1.

Π‘Π΅Π³Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚. Π“ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄ΠΎΠ±Ρ€ΠΈΠΎΡ‚ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° R2, Π½ΠΎ апсолутно Π΅ јасно Π΄Π΅ΠΊΠ° Π΅ΠΊΡΡ‚Ρ€Π°ΠΏΠΎΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΈΠ½Π΄ΠΈΡ†ΠΈΡ€Π°Π½Π° ΠΎΠ²Π΄Π΅. Вистинското ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° систСмот ΠΊΠΎΠ³Π° сС ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π»ΠΈΠ½Π΅Π°Ρ€Π½ΠΎ; овој ΠΌΠΎΠ΄Π΅Π» Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ Π·Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΡƒΠ²Π°ΡšΠ°, Ρ‚ΡƒΠΊΡƒ Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ сС случило Π²ΠΎ Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ²Π΄Π΅ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΠ΄ студСнтскиот ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡƒΠΌ Π΄Π΅ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ BlockSize ΠΈ BlockCache Π½Π΅ сС Π²Π°ΠΆΠ½ΠΈ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Put (која Π΅ Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ сосСма ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π»ΠΈΠ²Π°):

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Но, Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π΄ΠΎΠ²Π΅Π΄ΡƒΠ²Π° Π΄ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС Π΅ Π½Π΅ΡˆΡ‚ΠΎ Π½Π΅ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎ (вСќС Π³ΠΎ Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ влијаниС ΠΎΠ΄ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ со BulkLoad), ΠΈΠ°ΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π»ΠΈΠ²ΠΎ. ΠŸΡ€Π²ΠΎ, Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° Π΄ΠΎ 30 Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ намСсто Π΅Π΄Π΅Π½, Π° ΠΎΠ±Π΅ΠΌΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π΅ Π΅ Ρ‚Π°ΠΊΠΎΠ² ΡˆΡ‚ΠΎ Ρ‚ΠΎΠ° ќС донСсС Π΄ΠΎΠ±ΠΈΠ²ΠΊΠ°. Π’Ρ‚ΠΎΡ€ΠΎ, Π²ΠΊΡƒΠΏΠ½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° сС ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° ΠΎΠ΄ Π½Π°Ρ˜Π±Π°Π²Π½ΠΈΠΎΡ‚ RS, ΠΈ бидСјќи Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° DataNodes Π΅ ΠΏΠΎΠΌΠ°Π» ΠΎΠ΄ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° RS, Π½Π΅ΠΊΠΎΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ ΠΈΠΌΠ°Π°Ρ‚ Π½ΡƒΠ»Π° Π»ΠΎΠΊΠ°Π»ΠΈΡ‚Π΅Ρ‚. Па, Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΏΡ€Π²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ‚:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Π΅Π³Π° Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½ΠΈΠΌΠ΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈΡ‚Π΅ Get:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ ΠΈΠ·Π³ΡƒΠ±ΠΈ Π·Π½Π°Ρ‡Π΅ΡšΠ΅, ΡˆΡ‚ΠΎ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ сС ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π° со Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ сС Π΄ΠΎΠ±Ρ€ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ, Π° ΠΊΠ΅ΡˆΠΎΡ‚ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π΅ Π½Π°Ρ˜Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΈΠΎΡ‚ (статистички) ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€. Π‘Π΅ΠΊΠ°ΠΊΠΎ, Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π²ΠΎ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ исто Ρ‚Π°ΠΊΠ° ΠΌΠ½ΠΎΠ³Ρƒ корисно Π·Π° пСрформанситС. ΠΠ°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Па, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π½Π° Π±Π»ΠΎΠΊΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΏΡ€Π²ΠΎ Π³ΠΎ ΠΈΠ·Π²Π΅Π΄Π΅, Π° ΠΏΠΎΡ‚ΠΎΠ° стави:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ сС Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΈ ΠΎΠ²Π΄Π΅. И Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Π»ΠΈΠ΄Π΅Ρ€ΠΈΡ‚Π΅:

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase

9. Π’Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅

Па, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ќС лансирамС повСќС ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΏΡ€ΠΈΡΡ‚ΠΎΡ˜Π½ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅, Π½ΠΎ сСкогаш Π΅ поинтСрСсно ΠΊΠΎΠ³Π° ΠΈΠΌΠ°Ρ‚Π΅ со ΡˆΡ‚ΠΎ Π΄Π° сС спорСдитС. На Π²Π΅Π±-страницата Π½Π° DataStax, ΠΊΠ»ΡƒΡ‡Π½ΠΈΠΎΡ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ Π½Π° Cassandra, постои НаодитС NT Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° NoSQL, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ ја Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° HBase 0.98.6-1. Π’Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ ΠΎΠ΄ 40 нишки, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ 100 Π±Π°Ρ˜Ρ‚ΠΈ, SSD дискови. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ΠΎΠ΄ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Read-Modify-Write Π³ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° слСднитС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
ΠšΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ Ρ€Π°Π·Π±Ρ€Π°Π², Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ΠΎ Π²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 100 записи ΠΈ Π·Π° 16 HBase јазли, тСстот DataStax ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΈΠ·Π²Π΅Π΄Π±Π° ΠΎΠ΄ 10 илјади ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ сСкунда.

Π‘Ρ€Π΅ΡœΠ° ΡˆΡ‚ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ кластСр ΠΈΠΌΠ° ΠΈ 16 јазли, Π½ΠΎ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ β€žΡΡ€Π΅ΡœΠ°β€œ ΡˆΡ‚ΠΎ сСкоС ΠΈΠΌΠ° 64 Ρ˜Π°Π΄Ρ€Π° (нишки), Π΄ΠΎΠ΄Π΅ΠΊΠ° Π²ΠΎ тСстот DataStax ΠΈΠΌΠ° само 4. Од Π΄Ρ€ΡƒΠ³Π° страна, Ρ‚ΠΈΠ΅ ΠΈΠΌΠ°Π°Ρ‚ SSD дискови, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ HDD ΠΈΠ»ΠΈ повСќС, Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° HBase ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° процСсорот ΠΏΡ€ΠΈ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π½Π΅ сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ (Π²ΠΈΠ·ΡƒΠ΅Π»Π½ΠΎ Π·Π° 5-10 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈ). Π‘Π΅ΠΏΠ°ΠΊ, Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ Π΄Π° ја користимС ΠΎΠ²Π°Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΈΡ‚Π΅ поставки Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°, Ρ‡ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡˆΠΈ Π²ΠΎ опсСгот Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΎΠ΄ 0 Π΄ΠΎ 50 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠΎ случаСн ΠΈΠ·Π±ΠΎΡ€ (Ρ‚.Π΅., Π²ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° Π½ΠΎΠ²ΠΎ сСкој ΠΏΠ°Ρ‚). Π’Π°Π±Π΅Π»Π°Ρ‚Π° содрТи 50 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ записи, ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π½Π° 64 ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ. ΠšΠΎΠΏΡ‡ΠΈΡšΠ°Ρ‚Π° сС Ρ…Π°ΡˆΠΈΡ€Π°Π°Ρ‚ со помош Π½Π° crc32. ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈΡ‚Π΅ Π·Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° сС стандардни, MSLAB Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. Π‘Ρ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜ΡœΠΈ 40 нишки, сСкоја нишка Ρ‡ΠΈΡ‚Π° сСт ΠΎΠ΄ 100 ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ вСднаш Π³ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ 100 Π±Π°Ρ˜Ρ‚ΠΈ Π½Π°Π·Π°Π΄ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Ρ‚Π΅Π½Π΄: 16 DataNode ΠΈ 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки). HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2.

ΠŸΡ€ΠΎΡΠ΅Ρ‡Π½ΠΈΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π΅ поблиску Π΄ΠΎ 40 илјади ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ сСкунда, ΡˆΡ‚ΠΎ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ Π²ΠΎ тСстот DataStax. Π‘Π΅ΠΏΠ°ΠΊ, Π·Π° СкспСримСнтални Ρ†Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Π»ΠΊΡƒ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ условитС. ΠœΠ°Π»ΠΊΡƒ Π΅ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Ρ†Π΅Π»Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΄Π° сС Π²Ρ€ΡˆΠΈ исклучиво Π½Π° Π΅Π΄Π½Π° маса, Π° исто Ρ‚Π°ΠΊΠ° само Π½Π° ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ. Π”Π° прСтпоставимС Π΄Π΅ΠΊΠ° постои ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ β€žΠΆΠ΅ΠΆΠΎΠΊβ€œ сСт Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΡˆΡ‚ΠΎ Π³ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ Ρ‚ΠΎΠ²Π°Ρ€. Π—Π°Ρ‚ΠΎΠ°, Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° создадСмС ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ со ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ записи (10 KB), исто Ρ‚Π°ΠΊΠ° Π²ΠΎ сСрии ΠΎΠ΄ 100, Π²ΠΎ 4 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° опсСгот Π½Π° Π±Π°Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π½Π° 50 илјади. Π“Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° 40 нишки, сСкоја нишка Ρ‡ΠΈΡ‚Π° Π·Π±ΠΈΡ€ ΠΎΠ΄ 100 ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° ΠΈ вСднаш Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° ΠΏΠΎ случаСн ΠΈΠ·Π±ΠΎΡ€ 10 KB Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° Π½Π°Π·Π°Π΄.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Ρ‚Π΅Π½Π΄: 16 DataNode ΠΈ 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки). HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2.

Π—Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠ°Ρ‚ΠΈ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡˆΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΎ набивањС, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΏΠΎΠ³ΠΎΡ€Π΅, Π±Π΅Π· ΠΎΠ²Π°Π° постапка, пСрформанситС постСпСно ќС сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°Π°Ρ‚, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ сС Ρ˜Π°Π²ΡƒΠ²Π° ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. ΠŸΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ°Ρ‚Π° сС ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. ПонСкогаш Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°Π° со Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ имашС ΠΏΠ°ΡƒΠ·Π° Π΄ΠΎΠ΄Π΅ΠΊΠ° сС рСстартираа, понСкогаш Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни создаваа ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° кластСрот.

Π§ΠΈΡ‚Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ вСднаш ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π΅ Π΅Π΄Π½ΠΎ ΠΎΠ΄ Π½Π°Ρ˜Ρ‚Π΅ΡˆΠΊΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π° Π·Π° HBase. Ако ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ само ΠΌΠ°Π»ΠΈ Π±Π°Ρ€Π°ΡšΠ° Π·Π° ΡΡ‚Π°Π²Π°ΡšΠ΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 100 Π±Π°Ρ˜Ρ‚ΠΈ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ˜ΡœΠΈ Π³ΠΈ Π²ΠΎ ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ° ΠΎΠ΄ 10-50 илјади ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ стотици илјади ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ сСкунда, Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ слична со Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅. Π’Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ сС Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ DataStax, Π½Π°Ρ˜ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΡ€Π°Π΄ΠΈ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 50 илјади.

Π’Π΅ΠΎΡ€ΠΈΡ˜Π° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° HBase
Π‘Ρ‚Π΅Π½Π΄: 16 DataNode ΠΈ 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 нишки). HBase Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.2.0-cdh5.14.2.

10. Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ

Овој систСм Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ флСксибилно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½, Π½ΠΎ Π²Π»ΠΈΡ˜Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ сè ΡƒΡˆΡ‚Π΅ останува Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΎ. НСкои ΠΎΠ΄ Π½ΠΈΠ² Π±Π΅Π° тСстирани, Π½ΠΎ Π½Π΅ Π±Π΅Π° Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ Π²ΠΎ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ‚ тСст сСт. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π΅Π»ΠΈΠΌΠΈΠ½Π°Ρ€Π½ΠΈΡ‚Π΅ СкспСримСнти ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π½Π°Ρ‡Π΅ΡšΠ΅ Π½Π° Ρ‚Π°ΠΊΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΊΠ°ΠΊΠΎ DATA_BLOCK_ENCODING, кој Π³ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ врСдности ΠΎΠ΄ сосСднитС ќСлии, ΡˆΡ‚ΠΎ Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π»ΠΈΠ²ΠΎ Π·Π° ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Ако користитС Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ, Π΄ΠΎΠ±ΠΈΠ²ΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½Π°. Π“Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° HBase Π΄Π°Π²Π° Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π½Π° ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ сСриозна ΠΈ Π΄ΠΎΠ±Ρ€ΠΎ осмислСна Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, која ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ доста ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π³ΠΎΠ»Π΅ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ОсобСно Π°ΠΊΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° сС Ρ€Π°Π·Π΄Π΅Π»Π°Ρ‚ процСситС Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅.

Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ ΠΈΠΌΠ° Π½Π΅ΡˆΡ‚ΠΎ спорСд Π²Π°ΡˆΠ΅Ρ‚ΠΎ мислСњС ΡˆΡ‚ΠΎ Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΎΠ±Π΅Π»ΠΎΠ΄Π΅Π½Π΅Ρ‚ΠΎ, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ сум Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ. Π’Π΅ ΠΏΠΎΠΊΠ°Π½ΡƒΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ сподСлитС Π²Π°ΡˆΠ΅Ρ‚ΠΎ искуство ΠΈΠ»ΠΈ Π΄Π° Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Ρ‚Π΅ Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π½Π΅ сС согласуватС со Π½Π΅ΡˆΡ‚ΠΎ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² хостинг Π·Π° ΡΠ°Ρ˜Ρ‚ΠΎΠ²ΠΈ со DDoS Π·Π°ΡˆΡ‚ΠΈΡ‚Π°, VPS VDS сСрвСри πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ сигурСн Π²Π΅Π±-хостинг со DDoS Π·Π°ΡˆΡ‚ΠΈΡ‚Π°, VPS VDS сСрвСри | ProHoster