αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžšαžΏαž„αž€αŸ†αž”αŸ’αž›αŸ‚αž„αž“αŸ„αŸ‡αž‘αŸ αžœαžΆαž αžΆαž€αŸ‹αž”αžΈαžŠαžΌαž…αž‡αžΆαžšαžΌαž”αž—αžΆαž–αž–αž·αžŸαŸαžŸαž“αŸαŸ‡αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ†αž•αž»αžαž’αŸ†αž–αžΈαžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž“αŸ…αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹αžœαžΆαž“αžΉαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαŸ–

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αž™αŸ„αž„αžαžΆαž˜ ​​DB-Engines Ranking αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL columnar αžŠαŸ‚αž›αž–αŸαž‰αž“αž·αž™αž˜αž”αŸ†αž•αž»αžαž‚αžΊ Cassandra (αžαž‘αŸ…αž“αŸαŸ‡ CS) αž“αž·αž„ HBase (HB) αŸ”

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αžαžΆαž˜αž†αž“αŸ’αž‘αŸˆαž“αŸƒαž‡αŸ„αž‚αžœαžΆαžŸαž“αžΆ αž€αŸ’αžšαž»αž˜αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ… Sberbank αž˜αžΆαž“αžšαž½αž…αž αžΎαž™ Π΄Π°Π²Π½ΠΎ αž“αž·αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αž‡αž·αžαžŸαŸ’αž“αž·αž‘αŸ’αž’αž‡αžΆαž˜αž½αž™ HB αŸ” αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αžŸαž·αž€αŸ’αžŸαžΆαž–αžΈαž…αŸ†αžŽαž»αž…αžαŸ’αž›αžΆαŸ†αž„ αž“αž·αž„αž…αŸ†αžŽαž»αž…αžαŸ’αžŸαŸ„αž™αžšαž”αžŸαŸ‹αžœαžΆαž™αŸ‰αžΆαž„αž›αŸ’αž’ αž αžΎαž™αžšαŸ€αž“αž–αžΈαžšαž”αŸ€αž”αž…αŸ†αž’αž·αž“αžœαžΆαŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžœαžαŸ’αžαž˜αžΆαž“αž“αŸƒαž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒ CS αžαŸ‚αž„αžαŸ‚αž”αž„αŸ’αžαŸ†αž™αžΎαž„αž±αŸ’αž™αž’αŸ’αžœαžΎαž‘αžΆαžšαž»αžŽαž€αž˜αŸ’αž˜αžαŸ’αž›αž½αž“αž™αžΎαž„αž”αž“αŸ’αžαž·αž…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžŸαž„αŸ’αžŸαŸαž™αžαžΆ αžαžΎαž™αžΎαž„αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ? αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αžαž›αž‘αŸ’αž’αž•αž› αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™ DataStax αž–αž½αž€αž‚αŸαž”αžΆαž“αž“αž·αž™αžΆαž™αžαžΆ CS αž„αžΆαž™αž“αžΉαž„αž™αž€αžˆαŸ’αž“αŸ‡ HB αžŠαŸ„αž™αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž–αž·αž“αŸ’αž‘αž»αž€αŸ†αž‘αŸαž…αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž DataStax αž‚αžΊαž‡αžΆαž—αžΆαž‚αžΈαžŠαŸ‚αž›αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αž αžΎαž™αž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž™αž€αž–αžΆαž€αŸ’αž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαž‘αŸαŸ” αž™αžΎαž„αž€αŸαž˜αžΆαž“αž€αžΆαžšαž—αŸαž“αŸ’αžαž…αŸ’αžšαž‘αŸ†αž•αž„αžŠαŸ‚αžšαžŠαŸ„αž™αž…αŸ†αž“αž½αž“αž–αŸαžαŸŒαž˜αžΆαž“αžαž·αž…αžαž½αž…αž’αŸ†αž–αžΈαž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŸαŸ’αžœαŸ‚αž„αžšαž€αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžαžΆαž“αžšαžŽαžΆαž‡αžΆαžŸαŸ’αžαŸαž… BigData NoSql αž αžΎαž™αž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŽαžΆαžŸαŸ‹αŸ”

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αž»αž“αž“αžΉαž„αž”αž“αŸ’αžαž‘αŸ…αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αžšαž·αžŸαŸ’αžαžΆαž“αŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆ CS αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž–αŸαž›αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ‚αž˜αž½αž™ (αžαŸ’αž“αžΆαŸ†αž„) αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαžŸαŸ„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž αŸαžαž»αž•αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“αžœαžΆαž”αžšαžΆαž‡αŸαž™ αž“αŸ„αŸ‡αžαž˜αŸ’αž›αŸƒαž“αŸƒαžŸαŸ„αž“αŸαŸ‡αž“αžΉαž„αž”αžΆαžαŸ‹αž”αž„αŸ‹αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸαŸ‡αž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž·αžŸαŸαž™αž’αž“αžΆαž‚αžΆαžš αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž›αžΎαž€αž›αŸ‚αž„αž‡αžΆαž‡αžΆαž„αž…αŸ’αž”αžΆαž”αŸ‹αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž˜αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αžΆαž“αžαŸ‚αžšαž”αŸ€αž”αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš CS αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž…αž˜αŸ’αž›αž„αž”αžΈαžŠαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž…αžΆαžšαžŽαžΆ αž–αŸ„αž›αž‚αžΊαž§αŸ” αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž casespace αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜:

CREATE KEYSPACE ks WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3};

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž˜αžΆαž“αžœαž·αž’αžΈαž–αžΈαžšαž™αŸ‰αžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž€αž˜αŸ’αžšαž·αžαž“αŸƒαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ” αž…αŸ’αž”αžΆαž”αŸ‹αž‘αžΌαž‘αŸ…αŸ–
NW + NR > RF

αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžš (NW) αž”αžΌαž€αž“αžΉαž„αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž“αŸ…αž–αŸαž›αž’αžΆαž“ (NR) αžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ†αž‡αžΆαž„αž€αžαŸ’αžαžΆαž…αž˜αŸ’αž›αž„αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ RF = 3 αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž‡αž˜αŸ’αžšαžΎαžŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‚αžΊαžŸαž˜αžšαž˜αŸ’αž™:
2 + 2 > 3
3 + 1 > 3

αžŠαŸ„αž™αžŸαžΆαžšαžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž±αŸ’αž™αž˜αžΆαž“αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹αžαžΆαž˜αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ 3+1 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž HB αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ i.e. αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž”αŸ‚αž”αž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αž—αžΆαž–αž™αž»αžαŸ’αžαž·αž’αž˜αŸŒαž‡αžΆαž„αŸ”

αžœαžΆαž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆ DataStax αž”αžΆαž“αž’αŸ’αžœαžΎαž•αŸ’αž‘αž»αž™αž–αžΈαž€αžΆαžšαžŸαž·αž€αŸ’αžŸαžΆαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž–αž½αž€αž‚αŸαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ RF = 1 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΆαŸ†αž„ CS αž“αž·αž„ HB (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαŸ„αž™αžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ HDFS) αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž₯αž‘αŸ’αž’αž·αž–αž›αž›αžΎαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž CS αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž‚αžΊαž’αŸ†αž’αŸαž„αžŽαžΆαžŸαŸ‹αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αžšαžΌαž”αž—αžΆαž–αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„ CSαŸ–

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αžƒαžΎαž‰αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜: αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŸαžšαžŸαŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž™αžΌαžšαŸ” αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αžŸαŸ†αžαžΆαž“αŸ‹β€‹αžŠαŸ‚αž›β€‹αž€αžΆαžšβ€‹αž…αž»αŸ‡β€‹αž’αž“αŸ‹β€‹αžαž™β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ RF=3 αž‚αžΊβ€‹αžαŸ’αž–αžŸαŸ‹β€‹αž‡αžΆαž„β€‹αžαŸ’αž›αžΆαŸ†αž„αŸ” αž˜αŸ‰αŸ’αž™αžΆαž„αž‘αŸ€αžαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžŸαžšαžŸαŸαžš 4 αžαŸ’αžŸαŸ‚αž‘αŸ…αž‡αžΆ 5 αžαžΆαžšαžΆαž„αž“αžΈαž˜αž½αž™αŸ— (20 αžŸαžšαž»αž”) αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ RF = 3 αž…αžΆαž‰αŸ‹αž”αŸ’αžšαž αŸ‚αž› 2 αžŠαž„ (150 αžœαž·αž“αžΆαž‘αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ RF = 3 αž’αŸ€αž”αž“αžΉαž„ 75 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ RF = 1) αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„ 8 αžŠαŸ‚αž›αž˜αžΆαž“ 5 αžαŸ’αžŸαŸ‚αž“αžΈαž˜αž½αž™αŸ— (40 αžŸαžšαž»αž”) αž“αŸ„αŸ‡αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹ RF = 3 αž‚αžΊ 2,7 αžŠαž„αžšαž½αž…αž‘αŸ…αž αžΎαž™ (375 αžœαž·αž“αžΆαž‘αžΈαž’αŸ€αž”αž“αžΉαž„ 138) αŸ”

αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž“αŸαŸ‡αž‡αžΆαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™ DataStax αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HB αž“αŸ…αž‘αžΈαžαžΆαŸ†αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžαŸ’αžαžΆαž…αž˜αŸ’αž›αž„αž–αžΈ 2 αž‘αŸ… 3 αž˜αž·αž“αž˜αžΆαž“αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž’αŸ’αžœαžΈαž‘αžΎαž™αŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αžαžΆαžŸαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž§αž”αžŸαž‚αŸ’αž‚ HB αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αžΆαž“αž§αž”αžŸαž‚αŸ’αž‚αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž‚αž½αžšαž€αžαŸ‹αžŸαŸ†αž‚αžΆαž›αŸ‹αžαžΆ αž€αŸ†αžŽαŸ‚ HB αžšαž”αžŸαŸ‹αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž› αž“αž·αž„αž€αŸ‚αžŸαŸ†αžšαž½αž›αž”αž“αŸ’αžαž·αž…αž”αž“αŸ’αžαž½αž… αž”αžšαž·αžŸαŸ’αžαžΆαž“αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ”αž›αŸ” αžœαžΆαž€αŸαž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαžαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžαŸ’αž‰αž»αŸ†αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž·αž“αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αžšαŸ€αž”αž…αŸ† CS αž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž“αž·αž„αž˜αžΆαž“αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžœαžΆ αž αžΎαž™αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž™αžΎαž„αž“αžΉαž„αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΏαž„αžŠαŸ†αž”αžΌαž„αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαŸ‚αž›αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αŸ†αž“αž½αž“ 4 αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ– Xeon E5-2680 v4 @ 2.40GHz 64 αžαŸ’αžŸαŸ‚αŸ”
ថអស: 12 αž”αŸ†αžŽαŸ‚αž€ SATA HDD
αž€αŸ†αžŽαŸ‚ javaαŸ– 1.8.0_111

