{"id":297200,"date":"2020-01-16T09:00:15","date_gmt":"2020-01-16T09:00:15","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=297200"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=297200","title":{"rendered":"\u0411\u0438\u0442\u0432\u0430 \u0434\u0432\u0443\u0445 \u044f\u043a\u043e\u0434\u0437\u0443\u043d, \u0438\u043b\u0438 Cassandra vs HBase. \u041e\u043f\u044b\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0430"},"content":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/484096\/\">\u042d\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0448\u0443\u0442\u043a\u0430, \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0441\u0443\u0442\u044c \u044d\u0442\u0438\u0445 \u0411\u0414, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/i2\/lk\/zo\/i2lkzo9tq7zpeprcbtgm3-mufk4.png\"><\/p>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e DB-Engines Ranking, \u0434\u0432\u0435 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 NoSQL \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0431\u0430\u0437\u044b \u2014 \u044d\u0442\u043e Cassandra (\u0434\u0430\u043b\u0435\u0435 CS) \u0438 HBase (HB).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/su\/rd\/39\/surd39n7bmrbnxgpn0512tnxamm.png\"><\/p>\n<p>  \u0412\u043e\u043b\u0435\u044e \u0441\u0443\u0434\u0435\u0431 \u043d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0435 \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/420425\/\">\u0434\u0430\u0432\u043d\u043e<\/a> \u0438 \u043f\u043b\u043e\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 HB. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0443\u0447\u0438\u043b\u0438 \u0435\u0451 \u0441\u0438\u043b\u044c\u043d\u044b\u0435 \u0438 \u0441\u043b\u0430\u0431\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0438 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0435\u0451 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b \u0432 \u0432\u0438\u0434\u0435 CS \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u0437\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0441\u043e\u043c\u043d\u0435\u043d\u0438\u044f\u043c\u0438: \u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438? \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b <a href=\"https:\/\/www.datastax.com\/products\/compare\/nosql-performance-benchmarks\">\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/a>, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e DataStax, \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438, \u0447\u0442\u043e CS \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u0435\u0442 HB \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441 \u0440\u0430\u0437\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u0441\u0447\u0435\u0442\u043e\u043c. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, DataStax \u2014 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e, \u0438 \u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u0441\u043b\u043e\u0432\u043e \u0442\u0443\u0442 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442. \u0422\u0430\u043a\u0436\u0435 \u0441\u043c\u0443\u0449\u0430\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0430\u043b\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u0442\u043e \u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u043b\u0435\u043c BigData NoSql, \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0432\u0435\u0441\u044c\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441\u0440\u0435\u0434\u044b. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e CS \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0435\u043c \u043f\u043e\u0442\u0435\u0440\u044e \u0434\u0430\u043d\u043d\u044b\u0445. \u0422.\u0435. \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0435\u0440 (\u043d\u043e\u0434\u0430) \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043a\u043e\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438 \u043e\u043d \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043e\u0442\u0432\u0430\u043b\u0438\u043b\u0441\u044f, \u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043e. \u0414\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u044d\u0442\u043e \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e, \u043e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0441\u0444\u0435\u0440\u044b \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0447\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u043e. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043f\u0438\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b CS \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0442\u0440\u043e\u0439\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0442.\u0435. \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0435\u0439\u0441\u043f\u0435\u0439\u0441\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">CREATE KEYSPACE ks WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3};<\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438. \u041e\u0431\u0449\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e:<br \/>  NW + NR &gt; RF<\/p>\n<p>  \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0439 \u043e\u0442 \u043d\u043e\u0434 \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 (NW) \u043f\u043b\u044e\u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0439 \u043e\u0442 \u043d\u043e\u0434 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 (NR) \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 RF = 3 \u0438 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b:<br \/>  2 + 2 &gt; 3<br \/>  3 + 1 &gt; 3<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043c \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0441\u0445\u0435\u043c\u0430 3+1. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 HB \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u043c\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443, \u0442.\u0435. \u0442\u0430\u043a\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u0441\u0442\u043d\u044b\u043c.<\/p>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e DataStax \u0432 \u0441\u0432\u043e\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043e\u043d\u0438 \u0441\u0442\u0430\u0432\u0438\u043b\u0438 RF = 1 \u0438 \u0434\u043b\u044f CS \u0438 \u0434\u043b\u044f HB (\u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043f\u0443\u0442\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a HDFS). \u042d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u0430\u0441\u043f\u0435\u043a\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c CS \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u043d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0440\u043e\u0441\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 CS:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fw\/az\/r9\/fwazr9muypegpgjpyaq4rnagg8u.png\"><\/p>\n<p>  \u0422\u0443\u0442 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435, \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043f\u0438\u0448\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u0435\u043c \u0434\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442. \u042d\u0442\u043e \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u043e \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f RF=3 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u0448\u0435. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0432 4 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u043e 5 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (\u0438\u0442\u043e\u0433\u043e 20), \u0442\u043e RF=3 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 2 \u0440\u0430\u0437\u0430 (150 \u0441\u0435\u043a\u0443\u043d\u0434 RF=3 \u043f\u0440\u043e\u0442\u0438\u0432 75 \u0434\u043b\u044f RF=1). \u041d\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 8 \u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u043e 5 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (\u0438\u0442\u043e\u0433\u043e 40), \u0442\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0448 RF=3 \u0443\u0436\u0435 \u0432 2,7 \u0440\u0430\u0437 (375 \u0441\u0435\u043a\u0443\u043d\u0434 \u043f\u0440\u043e\u0442\u0438\u0432 138).<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u0432 \u044d\u0442\u043e\u043c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u043a\u0440\u0435\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u043b\u044f CS \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e DataStax, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043b\u044f HB \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0442\u0435\u043d\u0434\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441 2 \u0434\u043e 3 \u043d\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u044f. \u0422.\u0435. \u0434\u0438\u0441\u043a\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0443\u0437\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c \u0434\u043b\u044f HB \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u0432\u0435\u0440\u0441\u0438\u044f HB \u0431\u044b\u043b\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0435\u043d\u0430 \u0438 \u0437\u0430\u0442\u044e\u043d\u0435\u043d\u0430, \u0441\u0440\u0435\u0434\u044b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0438 \u0442.\u0434. \u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u044e \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c CS \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u0439 \u0438 \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u043c \u044d\u0442\u043e. \u041d\u043e \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443.<\/p>\n<p>  \u0412\u0441\u0435 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0438\u0437 4 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043a\u0430\u0436\u0434\u044b\u0439 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<p>  <i>CPU: Xeon E5-2680 v4 @ 2.40GHz 64 threads.<br \/>  \u0414\u0438\u0441\u043a\u0438: 12 \u0448\u0442\u0443\u043a SATA HDD<br \/>  java version: 1.8.0_111<br \/>  <\/i><\/p>\n<p>  \u0412\u0435\u0440\u0441\u0438\u044f CS: 3.11.5<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b cassandra.yml<\/b><\/p>\n<div class=\"spoiler_text\">num_tokens: 256<br \/>  hinted_handoff_enabled: true<br \/>  hinted_handoff_throttle_in_kb: 1024<br \/>  max_hints_delivery_threads: 2<br \/>  hints_directory: \/data10\/cassandra\/hints<br \/>  hints_flush_period_in_ms: 10000<br \/>  max_hints_file_size_in_mb: 128<br \/>  batchlog_replay_throttle_in_kb: 1024<br \/>  authenticator: AllowAllAuthenticator<br \/>  authorizer: AllowAllAuthorizer<br \/>  role_manager: CassandraRoleManager<br \/>  roles_validity_in_ms: 2000<br \/>  permissions_validity_in_ms: 2000<br \/>  credentials_validity_in_ms: 2000<br \/>  partitioner: org.apache.cassandra.dht.Murmur3Partitioner<br \/>  data_file_directories:<br \/>   \u2014 \/data1\/cassandra\/data # \u043a\u0430\u0436\u0434\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f dataN \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a<br \/>   \u2014 \/data2\/cassandra\/data<br \/>   \u2014 \/data3\/cassandra\/data<br \/>   \u2014 \/data4\/cassandra\/data<br \/>   \u2014 \/data5\/cassandra\/data<br \/>   \u2014 \/data6\/cassandra\/data<br \/>   \u2014 \/data7\/cassandra\/data<br \/>   \u2014 \/data8\/cassandra\/data<br \/>  commitlog_directory: \/data9\/cassandra\/commitlog<br \/>  cdc_enabled: false<br \/>  disk_failure_policy: stop<br \/>  commit_failure_policy: stop<br \/>  prepared_statements_cache_size_mb:<br \/>  thrift_prepared_statements_cache_size_mb:<br \/>  key_cache_size_in_mb:<br \/>  key_cache_save_period: 14400<br \/>  row_cache_size_in_mb: 0<br \/>  row_cache_save_period: 0<br \/>  counter_cache_size_in_mb:<br \/>  counter_cache_save_period: 7200<br \/>  saved_caches_directory: \/data10\/cassandra\/saved_caches<br \/>  commitlog_sync: periodic<br \/>  commitlog_sync_period_in_ms: 10000<br \/>  commitlog_segment_size_in_mb: 32<br \/>  seed_provider:<br \/>   \u2014 class_name: org.apache.cassandra.locator.SimpleSeedProvider<br \/>   parameters:<br \/>   \u2014 seeds: &quot;*,*&quot;<br \/>  concurrent_reads: 256 # \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 64 \u2014 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e<br \/>  concurrent_writes: 256 # \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 64 \u2014 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e<br \/>  concurrent_counter_writes: 256 # \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 64 \u2014 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e<br \/>  concurrent_materialized_view_writes: 32<br \/>  memtable_heap_space_in_mb: 2048 # \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 16 \u0413\u0431 \u2014 \u0431\u044b\u043b\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435<br \/>  memtable_allocation_type: heap_buffers<br \/>  index_summary_capacity_in_mb:<br \/>  index_summary_resize_interval_in_minutes: 60<br \/>  trickle_fsync: false<br \/>  trickle_fsync_interval_in_kb: 10240<br \/>  storage_port: 7000<br \/>  ssl_storage_port: 7001<br \/>  listen_address: *<br \/>  broadcast_address: *<br \/>  listen_on_broadcast_address: true<br \/>  internode_authenticator: org.apache.cassandra.auth.AllowAllInternodeAuthenticator<br \/>  start_native_transport: true<br \/>  native_transport_port: 9042<br \/>  start_rpc: true<br \/>  rpc_address: *<br \/>  rpc_port: 9160<br \/>  rpc_keepalive: true<br \/>  rpc_server_type: sync<br \/>  thrift_framed_transport_size_in_mb: 15<br \/>  incremental_backups: false<br \/>  snapshot_before_compaction: false<br \/>  auto_snapshot: true<br \/>  column_index_size_in_kb: 64<br \/>  column_index_cache_size_in_kb: 2<br \/>  concurrent_compactors: 4<br \/>  compaction_throughput_mb_per_sec: 1600<br \/>  sstable_preemptive_open_interval_in_mb: 50<br \/>  read_request_timeout_in_ms: 100000<br \/>  range_request_timeout_in_ms: 200000<br \/>  write_request_timeout_in_ms: 40000<br \/>  counter_write_request_timeout_in_ms: 100000<br \/>  cas_contention_timeout_in_ms: 20000<br \/>  truncate_request_timeout_in_ms: 60000<br \/>  request_timeout_in_ms: 200000<br \/>  slow_query_log_timeout_in_ms: 500<br \/>  cross_node_timeout: false<br \/>  endpoint_snitch: GossipingPropertyFileSnitch<br \/>  dynamic_snitch_update_interval_in_ms: 100<br \/>  dynamic_snitch_reset_interval_in_ms: 600000<br \/>  dynamic_snitch_badness_threshold: 0.1<br \/>  request_scheduler: org.apache.cassandra.scheduler.NoScheduler<br \/>  server_encryption_options:<br \/>   internode_encryption: none<br \/>  client_encryption_options:<br \/>   enabled: false<br \/>  internode_compression: dc<br \/>  inter_dc_tcp_nodelay: false<br \/>  tracetype_query_ttl: 86400<br \/>  tracetype_repair_ttl: 604800<br \/>  enable_user_defined_functions: false<br \/>  enable_scripted_user_defined_functions: false<br \/>  windows_timer_interval: 1<br \/>  transparent_data_encryption_options:<br \/>   enabled: false<br \/>  tombstone_warn_threshold: 1000<br \/>  tombstone_failure_threshold: 100000<br \/>  batch_size_warn_threshold_in_kb: 200<br \/>  batch_size_fail_threshold_in_kb: 250<br \/>  unlogged_batch_across_partitions_warn_threshold: 10<br \/>  compaction_large_partition_warning_threshold_mb: 100<br \/>  gc_warn_threshold_in_ms: 1000<br \/>  back_pressure_enabled: false<br \/>  enable_materialized_views: true<br \/>  enable_sasi_indexes: true  <\/div>\n<\/div>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 GC:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">### CMS Settings<\/b><\/p>\n<div class=\"spoiler_text\">-XX:+UseParNewGC<br \/>  -XX:+UseConcMarkSweepGC<br \/>  -XX:+CMSParallelRemarkEnabled<br \/>  -XX:SurvivorRatio=8<br \/>  -XX:MaxTenuringThreshold=1<br \/>  -XX:CMSInitiatingOccupancyFraction=75<br \/>  -XX:+UseCMSInitiatingOccupancyOnly<br \/>  -XX:CMSWaitDuration=10000<br \/>  -XX:+CMSParallelInitialMarkEnabled<br \/>  -XX:+CMSEdenChunksRecordAlways<br \/>  -XX:+CMSClassUnloadingEnabled<\/p><\/div>\n<\/div>\n<p>  \u041f\u0430\u043c\u044f\u0442\u0438 jvm.options \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u043e\u0441\u044c 16Gb (\u0435\u0449\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 32 Gb, \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043e).<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"sql\">CREATE TABLE ks.t1 (id bigint PRIMARY KEY, title text) WITH compression = {'sstable_compression': 'LZ4Compressor', 'chunk_length_kb': 64};<\/code><\/pre>\n<p>  \u0412\u0435\u0440\u0441\u0438\u044f HB: 1.2.0-cdh5.14.2 (\u0432 \u043a\u043b\u0430\u0441\u0441\u0435 org.apache.hadoop.hbase.regionserver.HRegion \u043d\u0430\u043c\u0438 \u0431\u044b\u043b \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d MetricsRegion \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043a GC \u043f\u0440\u0438 \u043a\u043e\u043b-\u0432\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0431\u043e\u043b\u0435\u0435 1000 \u043d\u0430 RegionServer)<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b non-default HBase<\/b><\/p>\n<div class=\"spoiler_text\">zookeeper.session.timeout: 120000<br \/>  hbase.rpc.timeout: 2 minute(s)<br \/>  hbase.client.scanner.timeout.period: 2 minute(s)<br \/>  hbase.master.handler.count: 10<br \/>  hbase.regionserver.lease.period, hbase.client.scanner.timeout.period: 2 minute(s)<br \/>  hbase.regionserver.handler.count: 160<br \/>  hbase.regionserver.metahandler.count: 30<br \/>  hbase.regionserver.logroll.period: 4 hour(s)<br \/>  hbase.regionserver.maxlogs: 200<br \/>  hbase.hregion.memstore.flush.size: 1 GiB<br \/>  hbase.hregion.memstore.block.multiplier: 6<br \/>  hbase.hstore.compactionThreshold: 5<br \/>  hbase.hstore.blockingStoreFiles: 200<br \/>  hbase.hregion.majorcompaction: 1 day(s)<br \/>  HBase Service Advanced Configuration Snippet (Safety Valve) for hbase-site.xml: <br \/>  hbase.regionserver.wal.codecorg.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec<br \/>  hbase.master.namespace.init.timeout3600000<br \/>  hbase.regionserver.optionalcacheflushinterval18000000<br \/>  hbase.regionserver.thread.compaction.large12<br \/>  hbase.regionserver.wal.enablecompressiontrue<br \/>  hbase.hstore.compaction.max.size1073741824<br \/>  hbase.server.compactchecker.interval.multiplier200<br \/>  Java Configuration Options for HBase RegionServer: <br \/>  -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:ReservedCodeCacheSize=256m<br \/>  hbase.snapshot.master.timeoutMillis: 2 minute(s)<br \/>  hbase.snapshot.region.timeout: 2 minute(s)<br \/>  hbase.snapshot.master.timeout.millis: 2 minute(s)<br \/>  HBase REST Server Max Log Size: 100 MiB<br \/>  HBase REST Server Maximum Log File Backups: 5<br \/>  HBase Thrift Server Max Log Size: 100 MiB<br \/>  HBase Thrift Server Maximum Log File Backups: 5<br \/>  Master Max Log Size: 100 MiB<br \/>  Master Maximum Log File Backups: 5<br \/>  RegionServer Max Log Size: 100 MiB<br \/>  RegionServer Maximum Log File Backups: 5<br \/>  HBase Active Master Detection Window: 4 minute(s)<br \/>  dfs.client.hedged.read.threadpool.size: 40<br \/>  dfs.client.hedged.read.threshold.millis: 10 millisecond(s)<br \/>  hbase.rest.threads.min: 8<br \/>  hbase.rest.threads.max: 150<br \/>  Maximum Process File Descriptors: 180000<br \/>  hbase.thrift.minWorkerThreads: 200<br \/>  hbase.master.executor.openregion.threads: 30<br \/>  hbase.master.executor.closeregion.threads: 30<br \/>  hbase.master.executor.serverops.threads: 60<br \/>  hbase.regionserver.thread.compaction.small: 6<br \/>  hbase.ipc.server.read.threadpool.size: 20<br \/>  Region Mover Threads: 6<br \/>  Client Java Heap Size in Bytes: 1 GiB<br \/>  HBase REST Server Default Group: 3 GiB<br \/>  HBase Thrift Server Default Group: 3 GiB<br \/>  Java Heap Size of HBase Master in Bytes: 16 GiB<br \/>  Java Heap Size of HBase RegionServer in Bytes: 32 GiB<\/p>\n<p>  +ZooKeeper<br \/>  maxClientCnxns: 601<br \/>  maxSessionTimeout: 120000<\/div>\n<\/div>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446:<br \/>  <i>hbase org.apache.hadoop.hbase.util.RegionSplitter ns:t1 UniformSplit -c 64 -f cf<br \/>  alter &#8216;ns:t1&#8217;, {NAME =&gt; &#8216;cf&#8217;, DATA_BLOCK_ENCODING =&gt; &#8216;FAST_DIFF&#8217;, COMPRESSION =&gt; &#8216;GZ&#8217;}<\/i><\/p>\n<p>  \u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u2014 \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 DataStax \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 HB, \u0445\u043e\u0442\u044f \u044d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0431\u044b\u043b\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u043a\u043e\u043b-\u0432\u043e = 64, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u043e 640 \u0413\u0411, \u0442.\u0435. \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<\/p>\n<p>  \u0412 HBase \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0430 \u0431\u044b\u043b\u043e 22 \u0442\u044b\u0441\u044f\u0447\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 67 \u0442\u044b\u0441\u044f\u0447 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 (\u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0443\u0431\u0438\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438 1.2.0, \u0435\u0441\u043b\u0438 \u0431\u044b \u043d\u0435 \u043f\u0430\u0442\u0447 \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0434\u0430. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0431\u044b\u043b\u043e \u044f\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u043d\u044b\u043c \u0434\u043b\u044f \u0442\u043e\u0439 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u0411\u0414, \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u0445. \u0422.\u0435. \u0432 \u043e\u0434\u043d\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0448\u043b\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432 4 \u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0435 4 \u043d\u043e\u0434\u044b). \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 8 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 \u0431\u044b\u043b \u0440\u0430\u0432\u0435\u043d 100, \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 200 (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 batch \u2014 \u0441\u043c. \u043a\u043e\u0434 \u043d\u0438\u0436\u0435). \u0420\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f value 10 \u0431\u0430\u0439\u0442 \u0438\u043b\u0438 100 \u0431\u0430\u0439\u0442 (dataSize). \u0412\u0441\u0435\u0433\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0438 \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u043e 5 \u043c\u043b\u043d. \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u0438\u0441\u0430\u043b\u0438\/\u0447\u0438\u0442\u0430\u043b\u0438 5 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (\u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0442\u043e\u043a\u0430 \u2014 thNum), \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0432\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043a\u043b\u044e\u0447\u0435\u0439 (count = 1 \u043c\u043b\u043d):<\/p>\n<pre><code class=\"java\">if (opType.equals(&quot;insert&quot;)) {     for (Long key = count * thNum; key &lt; count * (thNum + 1); key += 0) {         StringBuilder sb = new StringBuilder(&quot;BEGIN BATCH &quot;);         for (int i = 0; i &lt; batch; i++) {             String value = RandomStringUtils.random(dataSize, true, true);             sb.append(&quot;INSERT INTO &quot;)                     .append(tableName)                     .append(&quot;(id, title) &quot;)                     .append(&quot;VALUES (&quot;)                     .append(key)                     .append(&quot;, '&quot;)                     .append(value)                     .append(&quot;');&quot;);             key++;         }         sb.append(&quot;APPLY BATCH;&quot;);         final String query = sb.toString();         session.execute(query);     } } else {     for (Long key = count * thNum; key &lt; count * (thNum + 1); key += 0) {         StringBuilder sb = new StringBuilder(&quot;SELECT * FROM &quot;).append(tableName).append(&quot; WHERE id IN (&quot;);         for (int i = 0; i &lt; batch; i++) {             sb = sb.append(key);             if (i+1 &lt; batch)                 sb.append(&quot;,&quot;);             key++;         }         sb = sb.append(&quot;);&quot;);         final String query = sb.toString();         ResultSet rs = session.execute(query);     } } <\/code><\/pre>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0434\u043b\u044f HB:<\/p>\n<pre><code class=\"java\">Configuration conf = getConf(); HTable table = new HTable(conf, keyspace + &quot;:&quot; + tableName); table.setAutoFlush(false, false); List&lt;Get&gt; lGet = new ArrayList&lt;&gt;(); List&lt;Put&gt; lPut = new ArrayList&lt;&gt;(); byte[] cf = Bytes.toBytes(&quot;cf&quot;); byte[] qf = Bytes.toBytes(&quot;value&quot;); if (opType.equals(&quot;insert&quot;)) {     for (Long key = count * thNum; key &lt; count * (thNum + 1); key += 0) {         lPut.clear();         for (int i = 0; i &lt; 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 &lt; count * (thNum + 1); key += 0) {         lGet.clear();         for (int i = 0; i &lt; batch; i++) {             Get g = new Get(makeHbaseRowKey(key));             lGet.add(g);             key++;         }         Result[] rs = table.get(lGet);     } } <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0432 HB \u043e \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u043c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442, \u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043e\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"java\">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); } <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u2014 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/id\/yd\/pc\/idydpc9plsmulsycf0i-wqy3c3c.png\"><\/p>\n<p>  \u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/72\/ag\/o1\/72ago1u2gdnlufjanqwavk5p1jk.png\"><\/p>\n<p>  \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e HB \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u043d\u0438\u0435 \u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0443\u0437\u043a\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 CS. \u041e\u0434\u043d\u0430\u043a\u043e \u0433\u0443\u0433\u043b\u0435\u0436 \u0438 \u043a\u0440\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u0432\u0440\u043e\u0434\u0435 concurrent_writes \u0438\u043b\u0438 memtable_heap_space_in_mb) \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043d\u0435 \u0434\u0430\u043b\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043b\u043e\u0433\u0430\u0445 \u0447\u0438\u0441\u0442\u043e, \u043d\u0438 \u043d\u0430 \u0447\u0442\u043e \u043d\u0435 \u0440\u0443\u0433\u0430\u0435\u0442\u0441\u044f. <\/p>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u043b\u0435\u0433\u043b\u0438 \u043f\u043e \u043d\u043e\u0434\u0430\u043c \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0441\u043e \u0432\u0441\u0435\u0445 \u043d\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0430\u044f.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043d\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">Keyspace: ks<br \/>   Read Count: 9383707<br \/>   Read Latency: 0.04287025042448576 ms<br \/>   Write Count: 15462012<br \/>   Write Latency: 0.1350068438699957 ms<br \/>   Pending Flushes: 0<br \/>   Table: t1<br \/>   SSTable count: 16<br \/>   Space used (live): 148.59 MiB<br \/>   Space used (total): 148.59 MiB<br \/>   Space used by snapshots (total): 0 bytes<br \/>   Off heap memory used (total): 5.17 MiB<br \/>   SSTable Compression Ratio: 0.5720989576459437<br \/>   Number of partitions (estimate): 3970323<br \/>   Memtable cell count: 0<br \/>   Memtable data size: 0 bytes<br \/>   Memtable off heap memory used: 0 bytes<br \/>   Memtable switch count: 5<br \/>   Local read count: 2346045<br \/>   Local read latency: NaN ms<br \/>   Local write count: 3865503<br \/>   Local write latency: NaN ms<br \/>   Pending flushes: 0<br \/>   Percent repaired: 0.0<br \/>   Bloom filter false positives: 25<br \/>   Bloom filter false ratio: 0.00000<br \/>   Bloom filter space used: 4.57 MiB<br \/>   Bloom filter off heap memory used: 4.57 MiB<br \/>   Index summary off heap memory used: 590.02 KiB<br \/>   Compression metadata off heap memory used: 19.45 KiB<br \/>   Compacted partition minimum bytes: 36<br \/>   Compacted partition maximum bytes: 42<br \/>   Compacted partition mean bytes: 42<br \/>   Average live cells per slice (last five minutes): NaN<br \/>   Maximum live cells per slice (last five minutes): 0<br \/>   Average tombstones per slice (last five minutes): NaN<br \/>   Maximum tombstones per slice (last five minutes): 0<br \/>   Dropped Mutations: 0 bytes  <\/div>\n<\/div>\n<p>  \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 (\u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u0448\u0442\u0443\u0447\u043d\u043e) \u043d\u0435 \u0434\u0430\u043b\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0430, \u0441\u0442\u0430\u043b\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0443\u0436\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f CS, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e CS \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0438 \u0443 DataStax \u2014 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u043d\u0438 \u0442\u044b\u0441\u044f\u0447 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e CS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0426\u041f\u0423 \u0438 \u0434\u0438\u0441\u043a\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/us\/fo\/i4\/usfoi4-mgkktzlosilmz2ogm7uu.png\"><br \/>  <i>\u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u043e\u0434\u0440\u044f\u0434 \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u0411\u0414.<\/i><\/p>\n<p>  \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043c\u043e\u0449\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 HB \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438. \u0422\u0443\u0442 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u0411\u0414 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0438\u0437\u043a\u0430\u044f (\u0442\u0435\u0441\u0442\u044b \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u044d\u0442\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0446\u0438\u043a\u043b\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0411\u0414, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f CS \u044d\u0442\u043e \u0441 15:20 \u0434\u043e 15:40). \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 HB \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u0430 \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0438\u0441\u0438\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432 memstore \u0438 \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432 blockcache. \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f CS, \u0442\u043e \u0442\u0443\u0442 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u044f\u0441\u043d\u043e \u043a\u0430\u043a \u043e\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u0436\u0435 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0438\u0441\u043a\u043e\u0432 \u043d\u0435 \u0432\u0438\u0434\u043d\u043e, \u043d\u043e \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0431\u044b\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u044d\u0448 row_cache_size_in_mb = 2048 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d caching = {\u2018keys\u2019: \u2018ALL\u2019, \u2018rows_per_partition\u2019: \u20182000000\u2019}, \u043d\u043e \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u0430\u043b\u043e \u0434\u0430\u0436\u0435 \u0447\u0443\u0442\u044c \u0445\u0443\u0436\u0435.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u0440\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e \u043a\u043e\u043b-\u0432\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0432 HB. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044b\u043b\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 64. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u0432\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 4, \u0442\u043e \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0430\u0434\u0430\u0435\u0442 \u0432 2 \u0440\u0430\u0437\u0430. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e memstore \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0431\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u0444\u043b\u0430\u0448\u0438\u0442\u044c\u0441\u044f \u0447\u0430\u0449\u0435 \u0438 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0430\u0439\u043b\u043e\u0432, \u0447\u0442\u043e \u0434\u043b\u044f HB \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u044d\u0442\u043e \u043b\u0435\u0447\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u0443\u043c\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043f\u0440\u0435\u0441\u043f\u043b\u0438\u0442\u0438\u043d\u0433\u0430 \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440\u043a\u043e\u0439 \u043c\u0443\u0441\u043e\u0440\u0430 \u0438 \u0441\u0436\u0430\u0442\u0438\u0435\u043c HFiles \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0412\u043f\u043e\u043b\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 DataStax \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 1 \u0440\u0435\u0433\u0438\u043e\u043d \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 (\u0447\u0442\u043e \u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e) \u0438 \u044d\u0442\u043e \u0431\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u044f\u0441\u043d\u0438\u043b\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 HB \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043b \u0432 \u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u043e\u0442\u0441\u044e\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435. \u0415\u0441\u043b\u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u0445\u043e\u0434\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u043e \u0433\u0440\u0443\u0431\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u0442\u043e Cassandra \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 \u043a\u043e\u043b\u043e\u0441\u0441\u0430 \u043d\u0430 \u0433\u043b\u0438\u043d\u044f\u043d\u044b\u0445 \u043d\u043e\u0433\u0430\u0445. \u0422\u043e\u0447\u043d\u0435\u0435, \u043f\u043e\u043a\u0430 \u043e\u043d\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u0443\u0435\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0433\u0435, \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u043e\u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u043b\u043e\u0445\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u043d\u043e \u043f\u0440\u0438 \u0441\u0445\u0432\u0430\u0442\u043a\u0435 \u0432 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0447\u0438\u0441\u0442\u0443\u044e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043d\u0438\u0437\u043a\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e CPU \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0436\u0435\u043b\u0435\u0437\u0435 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u044b\u0441\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e \u0434\u0432\u0430 RegionServer HB \u043d\u0430 \u0445\u043e\u0441\u0442 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0443\u0434\u0432\u043e\u0438\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0422.\u0435. \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0434\u043b\u044f CS \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u043b\u0430\u0447\u0435\u0432\u043d\u0430\u044f.<\/p>\n<p>  \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u044d\u0442\u0438 \u0442\u0435\u0441\u0442\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u043e\u0431\u044a\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0442\u0443\u0442, \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u0439. \u041d\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043d\u0430 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u044b \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0431\u044b \u0438\u043d\u0430\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u0434\u043b\u044f HB \u043c\u044b \u0443\u043c\u0435\u0435\u043c \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u044b, \u0442\u043e \u0434\u043b\u044f CS \u044d\u0442\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e. \u041e\u043d\u0430 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0432\u044b\u0434\u0430\u0432\u0430\u043b\u0430 OperationTimedOutException \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u044d\u0442\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445, \u0445\u043e\u0442\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u0438 \u0442\u0430\u043a \u0431\u044b\u043b\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u044b \u0432 \u0440\u0430\u0437\u044b \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c\u0438.<\/p>\n<p>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u0443\u0441\u0438\u043b\u0438\u044f\u043c\u0438 \u043c\u044b \u043d\u0430\u0439\u0434\u0435\u043c \u0443\u0437\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 CS \u0438 \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0435\u0451 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c, \u0442\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0441\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445.<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/484096\/\"> https:\/\/habr.com\/ru\/company\/sberbank\/blog\/484096\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/484096\/\">\u042d\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0448\u0443\u0442\u043a\u0430, \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0441\u0443\u0442\u044c \u044d\u0442\u0438\u0445 \u0411\u0414, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/i2\/lk\/zo\/i2lkzo9tq7zpeprcbtgm3-mufk4.png\"><\/p>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e DB-Engines Ranking, \u0434\u0432\u0435 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 NoSQL \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0431\u0430\u0437\u044b \u2014 \u044d\u0442\u043e Cassandra (\u0434\u0430\u043b\u0435\u0435 CS) \u0438 HBase (HB).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/su\/rd\/39\/surd39n7bmrbnxgpn0512tnxamm.png\"><\/p>\n<p>  \u0412\u043e\u043b\u0435\u044e \u0441\u0443\u0434\u0435\u0431 \u043d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0435 \u0443\u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/420425\/\">\u0434\u0430\u0432\u043d\u043e<\/a> \u0438 \u043f\u043b\u043e\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 HB. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0443\u0447\u0438\u043b\u0438 \u0435\u0451 \u0441\u0438\u043b\u044c\u043d\u044b\u0435 \u0438 \u0441\u043b\u0430\u0431\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0438 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0435\u0451 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b \u0432 \u0432\u0438\u0434\u0435 CS \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u0437\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0441\u043e\u043c\u043d\u0435\u043d\u0438\u044f\u043c\u0438: \u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043b\u0438 \u0432\u044b\u0431\u043e\u0440 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438? \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b <a href=\"https:\/\/www.datastax.com\/products\/compare\/nosql-performance-benchmarks\">\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/a>, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e DataStax, \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438, \u0447\u0442\u043e CS \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u0435\u0442 HB \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441 \u0440\u0430\u0437\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u0441\u0447\u0435\u0442\u043e\u043c. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, DataStax \u2014 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e, \u0438 \u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u0441\u043b\u043e\u0432\u043e \u0442\u0443\u0442 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442. \u0422\u0430\u043a\u0436\u0435 \u0441\u043c\u0443\u0449\u0430\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0430\u043b\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u0442\u043e \u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043e\u043b\u0435\u043c BigData NoSql, \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0432\u0435\u0441\u044c\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-297200","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297200"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297200\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=297200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=297200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}