{"id":225219,"date":"2016-12-23T20:32:52","date_gmt":"2016-12-23T12:32:52","guid":{"rendered":"http:\/\/yangzhe1991.org\/blog\/?p=225219"},"modified":"2016-12-23T20:32:52","modified_gmt":"2016-12-23T12:32:52","slug":"hbase-after-10-features","status":"publish","type":"post","link":"https:\/\/yangzhe1991.org\/blog\/2016\/12\/hbase-after-10-features\/","title":{"rendered":"HBase 1.0 \u4e4b\u540e\u5728\u6700\u8fd1\u4e24\u5e74\u52a0\u7684\u4e00\u4e9b\u65b0\u529f\u80fd"},"content":{"rendered":"<p>HBase\u4f5c\u4e3aBigTable\u7684\u5f00\u6e90\u5b9e\u73b0\uff08\u4e4b\u4e00\uff0c\u4f46\u4e5f\u662f\u5e94\u7528\u6700\u5e7f\u7684\uff09\uff0c\u5176\u67b6\u6784\u5e94\u8be5\u5f88\u591a\u4eba\u5373\u4f7f\u5b8c\u5168\u6ca1\u770b\u8fc7HBase\u7684\u4ee3\u7801\u4e5f\u90fd\u5f88\u6e05\u695a\uff0c\u6bd5\u7adf\u5e72\u8fd9\u4e2a\u7684\u51e0\u4e4e\u6ca1\u4eba\u6ca1\u8bfb\u8fc7BigTable\u7684\u8bba\u6587\u3002\u4f46\u4e00\u4e2a\u7cfb\u7edf\u9664\u4e86\u6700\u57fa\u7840\u7684\u67b6\u6784\u5916\u8fd8\u9700\u8981\u6709\u4e00\u4e9b\u7ec6\u8282\u7684\u4f18\u5316\u548c\u5b9e\u7528\u7684\u529f\u80fd\uff0c\u5f88\u591a\u529f\u80fd\u5927\u5bb6\u5c31\u4e0d\u89c1\u5f97\u4e86\u89e3\u4e86\u3002\u56e0\u6b64\u611f\u89c9\u6709\u5fc5\u8981\u4ecb\u7ecd\u4e0b\u6700\u8fd1\u4e24\u5e74HBase\u65b0\u589e\u7684\u4e00\u4e9b\u6bd4\u8f83\u91cd\u8981\u7684\u529f\u80fd\u3002\u4ee50.98\u4e3a\u57fa\u51c6\uff0c\u5728\u6b64\u5047\u8bbe0.98\u6240\u5305\u542b\u7684\u529f\u80fd\u662f\u5927\u5bb6\u6240\u4e86\u89e3\u7684\uff0c\u6bd5\u7adf0.98.0\u662f2014\u5e742\u6708\u53d1\u5e03\u4e86\u7684\u3002<\/p>\n<p><!--more--><\/p>\n<p>HBase 1.0.0 \u57282015\u5e742\u6708\u53d1\u5e03\u540e\uff0c\u9996\u5148\u6700\u76f4\u89c2\u7684\u6539\u53d8\u662f\u7248\u672c\u53f7\u91c7\u7528\u4e86semantic versioning\u7684\u8bed\u4e49\uff0ca.b.c\u7684\u7248\u672c\u53f7\uff0ca major version\u53d8\u4e86\u4e0d\u4fdd\u8bc1\u517c\u5bb9\u6027\uff08\u5c3d\u91cf\u4fdd\u8bc1\u53ef\u4ee5rolling update\uff09\uff0cb minor version\u53d8\u4e86\u53ef\u80fd\u4f1a\u52a0feature\u5e76\u4e14\u5bf9\u7528\u6237\u516c\u5f00\u7684API\u53ef\u80fd\u4f1a\u52a0method\uff08\u4f46\u4e0d\u4f1a\u51cf\u5c11\uff0c\u4e5f\u5c31\u662f\u8c03\u7528API\u7684\u5347\u7ea7\u540e\u8fd8\u80fd\u7f16\u8bd1\uff0c\u4f46\u5b9e\u73b0interface\u7684class\u53ef\u80fd\u65e0\u6cd5\u518d\u7f16\u8bd1\uff09\uff0cc patch version\u53ea\u8d1f\u8d23bugfix\u3002\u56e0\u6b64\u73b0\u5728\u5df2\u7ecf\u53d1\u5e03\u4e861.0.x\u30011.1.x\u30011.2.x\u4e09\u4e2aminor version\u7248\u672c\uff0c1.1\u548c1.2\u5206\u522b\u589e\u52a0\u4e86\u4e00\u4e9b\u65b0\u529f\u80fd\uff08\u7a0d\u540e\u518d\u8bf4\uff09\u3002\u800c1.0\u76ee\u524d\u5df2\u7ecf\u4e0d\u518d\u7ef4\u62a4\uff0c1.1\u6700\u65b0\u7248\u4e3a1.1.7\uff0c1.2\u7684\u6700\u65b0\u7248\u4e3a1.2.4\uff0c\u6bcf\u4e2a\u5206\u652f\u5927\u6982\u6bcf\u4e2a\u6708\u4f1a\u53d1\u4e00\u4e2apatch version\uff0c\u7b49\u7a33\u5b9a\u4e86\u53ef\u80fd\u9891\u7387\u4f1a\u4f4e\u3002<\/p>\n<p>\u4ece\u5f00\u53d1\u7684\u89d2\u5ea6\u8bb2\uff0c\u73b0\u57281.0\u4e4b\u540e\u4e00\u5171\u6709\u5982\u4e0bgit branch\uff1amaster\u3001branch-1\u3001branch-1.3\u3001branch-1.2\u3001branch-1.1\u3001branch-1.0\uff0c\u9664\u4e86\u6700\u540e\u4e00\u4e2a\u5916\u5269\u4e0b\u76845\u4e2a\u5206\u652f\u90fd\u8fd8\u5728\u7ef4\u62a4\u3002master\u662f\u4e3a2.x.x\u51c6\u5907\u7684\uff0cbranch-1.3\u662f\u4e3a\u4e861.3\u51c6\u5907\u7684\uff0c1.3.0\u5e94\u8be5\u4e5f\u5feb\u53d1\u5e03\u4e86\uff0c\u53d1\u5e03\u540ebranch-1\u4f1afork\u51fa\u6765\u4e00\u4e2abranch-1.4\u4f5c\u4e3a1.4\u7684\u5206\u652f\u3002\u5f00\u51fa\u72ec\u7acb\u7684\u5206\u652f\u7c7b\u4f3c\u4e8e\u5176\u4ed6\u9879\u76ee\u7684feature freeze\u4f46\u53c8\u4e0d\u5b8c\u5168\u662f\uff0c\u4e00\u822c\u6765\u8bf4\u4e0d\u518d\u6dfb\u52a0\u65b0\u7684\u5927feature\uff0c\u4f46\u5c0ffeature\u53ef\u80fd\u8fd8\u662f\u4f1a\u52a0\u3002\u8fd9\u4e5f\u610f\u5473\u77401.3\u53d1\u5e03\u540e\uff0c1.4\u4f1a\u6709\u54ea\u4e9b\u529f\u80fd\u5df2\u7ecf\u57fa\u672c\u786e\u5b9a\u4e86\uff0c\u5047\u8bbe\u6bcf\u4e2aminor\u5206\u652f\u7684\u53d1\u5e03\u5468\u671f\u662fX\u4e2a\u6708\uff0c\u90a3\u5c31\u610f\u5473\u7740\u67d0\u4e2a\u65b0feature\u63d0\u4ea4\u540e\u6700\u5c11X\u4e2a\u6708\u624d\u80fd\u5728\u6b63\u5f0f\u53d1\u5e03\u7684\u7248\u672c\u4e2d\u51fa\u73b0\uff0c\u6781\u7aef\u60c5\u51b5\u662f2X\u4e2a\u6708\u2026\u2026HBase\u7684\u5f00\u53d1\u662f\u4e00\u5f8b\u5148\u63d0\u4ea4\u7ed9master\u7136\u540e\u6839\u636e\u66f4\u4f4e\u7248\u672c\u7684version\u662f\u5426\u9700\u8981\u800cbackport\uff1b\u76f8\u5bf9\u5e94\u7684Cassandra\u662f\u5148\u6539\u9700\u8981\u63d0\u4ea4\u7684\u6700\u4f4e\u7248\u672c\u7136\u540e\u9010\u6e10\u5f80\u4e0a\u63d0\u4ea4\u76f4\u5230trunk\u3002\u4e0d\u8fc7master\u56e0\u4e3a\u662f\u4e3a2.0\u51c6\u5907\u7684\uff0c\u5e76\u4e14\u73b0\u5728\u6240\u6709feature\u90fd\u4e00\u5b9a\u4f1a\u63d0\u4ea4\u5230master\uff0c\u6240\u4ee5\u5982\u679c\u5f00\u4e2abranch-2\u3001branch-2.0\u5e76\u4e14\u53d1\u5e032.0.0\uff0c\u90a3\u4e48\u7406\u8bba\u4e0a\u6709\u53ef\u80fd\u540c\u6837\u7684feature\u57281.x\u4e2d\u8fd8\u6ca1\u53d1\u5e03\u2026\u2026<\/p>\n<p>&nbsp;<\/p>\n<p>\u63a5\u4e0b\u6765\u8bf4\u5177\u4f53\u7684\u65b0\u7279\u6027\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>1.0\u6700\u5927\u7684\u53d8\u5316\u662fmaster\u53d8\u6210\u4e86\u4e00\u4e2a\u7279\u6b8a\u7684region server\u3002\u5728\u4e4b\u524dmaster\u5e76\u4e0d\u80fd\u63a5\u6536\u5ba2\u6237\u7aef\u7684\u8bfb\u5199\u8bf7\u6c42\uff0c\u53ea\u8d1f\u8d23\u4f5c\u4e3a\u4e00\u4e2a\u534f\u8c03\u8005\u505a\u4e00\u4e9b\u96c6\u7fa4\u72b6\u6001\u76f8\u5173\u7684\u64cd\u4f5c\uff0c\u5373\u4f7f\u662fmeta\u8868\u4e5f\u662f\u653e\u5728RS\u4e0a\u7684\uff0c\u7531master\u6307\u5b9a\u653e\u5728\u4f55\u5904\u30021.0\u5f00\u59cbHMaster\u7c7b\u76f4\u63a5\u7ee7\u627f\u81eaHRegionServer\uff0c\u7406\u8bba\u4e0a\u53ef\u4ee5\u5f80\u4e0a\u9762\u653eregion\u4e86\uff0c\u5b9e\u9645\u4e0a\u4e00\u822c\u6765\u8bf4\u653e\u666e\u901aregion\u6ca1\u5565\u610f\u4e49\uff0c\u5982\u679c\u653e\u4e5f\u662f\u653emeta\u8868\u7684region\u3002\u56e0\u4e3amaster\u64cd\u4f5cmeta\u8868\u6bd4\u8f83\u9891\u7e41\uff0c\u653e\u4e00\u8d77\u7406\u8bba\u4e0a\u53ef\u4ee5\u51cf\u5c11\u5ef6\u8fdf\u3002\u5f53\u7136\u4e5f\u53ef\u4ee5\u4e0d\u653e\uff0c\u9ed8\u8ba4\u5c31\u6ca1\u653e\u3002\u4e00\u65e6meta\u8868\u653e\u5728master\u4e0a\uff0c\u91cd\u542fmaster\u5c31\u4e0d\u90a3\u4e48\u7684\u65e0\u75db\u4e86\uff0c\u5e76\u4e14\u5f88\u591a\u4e2a\u96c6\u7fa4\u627e\u4e24\u53f0\u673a\u5668\u642dmaster\u53ef\u80fd\u5c31\u4e0d\u5408\u9002\u4e86\u56e0\u4e3amaster\u7684load\u4f1a\u53d8\u9ad8\u3002<\/p>\n<p>1.0\u8fd8\u628aclient\u7684\u4e3b\u8981\u64cd\u4f5c\u63a5\u53e3\u4eceHTable\u7c7b\u3001HTableInterface\u63a5\u53e3\u53d8\u6210\u4e86\u4e00\u4e2aTable\u63a5\u53e3\u3002\u5bf9\u5e94\u7684API\u4e0a\u6709\u4e00\u4e9b\u7ec6\u5fae\u4fee\u6539\u4ee5\u66f4\u7b26\u5408\u8bed\u4e49\u3002\u53e6\u5916\u65b0\u589e\u4e86multi-WAL\u7684\u7279\u6027\uff0c\u4e00\u4e2aRS\u4e0d\u4e00\u5b9a\u8fd8\u5199\u5355\u4e2aWAL\u6587\u4ef6\uff0c\u4e0d\u540c\u7684region\u53ef\u4ee5\u5199\u5728\u4e0d\u540c\u7684\u6587\u4ef6\u4e0a\uff0c\u63d0\u9ad8\u5199\u6027\u80fd\uff08\u4e3b\u8981\u8fd8\u662f\u5355\u4e2aWAL\u6682\u65f6\u65e0\u6cd5\u628a\u7cfb\u7edf\u538b\u69a8\u6ee1\uff09\u3002<\/p>\n<p>\u8fd8\u6709\u4e2a\u6bd4\u8f83\u5927\u7684\u53d8\u5316\u662f\u628amvcc\u548csequence id\u5408\u4e8c\u4e3a\u4e00\u4e86\u3002\u4ee5\u524d\u8fd9\u4fe9\u4e00\u4e2a\u8868\u793a\u8bf7\u6c42\u987a\u5e8f\u4e00\u4e2a\u8868\u793a\u5199\u5165WAL\u7684\u987a\u5e8f\uff0c\u5408\u4e8c\u4e3a\u4e00\u610f\u5473\u7740WAL\u7684\u5199\u5165\u987a\u5e8f\u548c\u8bf7\u6c42\u7684\u5148\u540e\u987a\u5e8f\u4e00\u81f4\u4e86\uff0c\u5f88\u591a\u4e8b\u60c5\u4f1a\u65b9\u4fbf\u505a\u3002<\/p>\n<p>1.0\u8fd8\u6709\u4e00\u4e9b\u529f\u80fd\u662f0.98.0\u6ca1\u6709\u4f460.98\u540e\u7eed\u7248\u672c\u4e2d\u7684\u67d0\u4e00\u4e2a\u5f00\u59cb\u652f\u6301\uff0c\u56e0\u4e3a0.9x\u7684\u6bcf\u4e2a\u5206\u652f\u662f\u53ef\u4ee5\u52a0feature\u7684\u3002\u6bd4\u5982cell\u7ea7\u522b\u7684ttl\u3001\u63d0\u4f9b\u539f\u5b50\u6027\u7684checkAndMutate\u7b49\u7b49\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>1.1\u662f2015\u5e745\u6708\u53d1\u5e03\u3002\u4e3b\u8981\u65b0\u589e\u7684\u529f\u80fd\u662fscan\u7684\u534f\u8bae\u6539\u8fdb\uff0c\u4e4b\u524d\u626b\u63cf\u5982\u679c\u4e00\u6b21\u6027\u626b\u7684\u592a\u591a\u5f88\u5bb9\u6613\u8d85\u65f6\uff0c\u65b0\u7248\u5141\u8bb8\u5feb\u8d85\u65f6\u4e4b\u524d\u628a\u5f53\u524d\u5df2\u7ecf\u626b\u5b8c\u7684\u90e8\u5206\u5148\u4f20\u7ed9client\uff0c\u751a\u81f3\u53ef\u4ee5\u5728\u65e0\u6cd5\u8fd4\u56de\u4efb\u4f55\u6709\u6548\u6570\u636e\u7684\u65f6\u5019\u8fd4\u56de\u4e00\u4e2a\u7a7a\u7684response\u4f5c\u4e3a\u5fc3\u8df3\u3002\u540c\u65f6\u9664\u4e86time\u4e4b\u5916\u8fd8\u8003\u8651size\uff0c\u5982\u679c\u4e00\u884c\u6570\u636e\u7279\u522b\u5927\u53ef\u80fd\u4f1a\u8d85\u65f6\u751a\u81f3OOM\uff0c\u6539\u8fdb\u540e\u5141\u8bb8\u8fd4\u56de\u4e00\u884c\u7684\u90e8\u5206cell\u7ed9client\u4ece\u800c\u907f\u514dserver\u4e00\u6b21\u6512\u592a\u591aOOM\uff0cclient\u628a\u5b8c\u6574\u7684\u4e00\u884c\u62fc\u63a5\u597d\u540e\u4e00\u8d77\u7ed9\u7528\u6237\u4ece\u800c\u4fdd\u8bc1scan\u4e00\u6b21\u8fd4\u56de\u4e00\u884c\u7684\u8bed\u4e49\uff0c\u6216\u8005client\u5982\u679csetAllowPartial(true)\u540e\u53ef\u4ee5\u6bcf\u6b21\u8fd4\u56de\u51e0\u5217\u8fd9\u6837\u4e5f\u907f\u514dclient\u7aefOOM\u3002<\/p>\n<p>1.1\u8fd8\u652f\u6301\u8bf7\u6c42\u9650\u6d41\uff0c\u53ef\u4ee5\u6839\u636e\u7528\u6237\u6216\u8868\u6765\u9650\u6d41\uff0c\u8d85\u8fc7\u4e4b\u540e\u628a\u8bf7\u6c42\u5e72\u6389\u9632\u6b62\u4e2a\u522b\u4eba\u628a\u7cfb\u7edf\u641e\u6302\u3002Flush\u4e5f\u4e0d\u518d\u662f\u8868\u7ea7\u522b\u53ef\u4ee5\u9488\u5bf9\u5355\u4e2aCF\u8fdb\u884cflush\u3002\u57fa\u4e8eHDFS2.6\u7684\u65b0\u529f\u80fd\u5141\u8bb8\u67d0\u4e9b\u6587\u4ef6\u5355\u72ec\u653essd\u53e6\u4e00\u4e9b\u653ehdd\u4e0a\uff0c1.1\u5f00\u59cb\u4e5f\u5141\u8bb8\u628aWAL\u5199\u5728ssd\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>1.2\u662f2016\u5e742\u6708\u53d1\u5e03\u3002\u6700\u5927\u7684\u6539\u52a8\u53ef\u80fd\u662fregion replica\u7684\u529f\u80fd\u57fa\u672c\u201c\u5b8c\u5584\u201d\u4e86\u3002\u867d\u7136\u8fd9\u4e2a\u529f\u80fd\u57281.0\u5c31\u6709\u4e86\uff0c\u4f46\u5f88\u591a\u7ec6\u8282\u662f1.1\u548c1.2\u5b9e\u73b0\u7684\u3002\u8fd9\u4e2a\u4e1c\u897f\u5176\u5b9e\u5c31\u662f\u8ba9\u4e00\u4e2aregion\u5728\u4e3b\u4ece\u4fe9\uff08\u751a\u81f3\u66f4\u591a\uff09region server\u4e0a\u670d\u52a1\u3002\u5176\u4e2d\u53ea\u6709\u4e3bRS\u53ef\u4ee5\u5199\uff0c\u4eceRS\u53ef\u4ee5\u6700\u7ec8\u4e00\u81f4\u6027\u7684\u8bfb\u3002\u8bfb\u5199\u5206\u79bb\u7684\u540c\u65f6\u4e5f\u53ef\u4ee5\u7528\u6765\u4f5c\u4e3a\u5907\u4efd\u964d\u4f4e\u4e00\u4e2aRS\u6302\u6389\u540e\u5bf9\u5e94region\u7684\u6062\u590d\u65f6\u95f4\uff0c\u5f53\u7136\u4ee3\u4ef7\u662f\u6574\u4e2a\u96c6\u7fa4\u5360\u7528\u7684MemStore\u53d8\u6210\u4e8c\u500d\u4e86\u3002\u5f53\u7136\u8fd9\u91cc\u7684\u201c\u5b8c\u5584\u201d\u52a0\u4e86\u5f15\u53f7\uff0c\u662f\u56e0\u4e3a\u8fd9\u53ea\u4ee3\u8868\u7740\u793e\u533a\u60f3\u641e\u7684\u4e3b\u8981\u529f\u80fd\u90fd\u52a0\u4e0a\u4e86\uff0c\u6211\u4e2a\u4eba\u6bd4\u8f83\u6000\u7591\u6709\u591a\u5c11\u4eba\u5728\u751f\u4ea7\u73af\u5883\u7528\uff0c\u5bf9\u5e94\u7684\u610f\u5473\u7740\u4e00\u4e9bbug\u53ef\u80fd\u5e76\u6ca1\u6709\u88ab\u53d1\u73b0\uff0c\u4e0d\u77e5\u9053\u8fd9\u4e2a\u529f\u80fd\u5230\u5e95\u662f\u5426\u7a33\u5b9a\u3002<\/p>\n<p>\u8fd8\u6709\u4e2a\u6539\u52a8\u662frow lock\u6539\u6210\u8bfb\u5199\u9501\u4e86\uff0c\u56e0\u4e3aHBase\u652f\u6301\u4e00\u4e9bcas\u7684\u539f\u5b50\u64cd\u4f5c\uff0c\u9700\u8981\u5148\u8bfb\u5728\u5199\uff0c\u518d\u6b64\u671f\u95f4\u540c\u4e00\u4e2arow\u7684\u8bf7\u6c42\u5fc5\u987b\u7b49\u7740\u3002\u6b64\u524d\u8fd9\u4e2alock\u5c31\u662f\u666e\u901a\u7684lock\uff0c\u5bfc\u81f4\u975ecas\u7684\u5199\u8bf7\u6c42\u6bd4\u5982put\u4e5f\u65e0\u6cd5\u5728row\u5185\u5e76\u53d1\u6267\u884c\u3002\u6539\u6210\u8bfb\u5199\u9501\u540e\uff0ccas\u7684\u64cd\u4f5c\u62ff\u5199\u9501\uff0c\u666e\u901a\u7684\u5199\u64cd\u4f5c\u62ff\u8bfb\u9501\uff0c\u8fd9\u6837\u5982\u679c\u6ca1\u6709cas\u64cd\u4f5c\u7684\u8bdd\u5e76\u53d1\u7684put\u53ef\u4ee5\u76f4\u63a5\u5404\u81ea\u6267\u884c\u4ee5\u65f6\u95f4\u6233\u4e3a\u7248\u672c\u3002\u8bfb\u8bf7\u6c42\u548c\u8fd9\u4e2a\u9501\u6ca1\u5173\u7cfb\uff0c\u9760mvcc\u62ff\u4e00\u81f4\u6027\u7684\u6570\u636e\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>1.3\u73b0\u5728\u8fd8\u6ca1\u53d1\uff0c\u5df2\u7ecf\u7b97\u6bd4\u8f83\u6ede\u540e\u4e86\uff0c\u76f4\u63a5\u5bfc\u81f4\u672a\u6765\u76841.4\u5728branch-1\u4e0a\u618b\u4e86\u5f88\u957f\u65f6\u95f4\u56e0\u6b641.4\u4f30\u8ba1\u662f\u4f1a\u52a0\u975e\u5e38\u591a\u7684\u529f\u80fd\u2026\u20261.3\u5728\u611f\u89c9\u6bd4\u8f83\u91cd\u8981\u7684\u65b0\u529f\u80fd\u5e94\u8be5\u662f\u652f\u6301DateTieredCompaction\uff0c\u5728compaction\u7684\u65f6\u5019\u6309\u65f6\u95f4\u6233\u5206\u533a\uff0c\u65b0\u8001\u6570\u636e\u5728\u4e0d\u540c\u7684\u6587\u4ef6\uff0c\u8fd9\u6837\u8bfb\u6570\u636e\u7684\u65f6\u5019\u5982\u679c\u8bbe\u4e86\u65f6\u95f4\u8303\u56f4\u5c31\u53ef\u4ee5\u8df3\u8fc7\u4e0d\u76f8\u5e72\u7684\u6587\u4ef6\u4e86\uff08\u73b0\u5728\u4e5f\u652f\u6301\u8bbe\u65f6\u95f4\u8303\u56f4\u5e76\u4e14\u4e5f\u652f\u6301\u5728\u8bfb\u53d6\u65f6\u8fc7\u6ee4\u4e0d\u9700\u8981\u7684HFile\uff0c\u4f46compact\u6ca1\u6709\u6839\u636e\u65f6\u95f4\u6233\u62c6\u5206\uff0c\u6240\u4ee5\u5f88\u591a\u65f6\u5019\u53ef\u80fd\u8fd8\u662f\u8bfb\u5927\u591a\u6570\u6587\u4ef6\uff09\u3002\u8fd9\u4e2a\u529f\u80fd\u7684\u8bbe\u8ba1\u501f\u9274\u4e86Cassandra\uff0cCassandra \u5806feature\u7684\u80fd\u529b\u8fd8\u662f\u9700\u8981HBase\u5b66\u4e60\u7684\u2026\u2026<\/p>\n<p>&nbsp;<\/p>\n<p>1.0\u540e\u7684\u4e3b\u8981\u7248\u672c\u7684\u65b0feature\u6682\u65f6\u5c31\u6536\u96c6\u5230\u8fd9\u4e9b\uff0c\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u91cd\u8981\u7684\u4e1c\u897f\u9057\u6f0f\uff0c\u6709\u4e9b\u4e5f\u8c08\u4e0d\u4e0afeature\u53ef\u80fd\u53ea\u662f\u5e95\u5c42\u7684\u6539\u8fdb\uff0c\u7528\u6237\u90fd\u4e0d\u4e00\u5b9a\u77e5\u9053\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\u4e5f\u56e0\u4e3a\u7528\u6237\u53ef\u89c1\u7684feature\u5806\u7684\u4e0d\u591f\u5feb\u5f71\u54cd\u4e86\u63a8\u5e7f\uff0c\u76f8\u5bf9\u6765\u8bf4Cassandra\u5728\u56fd\u5916\u66f4\u706b\u548cDatastax\u5806feature\u4e0e\u5546\u4e1a\u63a8\u5e7f\u7684\u80fd\u529b\u5bc6\u4e0d\u53ef\u5206\u3002HBase\u6700\u8fd1\u4e24\u5e74\u7684commit\u9891\u7387\u662f\u9ad8\u4e8e\u4ee5\u5f80\u7684\uff0c\u800cCassandra\u5e76\u6ca1\u6709\u589e\u52a0\u751a\u81f3\u53ef\u80fd\u5c0f\u5e45\u5ea6\u4e0b\u964d\u3002\u611f\u89c9\u8fd9\u548c\u4e2d\u56fd\u7684\u516c\u53f8\u66f4\u591a\u53c2\u4e0e\u5230HBase\u7684\u793e\u533a\u5f00\u53d1\u6709\u6bd4\u8f83\u5927\u7684\u5173\u7cfb\u3002\u800c\u4e0d\u540c\u516c\u53f8\u8d21\u732e\u5185\u5bb9\u7684\u65b9\u5411\u4e5f\u5f88\u597d\u7684\u4f53\u73b0\u4e86\u4e0d\u540c\u4e1a\u52a1\u770b\u91cd\u7684\u4e0d\u4e00\u6837\u7684\u70b9\u3002\u50cf\u963f\u91cc\u8d21\u732e\u7684patch\u66f4\u591a\u5730\u5728\u538b\u69a8\u6781\u9650\u6027\u80fd\u6bd4\u5982qps\uff0c\u800c\u5c0f\u7c73\u5bf9\u5355\u673aqps\u6781\u9650\u8981\u6c42\u4e0d\u9ad8\uff0c\u66f4\u591a\u7684\u662f\u63d0\u9ad8\u96c6\u7fa4\u7684\u53ef\u7528\u6027\u4ee5\u53ca\u4e1a\u52a1\u6240\u9700\u8981\u7684\u4e00\u4e9b\u529f\u80fd\u3002\u56e0\u4e3a\u963f\u91cc\u5bf9HBase\u793e\u533a\u8d21\u732e\u6700\u5927\u7684\u90e8\u95e8\uff08\u6574\u4e2a\u963f\u91cc\u7528HBase\u7684\u90e8\u95e8\u5f88\u591a\uff0c\u7528\u7684\u7248\u672c\u4e5f\u4e0d\u4e00\u6837\uff0c\u5404\u81ea\u7ef4\u62a4\u5404\u81ea\u7684\uff0c\u6bd5\u7adf\u5927\u516c\u53f8\uff09\u662f\u628aHBase\u7528\u6765\u505a\u641c\u7d22\u7684\uff0c\u5929\u732b\u6dd8\u5b9d\u7684\u641c\u7d22\u91cf\u6bd4\u8f83\u9ad8\u4ece\u800c\u9700\u8981HBase\u6709\u5f88\u597d\u7684\u6027\u80fd\uff0c\u6027\u80fd\u6bd4\u5bb9\u91cf\u66f4\u5148\u6210\u4e3a\u74f6\u9888\u3002\u800c\u5c0f\u7c73\u7684HBase\u6700\u5927\u7684\u7528\u6237\u662fMiCloud\uff0c\u5728\u7ebf\u670d\u52a1\u5b58\u7528\u6237\u7684\u6570\u636e\uff0c\u867d\u7136\u8bbf\u95ee\u91cf\u4e5f\u5f88\u5927\u4f46\u5355\u673a\u7684qps\u5e76\u6ca1\u5230\u74f6\u9888\uff0c\u6216\u8005\u8bf4\u603b\u662f\u78c1\u76d8\u7684\u5bb9\u91cf\/IO\u80fd\u529b\u5148\u5230\u74f6\u9888\uff0c\u56e0\u6b64\u66f4\u5173\u6ce8\u53ef\u7528\u6027\u3001\u6545\u969c\u6062\u590d\u65f6\u95f4\u7b49\u7b49\uff0c\u8fd8\u6709\u5c31\u662f\u4e1a\u52a1\u9047\u5230\u7684\u5404\u79cd\u95ee\u9898\uff0c\u6bd4\u5982<a href=\"https:\/\/yangzhe1991.org\/blog\/2016\/06\/hbase-versions-delete-limitations\/\">delete\u8bed\u4e49<\/a>\u7b49\u7b49\uff0c\u5373\u4f7f\u5173\u6ce8latency\u53ef\u80fd\u4e5f\u5e76\u4e0d\u662f\u6700\u91cd\u8981\u7684\u8003\u91cf\u3002\u5f53\u7136\uff0c\u963f\u91cc\u548c\u5c0f\u7c73\u4fa7\u91cd\u70b9\u4e0d\u4e00\u6837\u662f\u597d\u4e8b\uff0c\u8fd9\u6837HBase\u53ef\u4ee5\u5728\u4e24\u65b9\u9762\u540c\u65f6\u6539\u8fdb\u3002<\/p>\n<p>\u800c\u6700\u8fd1\u4e00\u4e24\u5e74\u5f88\u591a\u4ee3\u7801\u53ea\u53d1\u5230master\u4e0a\uff0c\u8fd9\u5c31\u610f\u5473\u7740\u5f88\u591a\u529f\u80fd\u53ea\u67092.0\u624d\u6709\u30022.0\u6211\u4e2a\u4eba\u89c9\u5f97\u6700\u91cd\u8981\u7684\u662f\u4ee8\u4e1c\u897f\uff1a\u4e00\u4e2a\u662f\u5f02\u6b65\u7684client\uff0c\u5404\u79cd\u63a5\u53e3\u8fd4\u56de\u7684\u90fd\u662fCompletableFuture\uff08\u5f53\u7136\u4e5f\u610f\u5473\u7740\u5fc5\u987b\u7528jdk8\u4e86\uff0c\u6bd5\u7adf7\u90fdEOL\u4e86\uff09\uff1b\u4e00\u4e2a\u662f\u5404\u79cdoffheap\u7684\u5de5\u4f5c\uff0c\u964d\u4f4egc\u538b\u529b\u4ece\u800c\u964d\u4f4e.999\u7684\u5ef6\u8fdf\uff1b\u4e00\u4e2a\u662f\u5404\u79cd\u4f18\u5316\u4ece\u800c\u63d0\u9ad8\u6027\u80fd\uff0c\u6bd4\u5982\u5f02\u6b65\u7684FanOutWAL\uff08\u5f02\u6b65\u672c\u8eab\u53ef\u4ee5\u7528\u66f4\u5c11\u7684\u7ebf\u7a0b\u63d0\u9ad8\u541e\u5410\uff0c\u5e76\u4e14\u5728HBase\u5185\u90e8\u91cd\u5199\u4e86HDFS\u7684Output\u4ece\u800c\u53d8\u6210\u540c\u65f6\u5f80\u4e09\u4e2adatanode\u5199\u6570\u636e\u800c\u975epipeline\uff0c\u4e5f\u964d\u4f4e\u4e86\u5199\u5ef6\u8fdf\uff09\u3001Netty\u7684RPCServer\u7b49\u7b49\u3002\u603b\u4f53\u6765\u8bf42.0\u8fd8\u662f\u6bd4\u8f83\u503c\u5f97\u671f\u5f85\u7684\uff0c\u867d\u7136\u4e0d\u77e5\u9053\u5565\u65f6\u5019\u80fd\u53d12.0.0\uff0c\u4e5f\u4e0d\u77e5\u9053\u6bd4\u8f83\u7a33\u5b9a\u8981\u7b49\u591a\u4e45\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HBase\u4f5c\u4e3aBigTable\u7684\u5f00\u6e90\u5b9e\u73b0\uff08\u4e4b\u4e00\uff0c\u4f46\u4e5f\u662f\u5e94\u7528\u6700\u5e7f\u7684\uff09\uff0c\u5176\u67b6\u6784\u5e94\u8be5\u5f88\u591a\u4eba\u5373\u4f7f\u5b8c\u5168\u6ca1\u770b\u8fc7HBase\u7684 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[30],"_links":{"self":[{"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/posts\/225219"}],"collection":[{"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/comments?post=225219"}],"version-history":[{"count":2,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/posts\/225219\/revisions"}],"predecessor-version":[{"id":225222,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/posts\/225219\/revisions\/225222"}],"wp:attachment":[{"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/media?parent=225219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/categories?post=225219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yangzhe1991.org\/blog\/wp-json\/wp\/v2\/tags?post=225219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}