αž€αŸ†αžŽαŸ‚ CS: 3.11.5

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš cassandra.ymlnum_tokensαŸ– ្αŸ₯៦
hinted_handoff_enabledαŸ– αž–αž·αž
hinted_handoff_throttle_in_kb: 1024
max_hints_delivery_threadsαŸ– ្
hints_directory: /data10/cassandra/hints
αž–αŸαžαŸŒαž˜αžΆαž“αž‡αŸ†αž“αž½αž™_flush_period_in_ms: 10000
max_hints_file_size_in_mb: 128
batchlog_replay_throttle_in_kb: 1024
αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αŸ– AllowAllAuthenticator
αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αŸ– AllowAllAuthorizer
αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαž½αž“αžΆαž‘αžΈαŸ– CassandraRoleManager
αžαž½αž“αžΆαž‘αžΈ_αžŸαž»αž–αž›αž—αžΆαž–_αž€αŸ’αž“αž»αž„_msαŸ– ្០០០
permissions_validity_in_ms: 2000
credentials_validity_in_ms: 2000
αž—αžΆαž‚αžαžΆαžŸαŸ– org.apache.cassandra.dht.Murmur3Partitioner
data_file_directoriesαŸ–
- /data1/cassandra/data # ថត dataN αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαž‡αžΆαžαžΆαžŸαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€
- /data2/cassandra/data
- /data3/cassandra/data
- /data4/cassandra/data
- /data5/cassandra/data
- /data6/cassandra/data
- /data7/cassandra/data
- /data8/cassandra/data
commitlog_directoryαŸ– /data9/cassandra/commitlog
cdc_enabledαŸ– αž˜αž·αž“αž–αž·αž
disk_failure_policyαŸ– αž”αž‰αŸ’αžˆαž”αŸ‹
commit_failure_policyαŸ– αž”αž‰αŸ’αžˆαž”αŸ‹
Prepare_statements_cache_size_mbαŸ–
thrift_prepared_statements_cache_size_mbαŸ–
key_cache_size_in_mbαŸ–
key_cache_save_period: 14400
row_cache_size_in_mb: 0
row_cache_save_periodαŸ– 0
counter_cache_size_in_mbαŸ–
counter_cache_save_period: 7200
saved_caches_directoryαŸ– /data10/cassandra/saved_caches
commitlog_syncαŸ– αžαžΆαž˜αž€αžΆαž›αž€αŸ†αžŽαžαŸ‹
commitlog_sync_period_in_ms: 10000
commitlog_segment_size_in_mbαŸ– ៣្
αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αž‚αŸ’αžšαžΆαž”αŸ‹αž–αžΌαž‡αŸ–
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš:
- αž‚αŸ’αžšαžΆαž”αŸ‹αŸ– "*,*"
concurrent_reads: 256 # αž–αŸ’αž™αžΆαž™αžΆαž˜ 64 - αž˜αž·αž“αž˜αžΆαž“αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‘αŸαŸ”
concurrent_writes: 256 # αž–αŸ’αž™αžΆαž™αžΆαž˜ 64 - αž˜αž·αž“αž˜αžΆαž“αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‘αŸαŸ”
concurrent_counter_writes: 256 # αž–αŸ’αž™αžΆαž™αžΆαž˜ 64 - αž˜αž·αž“αž˜αžΆαž“αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‘αŸαŸ”
concurrent_materialized_view_writesαŸ– ៣្
memtable_heap_space_in_mb: 2048 # αž–αŸ’αž™αžΆαž™αžΆαž˜ 16 GB - αžœαžΆαž™αžΊαžαž‡αžΆαž„
memtable_allocation_type: heap_buffers
index_summary_capacity_in_mbαŸ–
index_summary_resize_interval_in_minutesαŸ– ៦០
trickle_fsyncαŸ– αž˜αž·αž“αž–αž·αž
trickle_fsync_interval_in_kb: 10240
storage_port: 7000
ssl_storage_port: 7001
listen_αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αŸ– *
αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž•αŸ’αžŸαžΆαž™αŸ– *
listen_on_broadcast_αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αŸ– αž–αž·αž
internode_authenticatorαŸ– org.apache.cassandra.auth.AllowAllInternodeAuthenticator
start_native_transportαŸ– αž–αž·αž
native_transport_portαŸ– ៩០ៀ្
start_rpcαŸ– αž–αž·αž
rpc_αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αŸ– *
rpc_port: 9160
rpc_keepaliveαŸ– αž–αž·αž
rpc_server_typeαŸ– αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜
thrift_framed_transport_size_in_mb: ៑αŸ₯
incremental_backupsαŸ– αž˜αž·αž“αž–αž·αž
snapshot_before_compactionαŸ– αž˜αž·αž“αž–αž·αž
auto_snapshotαŸ– αž–αž·αž
column_index_size_in_kbαŸ– ៦ៀ
column_index_cache_size_in_kbαŸ– ្
concurrent_compactorsαŸ– ៀ
compaction_throughput_mb_per_secαŸ– ៑៦០០
sstable_preemptive_open_interval_in_mb: 50
read_request_timeout_in_ms: 100000
range_request_timeout_in_ms: 200000
write_request_timeout_in_ms: 40000
counter_write_request_timeout_in_ms: 100000
cas_contention_timeout_in_ms: 20000
truncate_request_timeout_in_ms: 60000
Request_timeout_in_ms: 200000
slow_query_log_timeout_in_ms: 500
cross_node_timeoutαŸ– αž˜αž·αž“αž–αž·αž
endpoint_snitchαŸ– GossipingPropertyFileSnitch
dynamic_snitch_update_interval_in_msαŸ– 100
dynamic_snitch_reset_interval_in_msαŸ– 600000
dynamic_snitch_badness_thresholdαŸ– 0.1
request_schedulerαŸ– org.apache.cassandra.scheduler.NoScheduler
server_encryption_optionsαŸ–
internode_encryptionαŸ– αž‚αŸ’αž˜αžΆαž“
client_encryption_optionsαŸ–
αž”αžΆαž“αž”αžΎαž€αŸ– αž˜αž·αž“αž–αž·αž
internode_compression: dc
inter_dc_tcp_nodelayαŸ– αž˜αž·αž“αž–αž·αž
tracetype_query_ttl: 86400
tracetype_repair_ttl: 604800
enable_user_defined_functionsαŸ– αž˜αž·αž“αž–αž·αž
enable_scripted_user_defined_functionsαŸ– αž˜αž·αž“αž–αž·αž
windows_timer_intervalαŸ– ៑
transparent_data_encryption_optionsαŸ–
αž”αžΆαž“αž”αžΎαž€αŸ– αž˜αž·αž“αž–αž·αž
tombstone_warn_threshold: 1000
tombstone_failure_threshold: 100000
batch_size_warn_threshold_in_kbαŸ– ្០០
batch_size_fail_threshold_in_kbαŸ– ្αŸ₯០
unlogged_batch_across_partitions_warn_thresholdαŸ– ៑០
compaction_large_partition_warning_threshold_mb: 100
gc_warn_threshold_in_msαŸ– ៑០០០
back_pressure_enabledαŸ– αž˜αž·αž“αž–αž·αž
enable_materialized_viewsαŸ– αž–αž·αž
enable_sasi_indexesαŸ– αž–αž·αž

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ GCαŸ–

### αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ CMS-XX:+UseParNewGC
-XX:+αž”αŸ’αžšαžΎConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
-XX:CMSIinitiatingOccupancyFraction=75
-XX:+αž”αŸ’αžšαžΎCSI InitiatingOccupancyOnly
-XX:CMSWaitDuration=10000
-XX:+CMSParallelInitialMarkEnabled
-XX:+CMSEdenChunksRecordAlways
-XX:+CMSClassUnloadingEnabled

αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† jvm.options αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€ 16Gb (αž™αžΎαž„αž€αŸαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„ 32 Gb αžŠαŸ‚αžš αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž”αŸ’αž›αŸ‚αž€αž‘αŸ)αŸ”

αžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ–

CREATE TABLE ks.t1 (id bigint PRIMARY KEY, title text) WITH compression = {'sstable_compression': 'LZ4Compressor', 'chunk_length_kb': 64};

αž€αŸ†αžŽαŸ‚ HBαŸ– 1.2.0-cdh5.14.2 (αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αž“αžΆαž€αŸ‹ org.apache.hadoop.hbase.regionserver.HRegion αž™αžΎαž„αž”αžΆαž“αžŠαž€αž…αŸαž‰ MetricsRegion αžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹ GC αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αŸ†αž“αž½αž“αžαŸ†αž”αž“αŸ‹αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 1000 αž“αŸ…αž›αžΎ RegionServer)

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš HBase αž˜αž·αž“αž˜αŸ‚αž“αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜zookeeper.session.timeout: 120000
hbase.rpc.timeout: 2 αž“αžΆαž‘αžΈ
hbase.client.scanner.timeout.period: 2 αž“αžΆαž‘αžΈ
hbase.master.handler.count: 10
hbase.regionserver.lease.period, hbase.client.scanner.timeout.periodαŸ– 2 αž“αžΆαž‘αžΈ
hbase.regionserver.handler.count: 160
hbase.regionserver.metahandler.count: 30
hbase.regionserver.logroll.period: 4 αž˜αŸ‰αŸ„αž„
hbase.regionserver.maxlogsαŸ– ្០០
hbase.hregion.memstore.flush.size: 1 GiB
hbase.hregion.memstore.block.multiplierαŸ– ៦
hbase.hstore.compactionThresholdαŸ– αŸ₯
hbase.hstore.blockingStoreFiles: 200
hbase.hregion.majorcompaction: 1 αžαŸ’αž„αŸƒ
HBase Service Advanced Configuration Snippet (Safety Valve) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ hbase-site.xmlαŸ–
hbase.regionserver.wal.codecorg.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
hbase.master.namespace.init.timeout 3600000
hbase.regionserver.optionalcacheflushinterval18000000
hbase.regionserver.thread.compaction.large12
hbase.regionserver.wal.enablecompressiontrue
hbase.hstore.compaction.max.size1073741824
hbase.server.compactchecker.interval.multiplier200
αž‡αž˜αŸ’αžšαžΎαžŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Java αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HBase RegionServerαŸ–
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSIinitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:ReservedCodeCacheSize=256m
hbase.snapshot.master.timeoutMillis: 2 αž“αžΆαž‘αžΈ
hbase.snapshot.region.timeout: 2 αž“αžΆαž‘αžΈ
hbase.snapshot.master.timeout.millis: 2 αž“αžΆαž‘αžΈ
αž‘αŸ†αž αŸ†αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆαžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HBase REST: 100 MiB
αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HBase REST αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆαŸ– αŸ₯
αž‘αŸ†αž αŸ†αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆαžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HBase Thrift: 100 MiB
αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HBase Thrift αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆαŸ– αŸ₯
αž‘αŸ†αž αŸ† Master Max Log: 100 MiB
αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆ Master: 5
RegionServer Max Log Size: 100 MiB
RegionServer αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžαž·αž”αžšαž˜αžΆαŸ– αŸ₯
HBase Active Master Detection Window: 4 αž“αžΆαž‘αžΈ
dfs.client.hedged.read.threadpool.size: 40
dfs.client.hedged.read.threshold.millis: 10 αž˜αž·αž›αŸ’αž›αžΈαžœαž·αž“αžΆαž‘αžΈ
hbase.rest.threads.min: ៨
hbase.rest.threads.max: 150
αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž―αž€αžŸαžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαŸ– 180000
hbase.thrift.minWorkerThreads: 200
hbase.master.executor.openregion.threadsαŸ– ៣០
hbase.master.executor.closeregion.threadsαŸ– ៣០
hbase.master.executor.serverops.threads: 60
hbase.regionserver.thread.compaction.small: ៦
hbase.ipc.server.read.threadpool.size: 20
αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ†αž”αž“αŸ‹αŸ– ៦
Client Java Heap αž‘αŸ†αž αŸ†αž‚αž·αžαž‡αžΆαž”αŸƒαŸ– 1 GiB
HBase REST Server Default Group: 3 GiB
HBase Thrift Server Default Group: 3 GiB
αž‘αŸ†αž αŸ† Java Heap αž“αŸƒ HBase Master αž‡αžΆαž”αŸƒ: 16 GiB
αž‘αŸ†αž αŸ† Java Heap αž“αŸƒ HBase RegionServer αž‡αžΆαž”αŸƒ: 32 GiB

+ ZooKeeper
maxClientCnxnsαŸ– ៦០៑
αž’αžαž·αž”αžšαž˜αžΆSessionTimeoutαŸ– 120000
αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αŸ–
hbase org.apache.hadoop.hbase.util.RegionSplitter ns:t1 UniformSplit -c 64 -f cf
αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš 'ns:t1', {NAME => 'cf', DATA_BLOCK_ENCODING => 'FAST_DIFF', COMPRESSION => 'GZ'}

αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡ - αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆ DataStax αž˜αž·αž“αž”αžΆαž“αž“αž·αž™αžΆαž™αžαžΆαž…αŸ†αž“αž½αž“αžαŸ†αž”αž“αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„ HB αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž αŸ†αž’αŸ†αž€αŸαžŠαŸ„αž™αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž”αžšαž·αž˜αžΆαžŽ = 64 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαž αžΌαžαžŠαž›αŸ‹ 640 GB αž–αŸ„αž›αž‚αžΊαž§αŸ” αžαžΆαžšαžΆαž„αž‘αŸ†αž αŸ†αž˜αž’αŸ’αž™αž˜αŸ”

αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž HBase αž˜αžΆαž“αžαž»αž…αŸ†αž“αž½αž“ 22 αž–αžΆαž“αŸ‹ αž“αž·αž„αžαŸ†αž”αž“αŸ‹αž…αŸ†αž“αž½αž“ 67 αž–αžΆαž“αŸ‹ (αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαŸ‚ 1.2.0 αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αŸ‚αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžαžΆαž„αž›αžΎ) αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αŸαžαž€αžΌαžŠαŸ” αžŠαŸ„αž™αžŸαžΆαžšαžœαžΆαž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŽαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αžŸαŸ†αž•αŸ’αžŸαŸαž„αŸ—αŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž˜αž½αž™αž…αŸ†αž“αž½αž“ αžαžΆαžšαžΆαž„αž…αŸ†αž“αž½αž“ 4 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αž»αž€αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ (αžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„ 4 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹) αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžαž»αž…αŸ†αž“αž½αž“ 8 αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžαŸ’αž›αŸ‡αž‘αŸ†αž αŸ†αž”αžΆαž…αŸ‹αž‚αžΊ 100 αž“αž·αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž 200 (αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αžΆαž…αŸ‹ - αžŸαžΌαž˜αž˜αžΎαž›αž€αžΌαžŠαžαžΆαž„αž€αŸ’αžšαŸ„αž˜)αŸ” αž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž˜αŸ’αž›αŸƒαž‚αžΊ 10 αž”αŸƒ ឬ 100 αž”αŸƒ (αž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™)αŸ” αž‡αžΆαžŸαžšαž»αž” αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž…αŸ†αž“αž½αž“ 5 αž›αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš αž“αž·αž„αž’αžΆαž“αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž“αžΈαž˜αž½αž™αŸ—αžšαžΆαž›αŸ‹αž–αŸαž›αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸ„αŸ‡ 5 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš/αž’αžΆαž“αž‘αŸ…αž€αžΆαž“αŸ‹αžαžΆαžšαžΆαž„αž“αžΈαž˜αž½αž™αŸ— (αž›αŸαžαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™ - thNum) αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αž”αŸ’αžšαžΎαž‡αž½αžšαžšαž”αžŸαŸ‹αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹ (αžšαžΆαž”αŸ‹ = 1 αž›αžΆαž“)αŸ–

if (opType.equals("insert")) {
    for (Long key = count * thNum; key < count * (thNum + 1); key += 0) {
        StringBuilder sb = new StringBuilder("BEGIN BATCH ");
        for (int i = 0; i < batch; i++) {
            String value = RandomStringUtils.random(dataSize, true, true);
            sb.append("INSERT INTO ")
                    .append(tableName)
                    .append("(id, title) ")
                    .append("VALUES (")
                    .append(key)
                    .append(", '")
                    .append(value)
                    .append("');");
            key++;
        }
        sb.append("APPLY BATCH;");
        final String query = sb.toString();
        session.execute(query);
    }
} else {
    for (Long key = count * thNum; key < count * (thNum + 1); key += 0) {
        StringBuilder sb = new StringBuilder("SELECT * FROM ").append(tableName).append(" WHERE id IN (");
        for (int i = 0; i < batch; i++) {
            sb = sb.append(key);
            if (i+1 < batch)
                sb.append(",");
            key++;
        }
        sb = sb.append(");");
        final String query = sb.toString();
        ResultSet rs = session.execute(query);
    }
}

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™αž˜αž»αžαž„αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HB:

Configuration conf = getConf();
HTable table = new HTable(conf, keyspace + ":" + tableName);
table.setAutoFlush(false, false);
List<Get> lGet = new ArrayList<>();
List<Put> lPut = new ArrayList<>();
byte[] cf = Bytes.toBytes("cf");
byte[] qf = Bytes.toBytes("value");
if (opType.equals("insert")) {
    for (Long key = count * thNum; key < count * (thNum + 1); key += 0) {
        lPut.clear();
        for (int i = 0; i < batch; i++) {
            Put p = new Put(makeHbaseRowKey(key));
            String value = RandomStringUtils.random(dataSize, true, true);
            p.addColumn(cf, qf, value.getBytes());
            lPut.add(p);
            key++;
        }
        table.put(lPut);
        table.flushCommits();
    }
} else {
    for (Long key = count * thNum; key < count * (thNum + 1); key += 0) {
        lGet.clear();
        for (int i = 0; i < batch; i++) {
            Get g = new Get(makeHbaseRowKey(key));
            lGet.add(g);
            key++;
        }
        Result[] rs = table.get(lGet);
    }
}

αžŠαŸ„αž™αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ HB αž’αžαž·αžαž·αž‡αž“αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ‚αžšαž€αŸ’αžŸαžΆαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž―αž€αžŸαžŽαŸ’αž‹αžΆαž“ αž˜αž»αžαž„αžΆαžšαž’αŸ†αž”αž·αž›αžŸαŸ†αžαžΆαž“αŸ‹αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

public static byte[] makeHbaseRowKey(long key) {
    byte[] nonSaltedRowKey = Bytes.toBytes(key);
    CRC32 crc32 = new CRC32();
    crc32.update(nonSaltedRowKey);
    long crc32Value = crc32.getValue();
    byte[] salt = Arrays.copyOfRange(Bytes.toBytes(crc32Value), 5, 7);
    return ArrayUtils.addAll(salt, nonSaltedRowKey);
}

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž•αŸ’αž“αŸ‚αž€αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αž - αž›αž‘αŸ’αž’αž•αž›:

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αžšαžΏαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαŸ–

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank

αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒ HB αž‚αžΊαž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›αžŽαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžŸαž„αŸ’αžŸαŸαž™αžαžΆαž˜αžΆαž“αž€αžΆαžšαžšαžΆαŸ†αž„αžŸαŸ’αž‘αŸ‡αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ CS αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžšαž αŸ’αž‚αžΌαž αŸ’αž‚αž› αž“αž·αž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž”αŸ†αž•αž»αž (αžŠαžΌαž…αž‡αžΆ concurrent_writes ឬ memtable_heap_space_in_mb) αž˜αž·αž“αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸ„αŸ‡αž‘αŸαŸ” αž‘αž“αŸ’αž‘αžΉαž˜αž“αžΉαž„αž“αŸ„αŸ‡ αžˆαžΎαž€αŸαžŸαŸ’αž’αžΆαž αž αžΎαž™αž˜αž·αž“αžŸαŸ’αž”αžαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αžαŸ’αž“αžΆαŸ†αž„ αžŸαŸ’αžαž·αžαž·αž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž”αŸ’αžšαž αŸ‚αž›αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ’αžαž·αžαž·αžαžΆαžšαžΆαž„αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž˜αž½αž™αŸ”αž…αž“αŸ’αž›αŸ„αŸ‡αž‚αž“αŸ’αž›αžΉαŸ‡αŸ– ks
αž…αŸ†αž“αž½αž“αž’αžΆαž“αŸ– 9383707
αž’αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαŸ– 0.04287025042448576 ms
αž…αŸ†αž“αž½αž“αžŸαžšαžŸαŸαžš: 15462012
សរសេរ LatencyαŸ– 0.1350068438699957 ms
αž‘αžΉαž€αž αžΌαžšαž˜αž·αž“αž‘αžΆαž“αŸ‹αžŸαž˜αŸ’αžšαŸαž…αŸ– ០
αžαžΆαžšαžΆαž„: t1
αž…αŸ†αž“αž½αž“ SSTable: 16
αž‘αŸ†αž αŸ†αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ (αž•αŸ’αž‘αžΆαž›αŸ‹)αŸ– 148.59 MiB
αž‘αŸ†αž αŸ†αžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ (αžŸαžšαž»αž”): 148.59 MiB
αž…αž“αŸ’αž›αŸ„αŸ‡αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αžšαžΌαž”αžαž (αžŸαžšαž»αž”)αŸ– 0 αž”αŸƒ
αž’αž„αŸ’αž‚β€‹αž…αž„αž…αžΆαŸ†β€‹αž”αž·αž‘β€‹αž αŸŠαžΆαž”β€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎ (αžŸαžšαž»αž”)αŸ– 5.17 αž˜αŸαž€αžΆαž”αŸƒ
αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž€αžΆαžšαž”αž„αŸ’αž αžΆαž”αŸ‹ SSTable: 0.5720989576459437
αž…αŸ†αž“αž½αž“αž—αžΆαž‚αžαžΆαžŸ (αž”αŸ‰αžΆαž“αŸ‹αžŸαŸ’αž˜αžΆαž“): 3970323
αž…αŸ†αž“αž½αž“β€‹αž€αŸ’αžšαž‘αžΆ MemtableαŸ– 0
αž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž’αžΆαž…αž…αž„αž…αžΆαŸ†αž”αžΆαž“αŸ– 0 αž”αŸƒ
Memtable off heap memory αž”αžΆαž“αž”αŸ’αžšαžΎαŸ– 0 bytes
αž…αŸ†αž“αž½αž“αž€αž»αž„αžαžΆαž€αŸ‹ MemtableαŸ– αŸ₯
αž…αŸ†αž“αž½αž“αž’αžΆαž“αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αŸ– 2346045
αž—αžΆαž–αž™αžΊαžαž“αŸƒαž€αžΆαžšαž’αžΆαž“αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αŸ– NaN ms
αž…αŸ†αž“αž½αž“αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αŸ– 3865503
αž—αžΆαž–αž™αžΊαžαž“αŸƒαž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αŸ– NaN ms
αž‘αžΉαž€αž αžΌαžšαž˜αž·αž“αž‘αžΆαž“αŸ‹αžŸαž˜αŸ’αžšαŸαž…αŸ– ០
αž—αžΆαž‚αžšαž™αž‡αž½αžŸαž‡αž»αž›αŸ– 0.0
Bloom αž…αŸ’αžšαŸ„αŸ‡αž•αž›αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž˜αž·αž“αž–αž·αžαŸ– ្αŸ₯
Bloom filter ratio αž˜αž·αž“αž–αž·αžαŸ– 0.00000
αž‘αŸ†αž αŸ†αžαž˜αŸ’αžšαž„ Bloom αž”αžΆαž“αž”αŸ’αžšαžΎαŸ– 4.57 MiB
Bloom filter off heap memory αžŠαŸ‚αž›αž”αŸ’αžšαžΎαŸ– 4.57 MiB
αž›αž·αž”αž·αž€αŸ’αžšαž˜αžŸαž„αŸ’αžαŸαž”αž”αž·αž‘αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† heap αž”αžΆαž“αž”αŸ’αžšαžΎαŸ– 590.02 KiB
αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αžΆαž”αŸ‹αž”αž·αž‘αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† heap αž”αžΆαž“αž”αŸ’αžšαžΎαŸ– 19.45 KiB
αž—αžΆαž‚αžαžΆαžŸαž”αž„αŸ’αžšαž½αž˜αž’αž”αŸ’αž”αž”αžšαž˜αžΆαŸ– ៣៦
αž”αž„αŸ’αžšαž½αž˜αž—αžΆαž‚αžαžΆαžŸαž’αžαž·αž”αžšαž˜αžΆαŸ– ៀ្
αž—αžΆαž‚αžαžΆαžŸαž”αž„αŸ’αžšαž½αž˜αž˜αž’αŸ’αž™αž˜αŸ– ៀ្
αž€αŸ„αžŸαž·αž€αžΆαž”αž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αž‡αžΆαž˜αž’αŸ’αž™αž˜αž€αŸ’αž“αž»αž„αž˜αž½αž™αž…αŸ†αžŽαž·αž (αž”αŸ’αžšαžΆαŸ†αž“αžΆαž‘αžΈαž…αž»αž„αž€αŸ’αžšαŸ„αž™): NaN
αž€αŸ„αžŸαž·αž€αžΆαž”αž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αž’αžαž·αž”αžšαž˜αžΆαž€αŸ’αž“αž»αž„αž˜αž½αž™αž…αŸ†αžŽαž·αž (αž”αŸ’αžšαžΆαŸ†αž“αžΆαž‘αžΈαž…αž»αž„αž€αŸ’αžšαŸ„αž™)αŸ– 0
αžαŸ’αž˜αž•αŸ’αž“αžΌαžšαž‡αžΆαž˜αž’αŸ’αž™αž˜αž€αŸ’αž“αž»αž„αž˜αž½αž™αž…αŸ†αžŽαž·αž (αž”αŸ’αžšαžΆαŸ†αž“αžΆαž‘αžΈαž…αž»αž„αž€αŸ’αžšαŸ„αž™): NaN
αžαŸ’αž˜αž•αŸ’αž“αžΌαžšαž’αžαž·αž”αžšαž˜αžΆαž€αŸ’αž“αž»αž„αž˜αž½αž™αž…αŸ†αžŽαž·αž (αž”αŸ’αžšαžΆαŸ†αž“αžΆαž‘αžΈαž…αž»αž„αž€αŸ’αžšαŸ„αž™): 0
αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž”αžΆαž“αž‘αž˜αŸ’αž›αžΆαž€αŸ‹αŸ– 0 αž”αŸƒ

αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž“αŸƒαž”αžΆαž…αŸ‹ (αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αž‰αŸ’αž‡αžΌαž“αžœαžΆαžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆ) αž˜αž·αž“αž˜αžΆαž“αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž‘αŸ αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‘αŸ…αŸ—αŸ” αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαŸ‚αž›αžαžΆαžαžΆαž˜αž–αž·αžαž“αŸαŸ‡αž‚αžΊαž–αž·αžαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ DataStax - αž”αŸ’αžšαž αŸ‚αž›αžšαžΆαž”αŸ‹αžšαž™αžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αžαžΆ CS αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CPU αž“αž·αž„ Disk αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ–

αžŸαž˜αžšαž—αžΌαž˜αž·αž™αŸ‰αžΆαž€αžΌαž αŸ’αžŸαžΌαžŽαžΆαž–αžΈαžš ឬ Cassandra vs HBase αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸ’αžšαž»αž˜ Sberbank
αžαž½αž›αŸαžαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αž‡αž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž–αžΈαžšαŸ”

αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž€αžΆαžšαž’αžΆαž“αžŠαŸαž˜αžΆαž“αž₯αž‘αŸ’αž’αž·αž–αž›αžšαž”αžŸαŸ‹ HB αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž–αžΈαžš αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαžΆαžŸαž€αŸ†αž‘αž»αž„αž–αŸαž›αž’αžΆαž“αž‚αžΊαž‘αžΆαž”αžαŸ’αž›αžΆαŸ†αž„ (αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž’αžΆαž“αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸƒαžœαžŠαŸ’αžαžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΈαž˜αž½αž™αŸ— αž§αž‘αžΆαž αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αž“αŸαŸ‡αž‚αžΊαž…αžΆαž”αŸ‹αž–αžΈαž˜αŸ‰αŸ„αž„ 15:20 αžŠαž›αŸ‹αž˜αŸ‰αŸ„αž„ 15:40)αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ HB αž αŸαžαž»αž•αž›αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹ - αž‘αž·αž“αŸ’αž“αž“αŸαž™αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž–αŸ’αž™αž½αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž€αŸ’αž“αž»αž„ memstore αž αžΎαž™αžαŸ’αž›αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž»αž€αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž€αŸ’αž“αž»αž„ blockcache αŸ” αž…αŸ†αž–αŸ„αŸ‡ CS αžœαžΆαž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŽαžΆαž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž€αŸ‚αž…αŸ’αž“αŸƒαžαžΆαžŸαž€αŸαž˜αž·αž“αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ row_cache_size_in_mb = 2048 αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ = {'keys': 'ALL', 'rows_per_partition': ' 2000000'} αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αž“αŸ’αžαž·αž…αŸ”

αžœαžΆαž€αŸαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž•αž„αžŠαŸ‚αžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž“αž·αž™αžΆαž™αž˜αŸ’αžαž„αž‘αŸ€αžαž“αžΌαžœαž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž’αŸ†αž–αžΈαž…αŸ†αž“αž½αž“αžαŸ†αž”αž“αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ HB αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αžαž˜αŸ’αž›αŸƒαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‡αžΆ 64 αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž“αŸ’αžαž™αžœαžΆαž αžΎαž™αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαžŸαŸ’αž˜αžΎαž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ 4 αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž–αŸαž›αž’αžΆαž“αž›αŸ’αž”αžΏαž“αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡ 2 αžŠαž„αŸ” αž αŸαžαž»αž•αž›αž‚αžΊαžαžΆ memstore αž“αžΉαž„αž”αŸ†αž–αŸαž‰αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“ αž αžΎαž™αž―αž€αžŸαžΆαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΌαžšαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž‡αžΆαž„αž˜αž»αž“ αž αžΎαž™αž“αŸ…αž–αŸαž›αž’αžΆαž“ αž―αž€αžŸαžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαŸ‚αž›αž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HB αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αŸ’αž™αžΆαž”αžΆαž›αžŠαŸ„αž™αž€αžΆαžšαž‚αž·αžαžαžΆαž˜αžšαž™αŸˆαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž€αŸ†αžŽαžαŸ‹αž‡αžΆαž˜αž»αž“ αž“αž·αž„αž”αž„αŸ’αžšαž½αž˜ αž‡αžΆαž–αž·αžŸαŸαžŸαž™αžΎαž„αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ‚αž›αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ αž“αž·αž„αž”αž„αŸ’αžšαž½αž˜ HFiles αž‡αžΆαž“αž·αž…αŸ’αž…αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™αŸ” αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαŸ‚αž›αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž DataStax αž–αž½αž€αž‚αŸαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αžαŸ‚ 1 αžαŸ†αž”αž“αŸ‹αž€αŸ’αž“αž»αž„αž˜αž½αž™αžαžΆαžšαžΆαž„ (αžŠαŸ‚αž›αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ) αž αžΎαž™αž“αŸαŸ‡αž“αžΉαž„αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αžΆαž“αžαŸ’αž›αŸ‡αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆ HB αž’αž“αŸ‹αž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž’αžΆαž“αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ”

