ááá˘áŤ
"á áŚáłá áááá¨áľ á ááľá˝áá ááĽááľ ááŽáĽ á ááĽá
á˘
áĽá á¨áá áŚáł áááľá¨áľ á˘áŤááľ áááľ áá á ááĽááľ ááŽáĽ á ááĽááľ!â
(á) á ááľ á ááá°ááááľ
á¨á°áá°á áá á ááľ áľáá
ááľ áĽááľá°áĽ á°á á¨á
áŠá˘ á°ááłáá˝ áŠáŁááŤá˝á á¨ááἠáá´áá˝á á ááá°á áááľ áá ᣠááááŤáąá á ááŽáááśá˝ áá áá¨á
á áá (á ááłááľ áá ááĽá áááłáľ) áááἠá IT á´áááááá˝ ááá ááľáĽ á ááŞáŤá˝á áá áĽá¨áá áĽááłá áĽááŁáá ᢠá áĽá áŠáŁá፠ááľáĽ (áĽáá˛áŤáá áĽáá˛á áá) áĽá ááŽáááśá˝ ᨠNoSQL á¨ááἠááłáá˝á á áá ááá (á˘áŤááľ áá áá) áľááá
á áľáá
áá´ ááľáĽ ᨠHBase ááłáá á áá áá ááĽááą á¨á°áᨠáľáŠá¨áľ á°áĽáťá¸ááá áĽá á¨ááłááľá á ááŤá¨áĽ ááĽáá፠ááá
ááľ áá¨áአᢠá ááŤá˝ áŤáá°á áááŁá¸á á áá°áá. á á°ááá á¨á ááŤáł á ááłáľ á ááľ áŤáá áĽáŠáľá ááłá á áá áá á ááłááľ á¨ááἠáá´á ááľá áŁá
áŞáŤáľá á áłááťáá
á á ááĄáŁ âá¨ááá ááá ááŞâ á¨áááá áĽáŤá áĽáŤá´á á á¨á አ(á áłáŤáá˛á ááľáĽ áŤáá á¨áĽá á¨áááŚáľ áá¨á¨áť á áłáá áĽááľ á á°áá ááá á áá áá) á¨ááľá ááłáŁá áľááśá˝ á¨á°ááŁá áá áá áŤá á ááááłá? á áĽááṠᣠá¨áá á˝áá ááłáĽ á¨á°ááá°á á áá ááááľ ááᢠá¨NoSQL áá ááĽá áááľ á˛á°áŤ á¨áᨠááᢠá¨áą ááá á á˛áľ ááá áááá áá˝áá (áĽá áľááá áá˛áŤáá ááášá ááŁáĽá áááá áá˝ááá˘) áá á á°ááłáá˝á¨ NoSQL áá á á áá áľ ááá áŠáľ, á HBase á¨ááἠáá´áá˝á á¨ááá°á áŁá áŞáŤáľá áá á¨áłá áááᤠáááááľ á áá áááá áĽáŹ á áľáŁáá.
ááłá áľáá°á
á áĽá á áľá°áŤá¨áľ ᨠNoSQL á¨ááἠááłáá˝á áá áá á¨ááááá á ááľ á áĽááá áá°áĽ áĽá áĽá áášá áĽá ááłáśášá ááááá áŤáľáááááłá. áĽááá áá á˝áአá á°áááˇá DBMSs á áá áá áááł áá˝ááᢠáľááá , áŤá ááá ááááŤáśá˝ NoSQL á á ááá áá á¨á°áťá áá. ááá ᨠNoSQL áłáłá¤á ááá áá á¨áá°áᣠáĽáá áŤááľ á¨ááľá á ááŤá¨áŚá˝ á á°áá°á ááአá¨á°ááŤáŠ áááá¸áá áááľ ááľáĽ ááľááŁáľ á ááĽááľá˘ á á°ááá á ááłááśáš á¨áá áá°á á°ááá á˛á˘á¤áá¤áľá áĽáť ááľá°áááą (áĽáá° áĽá ááá¨áł) áŤáá°áááą ááá áá˝ááᢠáľááá , á "áááááľ" ááá ááľáĽ, áĽááá áá á¨á˝ááŠá á፠á áá á¨á˝ áĽááááŤáá, áĽá á¨á፠á áá, á áľááá á¨áá, áá´áá áá°á á áŤáľáááľ. á NoSQL ááľáĽ áĽá á¨áá¨á áá á áĽáŽ áááľáŤáľ á¨áá á á áááłáá˝á áá˛áŤáá áááľ ááľáĽ ááľááŁáľ á áá áľá˘ áĽá ááááŞáŤ áá áá¨ááá áá°á á áŤáľáááľá˘ á á°á¨ááŞá, ááá˝ á ááŤáł ááŠááśá˝ á á, á¨áá á áłá˝ ááĽáŤáŤá.
ááľáŤáłá˝áá á¨ááááĽáá áľá á¨áá¨á°ááá âá°á á°áŤá˝â á˝ááá áĽáááá¨áľáĄ-
áá ááłááľ á¨áá áá á áŤá á ááłá¨ áá¨áŚá˝ á°á áááá˝ áá°áá˝ áááá á¨áá¨ááť ááá á ááá°á á áľááá áá. ááááá ááá áááááśáťá˝á á¨ááአáá¸á áĽáá áĽááááłáá (á á˘ááľáłááŤá áá áĽááłá áĽáá Linkedin á áá°áá)ᢠá áááአáá¤áłá á áá ááááľ áĽáá˛á°áŠ ááááľ á áá áľáĄ-
- á°á áá A á°á áá B áŤáἠáĽáá°áá (á¨ááŁáĽ áľááá° áĽááľ) á¨áááá áĽáŤá ááááą
- á¨á°á áá B (á¨ááἠááἠá áĽááľ) á¨á°á áá ááááŁ/á°áá áááľ áááᣠá˛áá¨áĽ áááááśá˝á áá¨á/ááľáááľ áááľ
áĽááἠáá, á˝ááŠá ááááłáľ áĽá á ááŤáŽá˝ á á. á áá°á á á¨áááááľ áłáłá¤á ááľáĽáŁ á ááá á¨áááááśá˝á á°áá á¨áĽ áĽáá°áŤáá (ááááŁáľá á¨á°á áá áĄáľáá áá¨áá¸áľ áŤááĽá ááááťáᥠá¤á°á°áĽáŁ áľáŤáŁ ááá°. áá áá âáá°áâ á¨ááŤáŤáľáľ) áĽá ááááťá¸áľá˘ á¨ááłá¨áť ááĽááľ á˘áá´ááśá˝á/áá¨áááá áá¨ááŤáᢠááááŁáľá á¨áá¨á¨áťá á á¨á´á áĽáá°áá áŤá ááá áááľáá
á¨á°á ááá áááŤ
áá°á_ááłáááŤ
áŤáł
ááľáŤá˘
áŤáł
áŚááŤ
á¨áá á ááᣠááá˝ááľ áĽá á¨á°áťá áááᤠáááááľáŁ á¨ááłáá፠ááá áľáá˝á áĽá ááááá˘
á HBase áááłáŁ áŤáá áĽááááááĄ-
- á¨á°áá á¨á áá á¨áĽ á
ááľ á¨ááŤáᣠáá¤áłá ááá ááťáá á ááá áĽáť
- á áĽáááą áá áá ááĽááá˝ á¨áłáá ᨠSQL áá ááá˝á ááĽáá°áá áŤá á¨ááἠááłáá˝ ááťá ááĽá ááłáĽ áá ᢠá á´áááŤáᣠá áĽáááĽáŁ á¨SQL áĽáŤáá á¨á°ááłáłáŠ Impala áá° HBase ᨠJoins áĽá á¨ááá˝ á ááááŽáá˝ áá ááá áá˝ááᣠáá áá áŤá á áá¤áłá áááá...
áľááá á¨á°á áá ááłáááŤáá áĽáá° ááá ááá áá áĽááá°áłááᢠáĽá âá¨áá°áá˝ ááłáááŤáá˝á á¨áľ áĽá áĽáá´áľ áá¨áá¸áľ?â á ááá áááľ áá á¨ááááŞáŤ ááłá¤ ááááŁáľ á á ááśá˝ ááľáĽ áĽááąá ááá¨áá¸áľ ááłáĽ. áá á áŁá ááá˝ áĽá "á¨áá " á ááŤá áĽáá°áá áŤá ááá áááľáá (áĽáá áŤá á ááŤá 1 (ááŁáŞ)áá°á¨á᪠ááŁááťáĄ-
RowKey
áááśá˝
áŤáł
1: ááľáŤ
2ᥠáŚááŤ
3ᥠáłáť
ááľáŤá˘
1: ááť
2ᥠáŤáłáŤ
áĽáá áĽáŤááłááą ááľáá á¨á ááľ á¨á ááłá¨ áá¨áĽ á°á áá áá ááááłáᢠáááśáš áľáá˝ á áá¸á: 1, 2, ... - áĽáá° áá°áá˝ áĽááľ, áĽá á¨áá°áá˝ ááłáááŤáá˝ á á ááśá˝ ááľáĽ ááááŁá. áĽáŤááłááą á¨áľá á¨á°ááŤá¨ á¨á ááśá˝ áĽááľ áĽáá°ááá¨á áἠááŁá á¨áááŁá ááłá ááᢠá¨áá áŁáá áĽáá áá áŁáá ááłá á ááľ á¨áľá áśáľáľ áááśá˝ (1 ᣠ2 áĽá 3) áŤááľ á˛áá ááá°áá á°áá áááľ (1 áĽá 2) áĽáť áá - áĽáá áĽá áŤáłá˝á á°ááá á¨ááἠááłáá˝ á¨áááľá ááᾠᨠHBase ááĽá¨áśá˝á á°á áááá˘
- á¨á ááśá˝á áľáĽáĽá á á°áááá á¨ááá¨á á˝ááł (áá°áá áŤáá -> á ááľ áá¨áአᣠáá°áá áŤáľáááą -> á ááľ áá°áá)
- á¨á°ááŤáŠ á¨áľáá˝ á¨á°ááŤáŠ á¨á ááľ áĽáá áŽá˝ áááŤá¸á áá˝ááá˘
á¨á°ááŁáŠ ááľáááśá˝ áá ááŁáŁáá á¨áĽáá ááá á áĽáááľá˝áĄ-
- á¨ááŁáĽ áááĽ: áŤáłáŤ ááŚá፠á°áá áááľ áááááĄá ááá¨áłáľáŁ ááááľ á ááĽá áááá ááľáá á ááá RowKey = "Vasya" áĽá á áĽááą ááľáĽ áŚááŤá "áĽáľá¨ááááá" áľá¨áľ á á ááľ áĽá´áśáš á°ááľáᢠááá á¨áááá áááśá˝ áĽá´áśá˝ á ááľáá áŚááŤá âá ááááâ áĽá áááąá á áá¸áľ ááááąá˘
- áááĽá áá¨áᥠáá°á áá¨á: áá°ááłáłá á°ááŁá á°áá ááááľ á ááĽá áááá ááľáá á¨áá°áášá á á áá ááĽá áááľááľ áááá RowKey = "Vasya" á áá áá. á¨á á˛áąá áá°á ááłáá፠áááťá á¨ááááááá á¨á ááľ ááĽá áááá°á áá á á ááá á¨áá°áá˝ áĽááľ áĽááááááá˘
- ááἠááá¨áᥠáá°áá áá°á¨á:
- ááááľ áŤáľáááá áááá ááľáá á ááá RowKey = "Vasya" áĽá á¨áá°á¨áá áá°á á¨á°áááá á áľá áááááľ á á ááśá˝ ááľáĽ áá°áá°á;
- á ááá á, áá°áá á¨á°á¨áá á áá, á ááĽáŤá¸á áá "ááá°áśá˝á" ááááááľ áááá ááἠáá° á ááľ á ááľ "ááá¨á" áŤáľááááá.
á âáááłá á á°ááŁá áâ á áŠá áá°áá á á¨ááŤáľáááá áĽááá
áľáá° áááŽá˝ áá áŤá
á áá¤áłá áĽáá°ááá áĽááááá
- á¨ááŁáĽ áááĽ: áááá ááľáá ááááľ áĽá á áá°áĄ ááľáĽ áŁááľ ááá áááśá˝ ááľáĽ ááľáá á áľááá áá. áá áááľ á¨ááŞáá˝ á¨áá°á áááľ á áááľ O(n) áááá áááľ ááá˘
- áááĽá áá¨áᥠáá°á áá¨á: á¨áá°áá˝á áĽááľ áááá°á á¨á¨áľá á ááśá˝á áá ááľáá áŤáľáááááłá áĽá á¨á፠á á˛áľ á ááľ => áŚ(n) áŤáľááĄá˘
- ááἠááá¨áᥠáá°áá áá°á¨á:
- á¨áá°áá áá á°ááłáłá - á áá°áĄ ááľáĽ áŤááľá áááá á ááśá˝ ááá áŤáľáááááłá => ጠ(n)
- áááśášá áŤáľáááą á áá "ááááłááľ" áŤáľááááá. áá
áá "á ááľ áá" á°ááŁáŤá áŤá°á¨á, á áá°áĄ ááľáĽ áĽáľá¨ (n-1) áľáŤáá˝ áŤáľáááááłá. áá áĽáá
áĽá á á°á¨á᪠á á°ááŁáŤáá ááá á¨á°áᨠá ááŤá¨áĽá áĽáá áááá ᣠáá
á áá°áá°á áŚááŹá˝áá˝ âá¨ááľáá-shiftâ á°ááŁáŤá áááá - áááľá ᣠááá ááá áá á¨ááŤááἠáá á áĽáą áá ááááᢠáá
áá áá (áŚ(2) áľáááá ááá) á¨áŚ(n) áá á˛ááťá¸á á˝á ááŁá áá˝ááᢠá ááŤá¨áĄ á¨áá
á áłá˝ áŁáá áľáĽá áá á°áááżáᥠá ááá áááĄá á¨âá¨áá¨á¨áťáâ á ááľ áá° ááŤáľááá°á ááᥠáĽááááĽáŁáá áĽá á¨áá¨á¨áťáá á ááľ áĽáá°ááááá˘
á á á áááᣠá ááá áááłáá˝ á¨O(n) á áľáááśá˛á áľááľ ááľáĽáľáĽááľ á ááá°ááá˘
áááá áááľ ááťáá áááá á¨áľá á¨áá¨á ááą ááľáĽ ááá ἠáĽááłááĽá áĽá á¨áśáľáą ááľáĽ á áááľ á ááŁááá˝ áááá á ááśá˝ ááľáĽ áááá áĽá á¨áá°ááá˝á á á ááá ááĽá áááľááľ áĽáá°áááἠá áľááľáá
á áľá°ááá
ááááᢠáľááá
, á¨áááťá¸áľ áá¨áŤ áĽáá°áááá áá á á¨áĽáŤááłááąá á¨á ááłá¨ áá¨áĽ á°á áá áá°áá˝ á á
áá ááĽá á¨ááŤá¨áὠᨠ"ááá á" á ááľ áá¨á áá˝áá. á áá
áááł, á¨áá°ááá˝á á á
áá ááĽá áááľááľ áááá á¨áľá ááá ἠá áá˝áá, áá á ááľ "ááá á" á ááľ áĽáť áŤááĽáĄ. ááá ááá áá¨áá á áá ááá áľ áá "ááá á" ááááá áááłáľ á¨ááĽááľá. áŤá˘ á°áťá˝áááᢠá ááŤá 2 (ááĽá)
RowKey
áááśá˝
áŤáł
1: ááľáŤ
2ᥠáŚááŤ
3ᥠáłáť
áá áŤáĄ 3
ááľáŤá˘
1: ááť
2ᥠáŤáłáŤ
áá áŤáĄ 2
á¨ááááŞáŤá á ááŤá áá á˛ááťá¸ááĄ-
- á¨ááŁáĽ áááĽ"áŤáľáŤ áŚááŤá áŤááĽáŁá?" áááá áĽáŤá áááľ áááááľ. ááá á áá°ááá á => ጠ(n)
- áááĽá áá¨áᥠáá°á áá¨á: á á˛áľ áá°á ááľááŁáľá ááá á áľááááá ᣠááááŤáąá á áá áááá ááľáá ááá ἠáĽá á á ááśáš áá áá°ááá á áŤáľááááá ᣠáá ᨠâááá áâ á áᾠᣠááá° áá áĽáť ááááľ áĽáá˝ááá ᢠá á˛áľ áá°á áááľááŁáľ áá˛áŤáá á¨á ááľ ááĽáŠá áááľá. áá áá° áŚ(1) áľááľ ááľáĽáľáĽááľ áĽáá˛áááľ áŤá°áááá˘
- ááἠááá¨áᥠáá°áá áá°á¨á: áá°áá áľáá°ááᣠáááĄá á ááľ áááľ áá° á፠"á ááááŠá áľ áá" ᨠI/O áľáŤáá˝á ááĽá áááááľ áá á á ááľ áá áá áĽáá˝áááᢠááá áá áá°á¨á áŤáá áľá áááááľ á á ááśá˝ ááľáĽ á¨ááľáá á áľáááááľ á ááá áááŤá ᣠáľááá => ââጠ(n)
- á áá á áŠá ᣠá áá áá¨áá á˛áŤááá áá áá âááá áâ á¨áááá á ááľ áááá á ááĽá ᣠáá áá á¨ááŤááἠáá áááľáłá ᣠáá á á áŚ-ááááśá˝ áááá ááľáĽ á˝á ááŁá áá˝áá á˘
á á á áááᣠá ááŤá 2 áľáá˝ á¨á°áťá áááľááᣠááá áá á¨á áá áĽáá° âá¨á áĽáŽáľ ááá
áááá° áááĽâ ááᢠ"á áĽáŽáľ" áááľá¨á áŤáľááááá á ááŤá 3 (áŽá).
áááá ááá "áá°áá" áĽááá: áĽáááľáŁáá á¨á ááľ áľá á¨á°á áá ááłáááŤ! á á ááą ááľáĽ á¨áááá ááá á¨á áá á áá ááĽá á áľááá á áá°áá, ááĽá 1 ááá (á á á ááá, á áá áááŽá˝ áĽá፠áááᥠáá˝áá, áááłá, "á¤á°á°áĽ / áá°áá˝ / ááá°") áĄáľá. áá
á áŤááľ á¨NoSQL á¨ááἠááłáá˝ áá á¨ááĽáŤáľ áááľ á¨áááá áŤáá°ááááá âááĽáááâ ááŤáľá°áá
áá˝ááᣠááá áá á áľááá á áá
á°ááŁá ááľáĽ á¨HBaseá á á
á á áĽááľ áĽááľáľá áá á¨ááá
áľáá
áá
á áŤááľ ááá˘
RowKey
áááśá˝
áŤáł
ááľáŤ: 1
áŚááŤáĄ 1
áłáťáĄ 1
ááľáŤá˘
ááťáĄ 1
áŤáł: 1
áĽáá áĽá áĽá áá˝á á á ááľ áá áĽááááá. áĽááąá ááá¨áłáľ á á˛áąá ááá á áĽááááá áĽá á¨áľááľ ááľáĽáľáĽááąá áĽááááłááá˘
- á¨ááŁáĽ áááĽ: áŤáłáŤ ááŚá፠á°áááá§á áá á¨áááá áĽáŤá áááááľ á ááľ á ááľ âáŚááŤâ ááá ἠá á ááᥠáĽá፠áŤá áááą áĽáááľ ááᣠáŤááá áááą áĽáááľ áá - áá¸áľ => áŚ(1)
- áááĽá áá¨áᥠáá°á áá¨ááá°á áá¨áᥠá á˛áľ á ááľ á¨áá "á¨áá°á ááłáááŤ" => áŚ(1)
- ááἠááá¨áᥠáá°áá áá°á¨áá¨áá°á ááłáá፠á ááľ áĽáť áŤáľáááą => áŚ(1)
áĽáá°áááá¨áąáľ ᣠá¨áá á¨áá¨ááť áá´á ááá áĽá á áĽá á áááááá¸á ááá áááłáá˝ ááľáĽ á ááľ á ááľ áĽáť áĽáá°áŤáá ᣠáááá á¨áľá á¨áá¨á ááą ááľáĽ á¨ááá ἠáĽá á á°á¨á᪠ᣠáááá á¨áá á¨áľá á ááśá˝ ááááá ááᢠáĽá፠ááá áĽáá˝ááá ᣠáá ...
áłáłá¤áá á áá°ááąá áľ áá á ááťá¸áá á ááłá°á áĽá á¨I/O áľáŤáá˝á á ááááľ ááááą á፠ááᥠáĽá áľáá˝ áá°ááľ áááľ áá˝ááᢠáááá á¨áááááľ áá¨á á ááĽáł á á¨áľá ááá ááľáĽ áĽáá¨áá˝áľ? áááľáᣠáááá áĽáá á áĽáá° userID.friendID á áľáá? á áá á ááŁá á¨ááľááŠá á ááśá˝ á¨ááś ááá ἠá¨ááĽáá (á ááŤá 4(á¨áľá)):
RowKey
áááśá˝
Vasya.Petya
ááľáŤ: 1
Vasya.Olya
áŚááŤáĄ 1
Vasya.áłáť
áłáťáĄ 1
ááľáŤ.ááť
ááťáĄ 1
ááľáŤ.áŤáľáŤ
áŤáł: 1
á ááá˝ ááá¨áľ áĽáá°ááťáá, á áĽáá°áá á áááľ ááá á ááľáĽ áŤá áááá á¨ááἠáá áá፠áááłáá˝ áááá, áá áĽáá° ááľáá áľáŞáľ, O (1) áááá. á¨á ááŤá 3 áá áŤáá ááŠááľ á áá¨á ááą ááľáĽ áŁáá ᨠI/O áľáŤáá˝ á ááĽáá áá áĽáť ááááá˘
áááŤá, á¨áá¨á¨áťá "ááľáľ". á á ááŤá 4 ááľáĽ á¨á¨áľá ááá á°áááá ááááľ ááá¨á áĽáá°áá˝á ááá¨áłáľ ááá áá, áá ááááŁáľ á ááááá áááł áá˝áá (áĽáá áá HBase á áŁááľ áĽá á á°áá á¨áŚá˝ ááľáĽ áŤá á¨áľáá˝ á ááá áĽáá°áá°á¨á°áŠ áĽááľáłááłáá). á á°á¨ááŞá á á ááłááľ áááłáá˝ áá ááľá°áááľ ááŤáľáááá á¨áá˝á áá፠á ááᢠáá áá á°á˝áá áááľáááľ á¨á°á áá ááłáá፠áĽá á¨áá°á ááłáá፠áá˝ áá áá áá˝áá ᣠáĽá áááąá hashes á¨ááŤááἠááááľ áľááááŤá¸á ᣠáŤá áááŤá¨áľ á ááá áááááľ áá˝ááᢠá¨á፠á á°áá á¨áĄ ááľáĽ áŤáá áá¨á áá á áááľáá (á ááŤá 5 (áá˝)):
RowKey
áááśá˝
dc084ef00e94aef49be885f9b01f51c01918fa783851db0dc1f72f83d33a5994
ááľáŤ: 1
dc084ef00e94aef49be885f9b01f51c0f06b7714b5ba522c3cf51328b66fe28a
áŚááŤáĄ 1
dc084ef00e94aef49be885f9b01f51c00d2c2e5d69df6b238754f650d56c896a
áłáťáĄ 1
1918fa783851db0dc1f72f83d33a59949ee3309645bd2c0775899fca14f311e1
ááťáĄ 1
1918fa783851db0dc1f72f83d33a5994dc084ef00e94aef49be885f9b01f51c0
áŤáł: 1
á áááá¨ááŤá¸á áááłáá˝ ááľáĽ á¨áĽáá°áá
ááááľ ááá
á áá á áĽáŽ á¨ááľáŤáľ áľáá°-ááá ááľáĽáľáĽááľ á¨á ááŤá 4 - áááľá áŚ(1) áá á°ááłáłá áĽáá°ááá ááá˝ ááá˘
á á á
áááᣠáááá á¨ááłáĽ ááľáĽáľáĽááľ áááśáťá˝áá á á ááľ á áá á¨áĽ ááľáĽ áĽáá áááá˘
áá°á áá¨áá
áá°áá á ááá°á˝ áá
áá°áá ááľáááľ
á ááŤá 1 (ááŁáŞ)
áá (n)
áá (n)
áá (n)
á ááŤá 2 (ááĽá)
ጠ(1)
áá (n)
áá (n)
á ááŤá 3 (á ááľ)
ጠ(1)
ጠ(1)
ጠ(1)
á ááŤá 4 (á¨áľá)
ጠ(1)
ጠ(1)
ጠ(1)
á ááŤá 5 (áá˝)
ጠ(1)
ጠ(1)
ጠ(1)
áĽáá°áááá¨áąáľ ᣠá ááŤáŽá˝ 3-5 á áŁá á°ááŤá áĽá á ááľá-ááłáĽ áááá á áľááá á¨ááἠá á ááá áááłáá˝ á ááááľ áá ááľáĽ ááá¸áá áŤá¨áááŁáᢠá á°ááŁáŤá˝á áááłáá˝ ááľáĽ á¨á°á áááá áá°áá˝ áááá áááááľ ááá á áááľ ááá˝ ááľáááľ á¨áá, ááá áá á áĽááá°á á¨ááŽáááľ áĽáá áľáá´áá˝ ááľáĽ, áĽáá° áĽáŠ á°ááłáá˝, áĽáá˛á á áááľ á°ááŁá ááá á áĽáá°áá˝á áĽá "áá°áá á" áĽáŠ áááá. "ááᣠááá" áľááá á¨áĽá ááááł á¨á ááŤá 3 áá áá ᢠáá á áĽááá°á ááŽáááľ ááľáĽ áá áĽáŤá ááľááá á ááá˝ ááááśá˝ áááł áá˝á áá á ᣠáľáááá á á ááá á¨á˝áአá á ááá áĽááł á¨áá ᣠáŁááá ááťáá ᢠá¨áá¨á¨áť áá°áá°ááŤáá˝.
á¨áá¨áŤá ááá áľ
á¨áá á¨á°á ááąáľá á¨ááľá ááłáŁá ááááŽá˝ á á°ááŁá ááá¨á áĽááááá - áá á á¨á á á áłáá áĽááľ á¨á°ááłá á¨ááłáĄ áἠáá áᢠáá áá áááľá¨á á¨áá "áááłá á áááŹá˝á" á¨áľáŤ ááĽááľá ááááá á áľááá áá á ááá á¨á°áááš áááłáá˝ á¨ááἠááłáá ááá áá, áĽáá˛áá á áá áá áĽá¨á¨áᨠá¨ááŁáá á¨áá á áŤá á ááłá¨áá¨áĽ (n). áĽáá á¨ááľáĽ áĽá á áá¨áŤá áá áľ á¨ááááŤá á¨ááá áá¤áľ á ááľ "á¨áááľ áĽáŤá" ááá¨ááá "áááłá áá°áá áŞáŤ" áŤáłááá áá áá. âá¨áááľ ááĽááľâ áľáá á¨áá¨á°ááľ ááľáĽ á ááąá áááłá˝á ááá˘
- á ááľ á á˛áľ áá°á áá¨á
- á°á áá A á¨á°á áá B áá°á áááá áá¨áááĽ
- á ááľ áá°áá ááľáááľ
áľááá ᣠá ááááŞáŤ ááááŤá ááľáĽ á¨á°áá¨ááŠáľá ááľáááśá˝ á¨áááľ ááľáĽ á ááľááŁáľ ᣠá¨áá¨áá፠áááłá ââáĽáá°áá¨á°áá áááŁá á˘
- á¨ááἠáá¨áť. á áááá° á¨áá á á¨ááááŞáŤ á ááłá¨ áá¨áĽ áŤáááŤáᢠáá° âáĽááá°áá áááâ ááá á¨áĽáŁ áĽáŤááłááą á°á áá áŤáá á¨áá°á áĽááľ áĽáá˛á á áááá° á°áááá ááᢠá¨áĽá "áááłá áá°áá áŞáŤ" áááá á¨ááᨠááἠáá° HBase á¨áá˝áá áľá áá áááŠá˘ á¨á፠á¨á°áááá áá á á°á¨áአáá°áá˝ áĽááľ áá¨ááááľ - áá ááľ âá¨áááľ áĽáŤâ á ááŤá áá á¨ááááá á áá ááááľ áá á˘
- á¨ááŁáĽ áááĽ. ááĽáŤááłááą á°á áá á°á ááá ááĽááą á°áááá§á ááá á áá°áááá á áááľ áááááľ á¨ááŤáľáááááľá "á¨ááá°áŚá˝" áááá ááá áŠá˘ á¨áááአááááľ = á áááľ á¨á°á ááá áá°áá˝ áĽááľ, áĽá á¨á°á¨áááĄáľ áá°áá˝ ááŤá¨á ááá˝ á¨ááááľ áááą "á á" ááá á áá áľ, áĽá ááááá ááá˝ - "á á" ááá á áá áľ. áźáŠ á¨áá¨áááá á á á°á á°á¨á°á áá "á á" áĽá "á á" á¨áááľ áááśá˝ á°ááá (áááľá á áĽáŤááłááą ááá°á áááł áá ááŤáŽá˝ 1 áĽá 2 áááá á¨ááľááŠá á ááśá˝ ááá á ááĽá)ᢠá á ááá á¨áá°áť áá á á ááľ ááá° ááłá á ááŤá á¨ááŁáŞáŤ áá áááááľ á á°áá¨áŠáľ áá°áá˝ áĽááľ áá¨ááááá˘
- áááĽá á áá°á¨á áá. áááá áá°áá˝ á¨á°á ááá áŤáľáááąá˘ á¨áá á á áá á¨áľá¨á áľááá á áááá° áá (áá á áááĄá ááá áłáľ áĽá á áá á¨áááá á¨ááááŞáŤáá áááá "á ááááľ" áĽáá°áááá). á á áá á¨áá°áť áá á áźá á ááŤá áá áááááľ á á°áááą áá°áá˝ áĽááľ áá¨ááá.
áááłáá˝ áĽáŤá°á á˛ááľ áá áĽáá´áľ áĽáá°ááááἠááá¨áľ ááĽáŤááłáṠᨠ5 á¨ááἠáá´á á ááŤáŽá˝ áĽá áá°ááŤáŠ á¨áá
á áŤá á ááłá¨ áá¨áŚá˝ áá áá˝ ááŽáĽ á ááŁá¸áᢠá á ááľ n ááľáĽáŁ á ááľááአááľáĽ áŤá áááááśá˝ áĽá á¨á°á áááá˝ áááá áááá°á˝áŁ á5áąá á ááŤáŽá˝ á ááľ á áááľ ááá á ááŁá¸áá˘
áá°áťá áááᤠá¨áá
á áłá˝ á n= 5 á¨ááᨠáłáł ááłá ááᢠá¨á°ááá "áááŹá°á" áśáľáľ á¨ááłáá፠áááá áááľá áĽáá° áá
ááľ áŤááŁáá˘
- á¨ááááŞáŤá áááá°áľ áá
- ááá°áá áááá°á˝ áá
- áŚáľá°áá - ááá°á¨á
{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 Đ´ŃŃСоК
áĽáá°áááá¨áąáľáŁ áááá°á˝ á áááá -áááą ááľáĽ áŤááľ á¨10 á¨áá áᥠááłáááŤáá˝ á áá á áľááá áááą áá°áľ áá¸áᢠ"áá°áá˝á" ááľááŁáľ, ááá°á˝ áĽá áá°á¨á á áľááá á áááá -áááą ááľáĽ á á°á áá°á á á°á á°á¨á°á áá¨áááá.
áá¨áŤá á¨á°áŤáá°á á¤á˝.á˘.á´ á á ááľ áśá¨á áŽáá´ááá ááľáĽ á áá°áŤá áľ áááśááľ 10 á áá°áŤ áááśá áá á˛áá á áááá á°áá áá˛á á¨ááá°á ááľáĄá áá áĽá¨á°áŤ áá áᢠáśá¨á 2 á˛áአáŽá áĽá 2 áᢠáŤá á°ááľá§áᢠááá á ááááŽáá˝áŁ áá áĽáá° "áááłá á áááŹá˝á" áĽá "á¨á§á᧠ááľáá" ááá¨áŤ áá¨áá ááááá¨áľ áĽá ááá ááááŤáľ á áááá ááľáĽ á°á˝áááᢠá¤á° ááá
ááą á¨HBase áá áááľáŤáľ áŤáááá áá áá˘
á¨á ááľ á¨á°áá°á áááśá á¨áŽáááŠá°á ááá áááľ ááľáĽ á ááľááŁáľ á n = 10, 30, ... ááľááá á áá¨áŤ á°ááá§á. 170 - á¨áá á¨áá¨áŤ áá°áľ á á ááá á¨áľáŤ áá (ááá á ááŤáŽá˝ áááá á ááŤáŽá˝) á¨á áá ááá áŤáá° ááááŤáłá áĽá á á ááľ á¨áťá ááĽáŁ áá (á á ááŤá 15 á°áááá˝) á°áľáá á áá ááá˘
áĽáá áá á áá áá¨áŤ ááľáĽ áášá á¨á áááá á ááá˝á á ááááľ áĽá¨ááááá áĽááłááá áἠáááľ áŤáľáááá. á¨á°ááŤáŠ áááľ á ááŤáŽá˝ á ááťáŤá áá˝á˝á áĽááłá áá á áá áľááá áááá áá˝ááᢠá áá á n áá á áááľá¨áľ á¨áá ááἠá°ááĽáŽ áá ááááľ á áá ᣠá¨áá áŤááá ᨠâá¨áá¨áŤ á ááâ áá á á¨áááľ ááľáĽ á ááľááŁáľ ᣠá¨áááá° áĽá ááá˝ ááááŤáśá˝ á°á˝áá âá¨á°á¸áłâ á¨áá áááśá˝á ááááľ á áŁá á¨áŁáľ áá ( áĽá áĽáá°áá á áááľ á°ááŁá á áá°áááá).
á¨áá¨áŤ áá¤áľ
á¨ááááŞáŤá áá°á á¨áá°ááá˝á áááá áááááľ áŤáłááá áá áĽáá´áľ áĽáá°áááἠáá. áá¤áą á¨áłá˝ áŁáá ááŤá ááľáĽ áá.
á ááŤáŽá˝ 3-5, áĽáá°á°á á áá, á¨áá áá°á áá "á¨áááľ ááĽááľ" ááá áŤáłáŤá, áá
á á ááľááአáá á áĽáľááľ áĽá á á áááá áá á¨áááá ááŠááľ áá á¨á°áá°á¨á° á áá°áá.
á ááŤá 2 á°áá á¨ááŤáááĽ, ááá áá á áľááš á¨á¨á á ááťá¸á áŤáłáŤá, á¨á ááŤáŽá˝ 2-3 áá á˛ááťá¸á á áľááá 5 áá áááľ ááťáá. áĽá áá
á¨ááľá-ááłáĽ áá áľáááááľ á¨áá°á°áľ á áľá°áá - á áá
áľáŞáľ ááľáĽ ᨠI/O áľáŤáá˝ áá° / ᨠHBase á áľááá 2 áĽáĽá áá ááŁáᢠáá
á¨áĽá á¨áá¨áŤ á ááłá ááá á á ááá
á°á¨á áĽáŠ áľááááááľá áĽáá°ááŤááἠááĽá°á áŤááá ááľá¨á áá ááŤáááá áá˝ááá˘
á ááŤá 1 áĽáá˛á áĽáá°á°á á áá ᣠá áŁá áááá áá á°áááˇá áĽá áĽááľ á áĽááľ á áá°áá áá ááľáĽ á ááľááአáá á áá á¨ááŤáłáááá á¨ááľáá áá᪠áŤáłáŤáá˘
á áá á¨ááá°ááá áá°á áá¤áľ áĽáááá¨áľ.
á ááŤáŽá˝ 3-5 áĽáá°áá áĽáá°á°á á áá - áá áá, á¨á ááłá¨ áá¨áĄ áá á ááť. á ááŤáŽá˝ 1 áĽá 2 á¨á ááłá¨ áá¨áĄ áá á á˛á¨áá áĽá á°ááłáłá á áááá á áá ááľáĽ ááľááŤá áá᪠áŤáłáŤáᢠá¨áá
á á ááᣠá ááŤá 2 áľáá˝ áááá áááá - á°á¨ááŞáá âááá áâ á ááľ áá¨á áĽá ááŤááľ áľáááŤáľááááᣠn áĽáŤá°á á˛ááľ á¨á áá áľáŠá¨áľ á¨ááľáĽ ááááᢠááá áá á¨áá
áá
á
á áľááááááľ á á ááťáŤáááľ áá
á°á áľááá á ááá áááááá áá°áá°á፠á¨ááľá¨á áĽáá áŁáá. á á°á¨ááŞá, áĽááá
áŹážáá˝ (á¨áľáá á ááŤá, 1 ááá 2, ááŁá áá) á¨áŠáŤ áá° áŠáŤ (á¨áĽááááľ áŁá
áŞá á áá á á
áĽá "á áááľá á áááľ áĽá¨ááą").
á°á á, á¨áá¨á¨áťá ááŤá á¨ááľáááľ áá¨áŤ áá¤áľ áá.
áĽáá°áá, áĽáá
ááá á áŤáľá°áá
á. á ááŤáŽá˝ 3-5 á áá áá ááááľá áŤá¨áááá.
á á°á¨ááŞá ᣠá¨ááááá ᣠá ááŤáŽá˝ 4 áĽá 5 ᣠá¨áá°ááľ áááłáá˝ á á°áᨠᣠá¨á ááŤá 3 á á°áťá áááł á áľááš á¨á¨á á áááá áŤáłáŤáá˘
á ááŤáŽá˝ 1 áĽá 2, áĽáá°á°á á áá, á¨áá áá¨ááá áŤáłáŤá. á á°ááłáłá áá, á ááŤá 2 á¨á ááŤá 1 á á°á¨áłáłá áááá áá - á°á¨á᪠ᨠI / O ááá ááááŤáľ á¨áá áŤáá á ááľ "ááá á á ".
á¨áá¨áŤá á á ááá áľááłááá˝-
- á ááŤáŽá˝ 3-5 ᨠHBase áĽá á á˛áŤáá á¨á áá á ááĽááá áŤáłáŤá; á¨áá á á áá á ááááá¸á áĽááľ á ááľ á ááááľ áááŤáŤá áĽá á á ááłá¨ áá¨áĄ áá á áá á¨á°á፠á áá°áá.
- á á ááŤáŽá˝ 4 áĽá 5 ááŤá¨á áŤáá ááŠááľ á áá°áááá á. áá áááľ áá á ááŤá 5 áĽá á áá ááá á¨áá áľá áááľ á áá°ááᢠá¨áá¨áŤ ááá áŠá á¨á áááá áŁá áŞáŤáľ á¨áááľ ááľáĽ á ááľááŁáľ áĽá á áá á¨ááá á¨áá¨áŤ áááł áĽáá˛áłá á áááá°á.
- á¨áá¨á áá "á¨áááľ áľáŤáá˝á" ááá¨ááá á ááŤáľáááá áá ááľáĽ á¨áá¨áá áŁá ᪠á á á ááá áá°á á˛á á¨á°áááľá á¨ááľá ááłáŚá˝ áááá á ááŤáŽá˝ á á¨ááá§á.
Epilogue
á¨á°áŤááąáľ á áľá¸á᪠áá¨áŤáá˝ áĽáá° ááá áĽáááľ ááá°áľ á¨ááŁá¸ááᢠá¨áááľ ááľáĽ áŤáá°áᥠáĽá áá¤áąá áŤáᥠáĽá ááááŤáśá˝ á á (áĽááá áᣠáá¨áśá˝ á á°áá á áľáá˝ á¨ááľááá áá á áŁáá ááŤáá˝ ááľáĽ ááłáŤá)ᢠáááłá ᣠá Happybase áĽá á áá á¨áááá á¨áá ᣠááĽáᾠᣠá áááá ááľáĽ á¨áťááŠáľá á áááᎠá¨áá°áá á áá á áĽá áá´ (áŽáą á áĽáŠ áááł á¨á°áťá áĽá á¨áááá á áŤááľ á˝ááłáá˝ á áľááá á°á á áá áááľ á áá˝áá) ᣠááááŁáľ á¨HBase áá¸á፠áá áłáá˝áŁ á¨áááśááľ 10 áłáŤ áĽáá áľáá´ á áĽá áááśá áá ááá° á á á ááá ááá á¨ááľá ááłáŁá áľááśá˝ áľááááááłá¸áá á áá¨áŤ á áłáá°áá áĽáá ááááľ áĽáá˝áááᢠá°á áᣠááá á˘áŤááľ áĽáá˛á áŁáá âá¨áŤáľ áĽááľâ ááľá°áŁá á á áá°áťááá˘
á áá áááŤá ᣠá HBase ááľáĽ á¨ááἠáá´áá˝á áááá°á áá áááአá°áá˝ áá áááŽá˝-á¨ááľáá á°ááá á¨ááἠááłáá˝ áá á¨ááĽáŤáľ áááľ áĽá âáľáááášáâ áŤáľáłááą-
- á˛ááá áľáá°áŤ á¨áłáł ááá áá á á°ááŁá áĽá á áŚá˝ áĽáááĽááá áĽáá á¨á፠áá´á á áá°ááá˘
- áááŁá ááłá¨áť (áŤá áá á¨á°áá á¨áĽ á ááľ) - á ááá áĽáť
- áá°á á áŤááá á á áŤá
- á¨á°ááŤáŠ á¨áľáá˝ á¨á°ááŤáŠ áááśá˝á ááá áá˝ááá˘
- á¨áľáá˝ áááŤáá˝ á°áááá á ááĽá
ááá: hab.com