αž€αžΆαžšαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“αž”αž‹αž˜αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαž“αŸαŸ‡αŸ” αžŠαŸ„αž™αžŸαž“αŸ’αž˜αžαžαžΆαž˜αž·αž“αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž’αŸ†αžŽαžΆαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αŸ„αŸ‡ Cassandra αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž‡αžΆ colossus αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‡αžΎαž„αž“αŸƒαžŠαžΈαž₯αžŠαŸ’αž‹αŸ” αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž“αžΆαž„αž˜αžΆαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸ…αž›αžΎαž‡αžΎαž„αž˜αŸ’αžαžΆαž„ αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αž“αŸ…αžŠαžΎαž˜αž’αžαŸ’αžαž”αž‘ αž“αžΆαž„αž”αž„αŸ’αž αžΆαž‰αž›αž‘αŸ’αž’αž•αž›αž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαž™αž»αž‘αŸ’αž’αž€αŸ’αžšαŸ„αž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αžΆαž„αž…αžΆαž‰αŸ‹αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αžŠαŸ„αž™αž‚αž·αžαž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž‘αžΆαž”αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž”αžΆαž“αžšαŸ€αž“αžŠαžΆαŸ† RegionServer HBs αž–αžΈαžšαž€αŸ’αž“αž»αž„αž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž αžΎαž™αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αŸ’αžœαŸαžŠαž„αŸ” αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αžŠαŸ„αž™αž‚αž·αžαž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αž‚αžΊαž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‘αŸ…αŸ—αŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž–αž·αžαž‡αžΆαžŸαŸ†αž™αŸ„αž‚ αž αžΎαž™αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαžαž·αž…αžαž½αž…αŸ” αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαŸ‚αž›αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αŸ’αžαžΌαžšαž‘αŸ… terabytes αž“αŸ„αŸ‡αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αžΉαž„αžαž»αžŸαž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HB αž™αžΎαž„αž’αžΆαž…αž•αŸ’αž‘αž»αž€ terabytes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CS αžœαžΆαž”αŸ’αžšαŸ‚αž‡αžΆαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ” αž‡αžΆαžšαžΏαž™αŸ—αžœαžΆαž”αžΆαž“αž”αŸ„αŸ‡αž…αŸ„αž› OperationTimedOutException αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αžΆαž“αž—αžΆαž‚αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž€αŸαžŠαŸ„αž™ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž„αŸ‹αž…αžΆαŸ†αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αž…αŸ’αžšαžΎαž“αžŠαž„αžšαž½αž…αž˜αž€αž αžΎαž™ αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž€αŸαžŠαŸ„αž™αŸ”

αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆ αžαžΆαž˜αžšαž™αŸˆαž€αž·αž…αŸ’αž…αžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αžšαž½αž˜αž‚αŸ’αž“αžΆ αž™αžΎαž„αž“αžΉαž„αžšαž€αžƒαžΎαž‰αž€αžΆαžšαžšαžΆαŸ†αž„αžŸαŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹ CS αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž’αžΆαž…αž–αž“αŸ’αž›αžΏαž“αžœαžΆ αž“αŸ„αŸ‡αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž”αŸ’αžšαž€αžΆαžŸ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž›αž‘αŸ’αž’αž•αž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ”

UPD: αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžšαž”αžŸαŸ‹αžŸαž˜αž˜αž·αžαŸ’αž αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž’αžΆαž“αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ” αž‚αžΊαŸ–
159 ops (644 αžαžΆαžšαžΆαž„, 4 αžŸαŸ’αž‘αŸ’αžšαžΈαž˜, αž”αžΆαž…αŸ‹ 5) αŸ”
:ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ:
.withLoadBalancingPolicy(New TokenAwarePolicy(DCAwareRoundRobinPolicy.builder(.build())))
αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž›αŸαž„αž‡αž»αŸ†αžœαž·αž‰αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž…αŸ†αž“αž½αž“αž“αŸƒαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αŸ” αž›αž‘αŸ’αž’αž•αž›αž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–
4 តុ, 100 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™, αž”αžΆαž…αŸ‹ = 1 (αžŠαž»αŸ†αž˜αž½αž™αžŠαž»αŸ†): 301 ops
4 αžαžΆαžšαžΆαž„, 100 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™, αž”αžΆαž…αŸ‹ = 10: 447 ops
4 αžαžΆαžšαžΆαž„, 100 αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™, αž”αžΆαž…αŸ‹ = 100: 625 ops

αž€αŸ’αžšαŸ„αž™αž˜αž€αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž’αž“αž»αžœαžαŸ’αžαž‚αž“αŸ’αž›αžΉαŸ‡αž€αŸ‚αžŸαŸ†αžšαž½αž›αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžŠαŸ’αžαžŸαžΆαž€αž›αŸ’αž”αž„αž–αŸαž‰αž›αŸαž‰ αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž›αž‘αŸ’αž’αž•αž›αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž”αŸ’αžšαž€αžΆαžŸαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