{"id":40,"date":"2024-10-21T23:36:36","date_gmt":"2024-10-21T15:36:36","guid":{"rendered":"https:\/\/www.haruhi.fans\/?p=40"},"modified":"2025-01-19T13:48:15","modified_gmt":"2025-01-19T05:48:15","slug":"%e5%ba%94%e7%94%a8%e4%bd%93%e7%b3%bb%e6%9e%b6%e6%9e%84%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/www.haruhi.fans\/?p=40","title":{"rendered":"\u5e94\u7528\u4f53\u7cfb\u67b6\u6784\u7b14\u8bb0"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Index<\/h1>\n\n\n\n<p>\u7b2c\u4e00\u7ae0\uff1aStateful and Stateless \uff0cCookie and Session,  \u5b9e\u4f8b\u6c60 , Scope \uff0c\u6570\u636e\u5e93\u8fde\u63a5\u6c60<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u7ae0\uff1aMessaging ,  \u540c\u6b65\u5f02\u6b65\u901a\u4fe1\uff0c\u4e09\u79cd\u8ba2\u9605\u65b9\u5f0f\u5bf9\u6bd4 \uff0cKafka<\/p>\n\n\n\n<p>\u7b2c\u4e09\u7ae0\uff1aWebsocket<\/p>\n\n\n\n<p>\u7b2c\u56db\u7ae0\uff1aTransaction\uff08ACID \u810f\u8bfb\u5e7b\u8bfb\uff09\uff0c\u4e24\u9636\u6bb5\u63d0\u4ea4\uff0c\u4e50\u89c2\/\u60b2\u89c2\u79bb\u7ebf\ud83d\udd12<\/p>\n\n\n\n<p>\u7b2c\u4e94\u7ae0\uff1a\u8c03\u5ea6\uff08\u53ef\u4e32\u884c\u5316\u8c03\u5ea6\uff09\uff0c\u5404\u79cd\u65e5\u5fd7\uff08\u903b\u8f91\/\u7269\u7406\/redo\/undo\/redoundo\/\u8865\u507f\uff09\uff0c\u7cfb\u7edf\u5d29\u6e83\u6062\u590d\u5b9e\u73b0<\/p>\n\n\n\n<p>\u7b2c\u516d\u7ae0\uff1a\u7ebf\u7a0b\uff08\u591a\u7ebf\u7a0b\uff0c\u7ebf\u7a0b\u6c60\uff0c\u7ebf\u7a0b\u5e72\u6270\uff0cSynchronized\uff09\uff0c\u9ad8\u7ea7\u5e76\u53d1\u7279\u6027\uff0cFork\/Join<\/p>\n\n\n\n<p>\u7b2c\u4e03\u7ae0\uff1aCache\uff0cMemcache\uff0cRedis\uff0c\u4e00\u81f4\u6027\u54c8\u5e0c<\/p>\n\n\n\n<p>\u7b2c\u516b\u7ae0\uff1a\u53cd\u5411\u7d22\u5f15\uff0cLucene<\/p>\n\n\n\n<p>\u7b2c\u4e5d\u7ae0\uff1aSOAP\uff0cRestful\uff0cWeb Service\uff0cSOA<\/p>\n\n\n\n<p>\u7b2c\u5341\u7ae0\uff1aMicroService\uff0cEuraka\uff0cServerless<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e00\u7ae0\uff1aMysql\u4f18\u53161\uff08\u65bd\u5de5\u4e2d\u26a0\ufe0f\uff09In a big mess , Who can help me\ud83d\ude2d<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e8c\u7ae0\uff1aMysql\u4f18\u53162\uff08\u65bd\u5de5\u4e2d\u26a0\ufe0f\uff09In a big mess , Who can help me\ud83d\ude2d<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e09\u7ae0\uff1aMysql\u6570\u636e\u5e93\u6062\u590d\u4e0e\u5907\u4efd\uff08\u903b\u8f91\u7269\u7406\u5907\u4efd\uff0cbinlog\uff0csnapshot\uff09<\/p>\n\n\n\n<p>\u7b2c\u5341\u56db\u7ae0\uff1aMySQL\u5206\u533a<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e94\u7ae0\uff1aNosql\uff0cMongoDB\uff0cDAO\u548cRepository\u5dee\u5f02\uff0csharding\u8fc7\u7a0b<\/p>\n\n\n\n<p>\u7b2c\u5341\u516d\u7ae0\uff1a\u56fe\u6570\u636e\u5e93\uff0cNeo4j<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e03\u7ae0\uff1aLSM-Tree, ssTable\uff0c\u5411\u91cf\u6570\u636e\u5e93<\/p>\n\n\n\n<p>\u7b2c\u5341\u516b\u7ae0\uff1a\u65f6\u5e8f\u6570\u636e\u5e93\uff0cinfluxDB<\/p>\n\n\n\n<p>\u7b2c\u5341\u4e5d\u7ae0\uff1aGaussDB\uff0c\u4e91\u6570\u636e\u5e93<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u7ae0\uff1aData Warehouse\uff0cData Lake<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e00\u7ae0\uff1aCluster\uff0c\u96c6\u7fa4\uff0c\u8d1f\u8f7d\u5747\u8861\uff0csession\u7ef4\u62a4\uff0cNginx\uff0c\u53cd\u5411\u4ee3\u7406<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e8c\u7ae0\uff1acloud computing\uff0cMapReduce\uff0cedge computing<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e09\u7ae0\uff1aGraphQL(\u4ee5\u53ca\u548c RESTful API\uff09\u5bf9\u6bd4<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u56db\u7ae0\uff1aDocker\uff0cImage\uff0cVolume\uff0cmounts<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e94\u7ae0\uff1aHadoop\uff0c Reducer\u6570\u76ee \uff0cYarn<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u516d\u7ae0\uff1aSpark<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e03\u7ae0\uff1aStrom\uff0cHadoop \u548c Storm\u5bf9\u6bd4<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u516b\u7ae0\uff1aHdfs<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u5341\u4e5d\u7ae0\uff1aHbase\uff0cWeb Table<\/p>\n\n\n\n<p>\u7b2c\u4e09\u5341\u7ae0\uff1aHIVE\uff0cETL\uff0cHIVE\u548c\u4f20\u7edf\u6570\u636e\u5e93\u7684\u5bf9\u6bd4 <\/p>\n\n\n\n<p>\u7b2c\u4e09\u5341\u4e00\u7ae0\uff1aFLINK<\/p>\n\n\n\n<p>\u7b2c\u4e09\u5341\u4e8c\u7ae0\uff1aAI<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e00\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"state\">Stateful and Stateless<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u5bf9\u6bd4\u7ef4\u5ea6<\/strong><\/th><th><strong>Stateful<\/strong><\/th><th><strong>Stateless<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u5b9a\u4e49<\/strong><\/td><td>\u670d\u52a1\u5668<strong>\u7ef4\u62a4\u5ba2\u6237\u7aef\u72b6\u6001<\/strong><\/td><td>\u670d\u52a1\u5668<strong>\u4e0d\u7ef4\u62a4\u5ba2\u6237\u7aef\u72b6\u6001<\/strong><\/td><\/tr><tr><td><strong>\u72b6\u6001\u5b58\u50a8<\/strong><\/td><td>\u670d\u52a1\u5668\u4fdd\u5b58\u72b6\u6001\uff08\u4f1a\u8bdd\u3001\u4e0a\u4e0b\u6587\uff09<\/td><td>\u670d\u52a1\u5668\u4e0d\u4fdd\u5b58\u72b6\u6001\uff0c\u5ba2\u6237\u7aef\u6bcf\u6b21\u53d1\u9001\u5b8c\u6574\u8bf7\u6c42\u4fe1\u606f<\/td><\/tr><tr><td><strong>\u8bf7\u6c42\u72ec\u7acb\u6027<\/strong><\/td><td>\u8bf7\u6c42\u4e4b\u95f4<strong>\u4f9d\u8d56\u5386\u53f2\u72b6\u6001<\/strong><\/td><td>\u6bcf\u4e2a\u8bf7\u6c42<strong>\u72ec\u7acb\uff0c\u65e0\u9700\u5386\u53f2\u4fe1\u606f<\/strong><\/td><\/tr><tr><td><strong>\u8d44\u6e90\u5360\u7528<\/strong><\/td><td>\u9ad8\uff0c\u5360\u7528\u670d\u52a1\u5668\u5185\u5b58\u6216\u5b58\u50a8\u8d44\u6e90<\/td><td>\u4f4e\uff0c\u670d\u52a1\u5668\u65e0\u72b6\u6001\u5b58\u50a8<\/td><\/tr><tr><td><strong>\u6269\u5c55\u6027<\/strong><\/td><td>\u96be\u4ee5\u6269\u5c55\uff0c\u9700\u8981\u540c\u6b65\u72b6\u6001<\/td><td>\u6613\u4e8e\u6269\u5c55\uff0c\u65e0\u9700\u72b6\u6001\u540c\u6b65<\/td><\/tr><tr><td><strong>\u5bb9\u9519\u6027<\/strong><\/td><td>\u5bb9\u9519\u6027\u4f4e\uff0c\u670d\u52a1\u5668\u6545\u969c\u4f1a\u5bfc\u81f4\u72b6\u6001\u4e22\u5931<\/td><td>\u5bb9\u9519\u6027\u9ad8\uff0c\u670d\u52a1\u5668\u65e0\u72b6\u6001\u5f71\u54cd<\/td><\/tr><tr><td><strong>\u590d\u6742\u6027<\/strong><\/td><td>\u670d\u52a1\u5668\u8bbe\u8ba1\u590d\u6742\uff0c\u9700\u7ef4\u62a4\u4f1a\u8bdd\u4fe1\u606f<\/td><td>\u5ba2\u6237\u7aef\u8bbe\u8ba1\u590d\u6742\uff0c\u9700\u63d0\u4f9b\u5b8c\u6574\u8bf7\u6c42\u4fe1\u606f<\/td><\/tr><tr><td><strong>\u793a\u4f8b\u534f\u8bae\/\u6280\u672f<\/strong><\/td><td>FTP\u3001Telnet\u3001WebSocket<\/td><td>HTTP\u3001RESTful API\u3001DNS \u67e5\u8be2<\/td><\/tr><tr><td><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td>\u5b9e\u65f6\u4e92\u52a8\u3001\u957f\u65f6\u95f4\u4f1a\u8bdd\uff08\u94f6\u884c\u3001\u6e38\u620f\uff09<\/td><td>\u9ad8\u5e76\u53d1\u3001\u65e0\u72b6\u6001\u4e8b\u52a1\uff08\u641c\u7d22\u5f15\u64ce\u3001\u5fae\u670d\u52a1\uff09<\/td><\/tr><tr><td><strong>\u4f18\u70b9<\/strong><\/td><td>\u4fbf\u4e8e\u5904\u7406\u590d\u6742\u4ea4\u4e92\uff0c\u652f\u6301\u5b9e\u65f6\u72b6\u6001\u7ba1\u7406<\/td><td>\u7b80\u5316\u670d\u52a1\u5668\u8bbe\u8ba1\uff0c\u6613\u6269\u5c55<\/td><\/tr><tr><td><strong>\u7f3a\u70b9<\/strong><\/td><td>\u9ad8\u8d44\u6e90\u5360\u7528\uff0c\u96be\u4ee5\u6269\u5c55<\/td><td>\u7f51\u7edc\u5f00\u9500\u5927\uff0c\u4e0d\u652f\u6301\u590d\u6742\u4f1a\u8bdd<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Cookie and Session<\/h2>\n\n\n\n<p>Http\u534f\u8bae\u662f\u4e00\u79cd\u65e0\u72b6\u6001\u7684\u534f\u8bae\uff0c\u4f46\u662f\u6709\u65f6\u9700\u8981\u8bb0\u5f55\u72b6\u6001\uff0c\u8fbe\u6210Stateful\u3002\u4e3a\u6b64\uff0c\u6709\u4e86Cookie\u548cSession\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cookie\uff1a\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668\u7528\u6765\u4fdd\u5b58\u7528\u6237\u4fe1\u606f\u7684\u4e00\u79cd\u673a\u5236\uff1b\u5f53\u6211\u4eec\u901a\u8fc7\u6d4f\u89c8\u5668\u8fdb\u884c\u7f51\u9875\u8bbf\u95ee\u7684\u65f6\u5019\uff0c\u670d\u52a1\u5668\u4f1a\u5c06\u4e00\u4e9b\u6570\u636e\u4ee5Cookie\u7684\u5f62\u5f0f\u4fdd\u5b58\u5728\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668\u4e0a\uff0c\u5f53\u4e0b\u6b21\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668\u518d\u6b21\u8bbf\u95ee\u8be5\u7f51\u7ad9\u65f6\uff0c\u4f1a\u5c06Cookie\u6570\u636e\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u901a\u8fc7Cookie\u6570\u636e\u6765\u8fa8\u522b\u7528\u6237\u8eab\u4efd\u3002\uff08Cookie\u5b58\u7684\u662fkey-value\u952e\u503c\u5bf9\uff09<\/li>\n\n\n\n<li>Session\uff1a\u8868\u793a\u4e00\u4e2a\u4f1a\u8bdd\uff0c\u662f\u5c5e\u4e8e\u670d\u52a1\u5668\u7aef\u7684\u4e00\u79cd\u5bb9\u5668\u5bf9\u8c61\uff1b\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u9488\u5bf9\u6bcf\u4e2a\u6d4f\u89c8\u5668\u7684\u8bf7\u6c42\uff0cserver\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2asession\u5bf9\u8c61\uff0c\u751f\u6210\u4e00\u4e2asessionId\uff0c\u7528\u4e8e\u6807\u8bc6\u8be5session\u5bf9\u8c61\uff0c\u540c\u65f6\u5c06 sessionId\u4ee5cookie\u7684\u5f62\u5f0f\u53d1\u9001\u7ed9\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668\uff0c\u5ba2\u6237\u7aef\u6d4f\u89c8\u5668\u518d\u6b21\u8bbf\u95ee\u8be5\u7f51\u7ad9\u65f6\uff0c\u4f1a\u5c06cookie\u6570\u636e\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u901a\u8fc7cookie\u6570\u636e\u6765\u8fa8\u522b\u7528\u6237\u8eab\u4efd\uff0c\u4ece\u800c\u627e\u5230\u5bf9\u5e94\u7684session\u5bf9\u8c61\uff0c\u5982\u679c\u627e\u4e0d\u5230\uff0c\u5c31\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684session\u5bf9\u8c61\u3002\u7b80\u5355\u6765\u8bf4\uff0cSession\u7684\u4f5c\u7528\u5c31\u662f<strong>\u5e2e\u52a9\u6211\u4eec\u5b9e\u73b0\u4e00\u4e2a\u6709\u72b6\u6001\u7684 Http\u534f\u8bae<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9e\u4f8b\u6c60\uff08\u5bf9\u8c61\u6c60\uff09<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;\u5bf9\u8c61\u6c60&#8221;\uff08Object Pool\uff09\u662f\u4e00\u79cd\u8bbe\u8ba1\u6a21\u5f0f\uff0c\u5b83\u662f\u4e00\u79cd\u7528\u4e8e\u7ba1\u7406\u548c\u91cd\u7528\u5bf9\u8c61\u5b9e\u4f8b\u7684\u673a\u5236\uff0c\u4ee5\u63d0\u9ad8\u6027\u80fd\u548c\u8d44\u6e90\u5229\u7528\u7387\u7684\u65b9\u5f0f\u3002\u5bf9\u8c61\u6c60\u901a\u5e38\u7528\u4e8e\u51cf\u5c11\u521b\u5efa\u548c\u9500\u6bc1\u5bf9\u8c61\u7684\u5f00\u9500\uff0c\u7279\u522b\u662f\u5728\u5bf9\u8c61\u7684\u521b\u5efa\u6210\u672c\u8f83\u9ad8\u6216\u9891\u7e41\u521b\u5efa\u548c\u9500\u6bc1\u5bf9\u8c61\u53ef\u80fd\u5bfc\u81f4\u6027\u80fd\u4e0b\u964d\u7684\u60c5\u51b5\u4e0b\u3002<br>\u5728Java\u4e2d\uff0c\u5bf9\u8c61\u6c60\u901a\u5e38\u662f\u4e00\u4e2a\u96c6\u5408\uff0c\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u591a\u4e2a\u5bf9\u8c61\u5b9e\u4f8b\u3002\u5f53\u9700\u8981\u4f7f\u7528\u5bf9\u8c61\u65f6\uff0c\u53ef\u4ee5\u4ece\u5bf9\u8c61\u6c60\u4e2d\u83b7\u53d6\u4e00\u4e2a\u53ef\u7528\u7684\u5bf9\u8c61\uff0c\u800c\u4e0d\u662f\u6bcf\u6b21\u90fd\u521b\u5efa\u65b0\u7684\u5bf9\u8c61\u3002\u4e00\u65e6\u4f7f\u7528\u5b8c\u6210\uff0c\u53ef\u4ee5\u5c06\u5bf9\u8c61\u8fd4\u56de\u5230\u5bf9\u8c61\u6c60\u4e2d\uff0c\u4ee5\u4fbf\u7a0d\u540e\u91cd\u7528\uff0c\u800c\u4e0d\u662f\u7acb\u5373\u9500\u6bc1\u5b83\u3002<\/p>\n<\/blockquote>\n\n\n\n<p>\u4f46\u662f\u5b9e\u4f8b\u6c60\u6570\u91cf\u662f\u6709\u4e0a\u9650\u7684\uff0c\u4e0d\u53ef\u80fd\u65e0\u9650\u5236\u53d8\u5927\uff08DDos\u653b\u51fb\u5185\u5b58\u76f4\u63a5\u7206\u4e86\uff09\u3002<\/p>\n\n\n\n<p>\u56e0\u6b64\uff0c\u4e3a\u4e86\u670d\u52a1\u591a\u4e2a\u5bf9\u8c61\uff0c\u5728\u5b9e\u4f8b\u6c60\u6ee1\u4e86\u540e\uff0c\u53ef\u4ee5\u628a\u6700\u4e0d\u5e38\u7528\u7684\u5bf9\u8c61\u653e\u5230\u786c\u76d8\u4e0a\u3002\u5982\u679c\u6709\u9700\u8981\u518d\u6362\u51fa\u3002<\/p>\n\n\n\n<p>\u8fd9\u662f\u56e0\u4e3aStateful\u5f15\u5165\u7684\u95ee\u9898\uff0c\u56e0\u6b64<strong>\u7cfb\u7edf\u8981\u5c3d\u91cfStateless<\/strong>\uff0c\u6216\u8005\u5c3d\u53ef\u80fd\u63a7\u5236\u5b9e\u4f8b\uff0c\u4e5f\u5c31\u6709\u4e86Scope\u3002<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Scopes<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;scope&#8221;\uff08\u4f5c\u7528\u57df\uff09\u7528\u4e8e\u5b9a\u4e49Spring\u5bb9\u5668\u5982\u4f55\u7ba1\u7406bean\u5b9e\u4f8b\u7684\u751f\u547d\u5468\u671f\u548c\u53ef\u89c1\u6027\u3002\u5176\u4e2d<strong>singleton<\/strong>\u548c<strong>prototype<\/strong>\u53ef\u4ee5\u5728\u6bcf\u4e00\u4e2aBean\u5bf9\u8c61\u524d\u90fd\u5b9a\u4e49\uff0c\u800c\u5176\u4f59\u7684\u4f5c\u7528\u4e8e\u6574\u4e2aWeb\u3002<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Scope<\/strong><\/th><th><strong>Description<\/strong><\/th><th><strong>\u89e3\u91ca<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>singleton<\/strong><\/td><td>\uff08\u9ed8\u8ba4\uff09\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a\u6bcf\u4e2a Spring IoC \u5bb9\u5668\u7684\u5355\u4e2a\u5bf9\u8c61\u5b9e\u4f8b\u3002<\/td><td>\u6574\u4e2a Spring \u5bb9\u5668\u4e2d\u53ea\u521b\u5efa\u4e00\u4e2a\u5b9e\u4f8b\uff0c\u5168\u5c40\u5171\u4eab<\/td><\/tr><tr><td><strong>prototype<\/strong><\/td><td>\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a\u4efb\u610f\u6570\u91cf\u7684\u5bf9\u8c61\u5b9e\u4f8b\u3002<\/td><td>\u6bcf\u6b21\u83b7\u53d6 Bean \u65f6\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u5b9e\u4f8b\uff0c\u6bd4\u5982controller\u8c03\u7528service\u4e5f\u4f1a\u521b\u5efa\u65b0\u7684\u3002<\/td><\/tr><tr><td><strong>request<\/strong><\/td><td>\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a\u5355\u4e2a HTTP \u8bf7\u6c42\u7684\u751f\u547d\u5468\u671f\u3002\u4ec5\u5728\u652f\u6301 Web \u7684 Spring <code>ApplicationContext<\/code> \u4e2d\u6709\u6548\u3002<\/td><td>\u6bcf\u6b21HTTP\u8bf7\u6c42\u90fd\u4e00\u4e2a\u65b0\u5b9e\u4f8b\uff0c\u9002\u5408\u4e0e\u8bf7\u6c42\u76f8\u5173\u7684\u6570\u636e\u5904\u7406\uff0c\u6bd4\u5982\u8bf7\u6c42\u53c2\u6570\u6821\u9a8c\u7b49\u3002<\/td><\/tr><tr><td><strong>session<\/strong><\/td><td>\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a HTTP \u4f1a\u8bdd\u7684\u751f\u547d\u5468\u671f\u3002\u4ec5\u5728\u652f\u6301 Web \u7684 Spring <code>ApplicationContext<\/code> \u4e2d\u6709\u6548\u3002<\/td><td>\u6bcf\u4e2a HTTP \u4f1a\u8bdd\u5468\u671f\u5185\u90fd\u4f1a\u6709\u72ec\u7acb\u7684 Bean \u5b9e\u4f8b\uff0c\u9002\u5408\u7528\u6237\u767b\u5f55\u72b6\u6001\uff0c\u5728\u4e00\u4e2asession\u5185\u591a\u4e2ahttp\u53ea\u6709\u4e00\u4e2a\u5b9e\u4f8b\u3002<\/td><\/tr><tr><td><strong>application<\/strong><\/td><td>\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a <code>ServletContext<\/code> \u7684\u751f\u547d\u5468\u671f\u3002\u4ec5\u5728\u652f\u6301 Web \u7684 Spring <code>ApplicationContext<\/code> \u4e2d\u6709\u6548\u3002<\/td><td>Bean \u7684\u751f\u547d\u5468\u671f\u4e0e\u6574\u4e2a Web \u5e94\u7528\u7684\u751f\u547d\u5468\u671f\u4e00\u81f4\uff0c\u9002\u5408\u5b58\u50a8\u5168\u5c40\u914d\u7f6e\u3001\u5171\u4eab\u8d44\u6e90\u7b49\u3002\u548csingleton\u533a\u522b\u662f\u7528\u5728web\u3002<\/td><\/tr><tr><td><strong>websocket<\/strong><\/td><td>\u5c06\u5355\u4e2a Bean \u5b9a\u4e49\u7684\u4f5c\u7528\u57df\u9650\u5236\u4e3a WebSocket \u4f1a\u8bdd\u7684\u751f\u547d\u5468\u671f\u3002\u4ec5\u5728\u652f\u6301 Web \u7684 Spring <code>ApplicationContext<\/code> \u4e2d\u6709\u6548\u3002<\/td><td>\u6bcf\u4e2a WebSocket \u4f1a\u8bdd\u521b\u5efa\u4e00\u4e2a Bean \u5b9e\u4f8b\uff0c\u9002\u5408\u5b9e\u65f6\u901a\u4fe1\u573a\u666f\u4e0b\u4e0e\u5355\u4e2a\u7528\u6237\u8fde\u63a5\u76f8\u5173\u7684\u6570\u636e\u6216\u72b6\u6001\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u7528\u4e24\u4e2a\u6d4f\u89c8\u5668\uff08\u6a21\u62df2\u4e2a\u9694\u79bb\u7684session\uff09\uff0c\u5404\u81ea\u53d1\u90011\u4e2arequest<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td colspan=\"2\" rowspan=\"2\"><\/td><td colspan=\"2\"><strong>Controller<\/strong><\/td><\/tr><tr><td>Prototype<\/td><td>session<\/td><\/tr><tr><td rowspan=\"2\">Service<\/td><td>prototype<\/td><td>4&nbsp;service&nbsp;instances<br>4&nbsp;controller&nbsp;instances<\/td><td>4&nbsp;service&nbsp;instances<br>2&nbsp;controller&nbsp;instances<\/td><\/tr><tr><td>session<\/td><td>2&nbsp;service&nbsp;instances<br>4&nbsp;controller&nbsp;instances<\/td><td>2&nbsp;service&nbsp;instances<br>2&nbsp;controller&nbsp;instances<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u5e93\u8fde\u63a5\u6c60<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u8fde\u63a5\u6c60\uff08Connection Pool\uff09\u7684\u672c\u8d28\u662f\u7ebf\u7a0b\u6c60\uff0c\u662f\u4e00\u79cd\u7528\u4e8e<strong>\u7ba1\u7406\u548c\u91cd\u7528\u6570\u636e\u5e93\u8fde\u63a5\u3001\u7f51\u7edc\u8fde\u63a5\u6216\u5176\u4ed6\u8d44\u6e90\u8fde\u63a5<\/strong>\u7684\u6280\u672f\uff0c\u65e8\u5728\u63d0\u9ad8\u5e94\u7528\u7a0b\u5e8f\u6027\u80fd\u548c\u8d44\u6e90\u5229\u7528\u7387\u3002\u8fde\u63a5\u6c60\u901a\u8fc7\u7ef4\u62a4\u4e00\u7ec4\u5df2\u521b\u5efa\u7684\u8fde\u63a5\u5b9e\u4f8b\uff0c\u5e76\u5728\u9700\u8981\u65f6\u5206 \u914d\u8fd9\u4e9b\u8fde\u63a5\uff0c\u4ee5\u51cf\u5c11\u521b\u5efa\u548c\u9500\u6bc1\u8fde\u63a5\u7684\u5f00\u9500\u3002<\/p>\n<\/blockquote>\n\n\n\n<p>\u8fde\u63a5\u6c60\u6570\u91cf\uff08\u7ecf\u9a8c\u516c\u5f0f\uff09<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>connections = ((core_count * 2) + effective_spindle_count)<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li>core_count: CPU \u6838\u5fc3\u6570\u3002<\/li>\n\n\n\n<li>effective_spindle_count: \u6709\u6548\u78c1\u76d8\u6570<\/li>\n<\/ul>\n\n\n\n<p>\u5f53\u7ebf\u7a0b\u6570\u8fc7\u5927\uff0c\u7ebf\u7a0b\u4e0a\u4e0b\u6587\u5207\u6362\u4f1a\u964d\u4f4e\u6548\u7387\u3002\u800c\u9009\u62e92\u500dCPU\u6838\u5fc3\u6570\u662f\u56e0\u4e3a\u8fd9\u6837\u4e0a\u4e0b\u6587\u5207\u6362\u6bd4\u8f83\u5c11\uff08\u6700\u5408\u7406\uff09\uff0c\u800c\u52a0\u4e0a\u6709\u6548\u78c1\u76d8\u6570\u662f\u56e0\u4e3a\u5f80\u78c1\u76d8\u5199\u65f6\u8ba4\u4e3aCPU\u57fa\u672c\u7a7a\u95f2\uff0c\u4e3b\u8981\u5360\u7528\u901a\u9053\u3002<\/p>\n\n\n\n<p>\u8fd9\u8bf4\u660e<strong>\u6570\u636e\u5e93\u8fde\u63a5\u6570\u548c\u8bbf\u95ee\u7684\u6570\u91cf\u6ca1\u5173\u7cfb\uff0c\u53ea\u548c\u81ea\u5df1\u786c\u4ef6\u56e0\u7d20\u6709\u5173<\/strong>\uff0c\u7406\u60f3\u7684\u8fde\u63a5\u6c60\u662f \u201c\u5c0f\u6c60\u5b50\uff0c\u5927\u538b\u529b\u201d\uff1a\u4f60\u5e0c\u671b\u7ebf\u7a0b\u7b49\u5f85\u83b7\u53d6\u8fde\u63a5\uff0c\u800c\u4e0d\u662f\u8fde\u63a5\u8fc7\u591a\u5bfc\u81f4\u7ba1\u7406\u6210\u672c\u9ad8\u3002\u5904\u7406\u4e0d\u8fc7\u6765\u6570\u636e\u5e94\u8be5\u6362\u597d\u673a\u5668\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Messaging &#8211; JMS<\/h2>\n\n\n\n<p>Messaging\uff1a\u662f\u4e00\u79cd\u5728\u8f6f\u4ef6\u7ec4\u4ef6\u6216\u5e94\u7528\u7a0b\u5e8f\u4e4b\u95f4\u8fdb\u884c\u901a\u4fe1\u7684\u65b9\u6cd5<\/p>\n\n\n\n<p>\u662f\u4e00\u79cdpeer-to-peer\u7684\u65b9\u5f0f\uff0c\u5927\u5bb6\u90fd\u4e00\u6837\u53ef\u4ee5\u63a5\u6536\u4e5f\u53ef\u4ee5\u53d1\u9001\u6d88\u606f\uff0c\u6bcf\u4e2a\u5ba2\u6237\u7aef\u90fd\u8fde\u63a5\u5230\u4e00\u4e2a\u6d88\u606f\u4ee3\u7406\uff0c\u8be5\u4ee3\u7406\u63d0\u4f9b\u521b\u5efa\u3001\u53d1\u9001\u3001\u63a5\u6536\u548c\u8bfb\u53d6\u6d88\u606f\u7684\u529f\u80fd\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u89e3\u51b3\u677e\u6563\u8026\u5408\u7684\u95ee\u9898\uff0c\u4f7f\u5f97\u5206\u5e03\u5f0f\u6210\u4e3a\u53ef\u80fd\uff08\u53ef\u4ee5\u8f6c\u53d1\u7ed9\u5176\u5b83\u670d\u52a1\u5668\u6d88\u606f\u4e86\uff0c\u800c\u4e0d\u662f\u53ea\u53ef\u4ee5\u53bb\u5904\u7406\u6d88\u606f<\/p>\n\n\n\n<p>JMS\uff08Java Mesage Service\uff09\uff1a\u662f\u4e00\u79cd Java API\uff0c\u5141\u8bb8\u5e94\u7528\u7a0b\u5e8f\u521b\u5efa\u3001\u53d1\u9001\u3001\u63a5\u6536\u548c\u8bfb\u53d6\u6d88\u606f\uff0c\u5f00\u6e90\u7684\u5b9e\u73b0\u6709kafka\uff0cJMS\u8fd8\u5177\u5907\u4ee5\u4e0b\u7279\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f02\u6b65\uff08Asynchronous\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63a5\u6536\u5ba2\u6237\u7aef\u4e0d\u9700\u8981\u5728\u53d1\u9001\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u65f6\u7acb\u5373\u63a5\u6536\u6d88\u606f\u3002\u53d1\u9001\u7aef\u53ef\u4ee5\u53d1\u9001\u6d88\u606f\u5e76\u7ee7\u7eed\u6267\u884c\u5176\u4ed6\u4efb\u52a1\uff1b\u63a5\u6536\u7aef\u53ef\u4ee5\u7a0d\u540e\u63a5\u6536\u8fd9\u4e9b\u6d88\u606f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u53ef\u9760\uff08Reliable\uff09\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b9e\u73b0 JMS API \u7684\u6d88\u606f\u63d0\u4f9b\u8005\u53ef\u4ee5\u786e\u4fdd\u6d88\u606f\u4ec5\u88ab\u4f20\u9012\u4e00\u6b21\u4e14\u4ec5\u4e00\u6b21\u3002\u5bf9\u4e8e\u4e0d\u9700\u8981\u9ad8\u53ef\u9760\u6027\u7684\u5e94\u7528\uff0c\u4e5f\u53ef\u4ee5\u9009\u62e9\u8f83\u4f4e\u7684\u53ef\u9760\u6027\u6c34\u5e73\uff0c\u6bd4\u5982\u5141\u8bb8\u4e22\u5931\u6d88\u606f\u6216\u63a5\u6536\u91cd\u590d\u7684\u6d88\u606f\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">JMS\u6d88\u606f\u4f20\u8f93\u6a21\u578b<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u70b9\u5bf9\u70b9\uff08Point-to-Point\uff0cP2P\uff09\u6a21\u578b<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u8fd9\u4e2a\u6a21\u578b\u4e2d\uff0c\u6d88\u606f\u751f\u4ea7\u8005\u53d1\u9001\u6d88\u606f\u5230\u961f\u5217\uff08Queue\uff09\uff0c\u6d88\u606f\u6d88\u8d39\u8005\u4ece\u961f\u5217\u4e2d\u63a5\u6536\u6d88\u606f\u3002<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u6d88\u606f\u53ea\u80fd\u88ab\u4e00\u4e2a\u6d88\u8d39\u8005\u63a5\u6536\uff0c\u4e00\u65e6\u6d88\u606f\u88ab\u6d88\u8d39\uff0c\u5b83\u5c31\u4f1a\u4ece\u961f\u5217\u4e2d\u79fb\u9664\uff0c\u786e\u4fdd\u6d88\u606f\u4e0d\u4f1a\u91cd\u590d\u5904\u7406\u3002<\/li>\n\n\n\n<li>\u8fd9\u79cd\u6a21\u578b\u9002\u7528\u4e8e\u9700\u8981\u786e\u4fdd\u6d88\u606f\u53ea\u88ab\u5904\u7406\u4e00\u6b21\u7684\u573a\u666f\uff0c\u4f8b\u5982\u8ba2\u5355\u5904\u7406\u3001\u7528\u6237\u8bf7\u6c42\u5904\u7406\u7b49\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/picx.zhimg.com\/v2-5a32a3a365f057d9f6b1b9d39f466e5d_1440w.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/picx.zhimg.com\/v2-5a32a3a365f057d9f6b1b9d39f466e5d_1440w.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53d1\u5e03\/\u8ba2\u9605\uff08Publish\/Subscribe\uff0cPub\/Sub\uff09\u6a21\u578b<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728<a href=\"https:\/\/zhida.zhihu.com\/search?content_id=242827788&amp;content_type=Article&amp;match_order=4&amp;q=%E5%8F%91%E5%B8%83%2F%E8%AE%A2%E9%98%85&amp;zhida_source=entity\" target=\"_blank\" rel=\"noreferrer noopener\">\u53d1\u5e03\/\u8ba2\u9605<\/a>\u6a21\u578b\u4e2d\uff0c\u6d88\u606f\u751f\u4ea7\u8005\uff08\u53d1\u5e03\u8005\uff09\u5c06\u6d88\u606f\u53d1\u9001\u5230\u4e3b\u9898\uff08Topic\uff09\uff0c\u800c\u6d88\u606f\u6d88\u8d39\u8005\uff08\u8ba2\u9605\u8005\uff09\u8ba2\u9605\u611f\u5174\u8da3\u7684\u4e3b\u9898\u3002<\/li>\n\n\n\n<li>\u4e00\u4e2a\u53d1\u5e03\u8005\u53d1\u9001\u7684\u6d88\u606f\u53ef\u4ee5\u88ab\u591a\u4e2a\u8ba2\u9605\u8005\u63a5\u6536\uff0c\u8fd9\u4f7f\u5f97\u53d1\u5e03\/\u8ba2\u9605\u6a21\u578b\u975e\u5e38\u9002\u5408\u9700\u8981\u4e00\u5bf9\u591a\u901a\u4fe1\u7684\u573a\u666f\u3002<\/li>\n\n\n\n<li>\u8ba2\u9605\u8005\u53ef\u4ee5\u8bbe\u7f6e\u8fc7\u6ee4\u6761\u4ef6\uff0c\u53ea\u63a5\u6536\u6ee1\u8db3\u7279\u5b9a\u6761\u4ef6\u7684\u6d88\u606f\uff0c\u8fd9\u589e\u52a0\u4e86\u6d88\u606f\u4f20\u8f93\u7684\u7075\u6d3b\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic1.zhimg.com\/v2-7db4b19e70b095b40f76fec1b87c13b0_1440w.jpg'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic1.zhimg.com\/v2-7db4b19e70b095b40f76fec1b87c13b0_1440w.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<p>\u4e24\u79cd\u6a21\u578b\u7684\u7279\u70b9\u5bf9\u6bd4\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e00\u5bf9\u4e00 vs \u4e00\u5bf9\u591a<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>P2P\u6a21\u578b\u662f\u4e00\u5bf9\u4e00\u7684\u6d88\u606f\u4f20\u8f93\uff0c\u6bcf\u6761\u6d88\u606f\u53ea\u6709\u4e00\u4e2a\u6d88\u8d39\u8005\u3002<\/li>\n\n\n\n<li>Pub\/Sub\u6a21\u578b\u662f\u4e00\u5bf9\u591a\u7684\u6d88\u606f\u4f20\u8f93\uff0c\u4e00\u6761\u6d88\u606f\u53ef\u4ee5\u88ab\u591a\u4e2a\u8ba2\u9605\u8005\u63a5\u6536\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u961f\u5217 vs \u4e3b\u9898<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728P2P\u6a21\u578b\u4e2d\uff0c\u4f7f\u7528\u961f\u5217\u4f5c\u4e3a\u6d88\u606f\u7684\u5bb9\u5668\uff0c\u961f\u5217\u4fdd\u8bc1\u4e86\u6d88\u606f\u7684\u987a\u5e8f\u6027\u548c\u72ec\u7acb\u6027\u3002<\/li>\n\n\n\n<li>\u5728Pub\/Sub\u6a21\u578b\u4e2d\uff0c\u4f7f\u7528\u4e3b\u9898\u4f5c\u4e3a\u6d88\u606f\u7684\u53d1\u5e03\u70b9\uff0c\u4e3b\u9898\u5141\u8bb8\u591a\u4e2a\u8ba2\u9605\u8005\u63a5\u6536\u6d88\u606f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u786e\u8ba4<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728P2P\u6a21\u578b\u4e2d\uff0c\u6d88\u8d39\u8005\u901a\u5e38\u9700\u8981\u663e\u5f0f\u786e\u8ba4\u6d88\u606f\uff0c\u544a\u77e5\u6d88\u606f\u670d\u52a1\u5668\u6d88\u606f\u5df2\u88ab\u6210\u529f\u5904\u7406\u3002<\/li>\n\n\n\n<li>\u5728Pub\/Sub\u6a21\u578b\u4e2d\uff0c\u8ba2\u9605\u8005\u53ef\u80fd\u9700\u8981\u786e\u8ba4\u6d88\u606f\uff0c\u4e5f\u53ef\u80fd\u4e0d\u9700\u8981\uff0c\u8fd9\u53d6\u51b3\u4e8e\u5177\u4f53\u7684\u5b9e\u73b0\u548c\u914d\u7f6e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u6301\u4e45\u6027<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u4e24\u79cd\u6a21\u578b\u4e2d\uff0c\u90fd\u53ef\u4ee5\u914d\u7f6e\u6d88\u606f\u7684\u6301\u4e45\u6027\uff0c\u786e\u4fdd\u6d88\u606f\u4e0d\u4f1a\u56e0\u4e3a\u7cfb\u7edf\u6545\u969c\u800c\u4e22\u5931\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>JMS\u7684\u8fd9\u4e24\u79cd\u6d88\u606f\u4f20\u8f93\u6a21\u578b\u4e3a\u4e0d\u540c\u7684\u5e94\u7528\u573a\u666f\u63d0\u4f9b\u4e86\u7075\u6d3b\u7684\u6d88\u606f\u4f20\u9012\u673a\u5236\uff0c\u5141\u8bb8\u5f00\u53d1\u8005\u6839\u636e\u4e1a\u52a1\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u6a21\u578b\u6765\u5b9e\u73b0\u6d88\u606f\u901a\u4fe1\u3002<\/p>\n\n\n\n<p>JMS\u6d88\u606f\u683c\u5f0f\uff08\u4e0d\u8be6\u7ec6\u5c55\u5f00\u4e86\uff0c\u611f\u89c9\u4e0d\u91cd\u8981\uff09<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6d88\u606f\u5934 (Header)<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u5fc5\u9700\u90e8\u5206<\/strong>\uff0c\u5305\u542b\u4e0e\u6d88\u606f\u76f8\u5173\u7684\u57fa\u672c\u4fe1\u606f\uff0c\u6bd4\u5982\u6d88\u606f\u7684\u76ee\u7684\u5730\u3001\u6807\u8bc6\u7b26\u3001\u65f6\u95f4\u6233\u7b49\u3002<\/li>\n\n\n\n<li>\u4f5c\u7528\uff1a\u5e2e\u52a9\u6d88\u606f\u4f20\u9012\u548c\u8def\u7531\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5c5e\u6027 (Properties)<\/strong><em>(\u53ef\u9009)<\/em>\n<ul class=\"wp-block-list\">\n<li>\u7528\u6237\u6216\u7cfb\u7edf\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\uff08key-value pair\uff09\u3002<\/li>\n\n\n\n<li>\u4f5c\u7528\uff1a\u643a\u5e26\u989d\u5916\u4fe1\u606f\u6216\u5143\u6570\u636e\uff0c\u5e2e\u52a9\u6d88\u606f\u63a5\u6536\u65b9\u7406\u89e3\u6d88\u606f\u5185\u5bb9\u6216\u8fdb\u884c\u7b5b\u9009\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d88\u606f\u4f53 (Body)<\/strong><em>(\u53ef\u9009)<\/em>\n<ul class=\"wp-block-list\">\n<li>\u6d88\u606f\u7684\u4e3b\u8981\u5185\u5bb9\uff0c\u901a\u5e38\u5305\u542b\u4e1a\u52a1\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u683c\u5f0f\u53ef\u4ee5\u662f&nbsp;<strong>\u6587\u672c<\/strong>\uff08\u5982 JSON\u3001XML\uff09\u3001<strong>\u5b57\u8282\u6d41<\/strong>\u3001<strong>\u5bf9\u8c61<\/strong>\u7b49\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u540c\u6b65\u5ba2\u6237\u7aef-\u670d\u52a1\u5668\u6a21\u578b<\/strong>\u95ee\u9898\u548c\u5c40\u9650<\/h2>\n\n\n\n<p><strong>\u540c\u6b65\u5ba2\u6237\u7aef-\u670d\u52a1\u5668\u6a21\u578b<\/strong>\uff08Synchronous client-server model\uff09\uff1a\u5ba2\u6237\u7aef\u53d1\u9001\u8bf7\u6c42\u540e\u7b49\u5f85\u670d\u52a1\u5668\u54cd\u5e94\uff0c\u963b\u585e\u5f0f\u6267\u884c\u3002\u57fa\u672c\u7684\u597d\u5904\u662f\u5f88<strong>\u7b80\u5355<\/strong>\u4f46\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u6548\u7387\u4f4e\u4e0b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>\u7279\u70b9<\/strong><\/th><th><strong>\u63cf\u8ff0<\/strong><\/th><th><strong>\u5f71\u54cd<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u7d27\u8026\u5408\uff08Tightly Coupled\uff09<\/strong><\/td><td>\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u9ad8\u5ea6\u4f9d\u8d56\uff0c\u534f\u8bae\u3001\u6570\u636e\u683c\u5f0f\u9700\u5b8c\u5168\u4e00\u81f4\u3002<\/td><td>\u7f3a\u4e4f\u7075\u6d3b\u6027\uff0c\u96be\u4ee5\u6269\u5c55\uff0c\u4fee\u6539\u4e00\u65b9\u9700\u6539\u52a8\u53e6\u4e00\u65b9\u3002<\/td><\/tr><tr><td><strong>\u6ca1\u6709\u4ea4\u4ed8\u4fdd\u8bc1\uff08No Delivery Guarantees\uff09<\/strong><\/td><td>\u6d88\u606f\u4f20\u9012\u53ef\u80fd\u5931\u8d25\uff0c\u670d\u52a1\u5668\u53ef\u80fd\u4e22\u5931\u8bf7\u6c42\uff08\u6bd4\u5982\u670d\u52a1\u5668\u4e0d\u5728\u7ebf\uff09\uff0c\u5ba2\u6237\u7aef\u53ef\u80fd\u672a\u6536\u5230\u54cd\u5e94\uff0c\u65e0\u5197\u4f59\u4fdd\u8bc1<\/td><td>\u589e\u52a0\u6570\u636e\u4e22\u5931\u7684\u98ce\u9669\uff0c\u7cfb\u7edf\u53ef\u9760\u6027\u964d\u4f4e\u3002<\/td><\/tr><tr><td><strong>\u8f6f\u4ef6\u7269\u79cd\u5316\uff08Software Speciation\uff09<\/strong><\/td><td>\u4e0d\u540c\u7cfb\u7edf\u96be\u4ee5\u517c\u5bb9\u6216\u534f\u540c\uff0c\u968f\u7740\u9700\u6c42\u53d8\u5316\uff0c\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u9010\u6e10\u6f14\u5316\u4e3a\u72ec\u7acb\u7684\u201c\u7269\u79cd\u201d\u3002<\/td><td>\u597d\u5904\u662f\u63d0\u9ad8\u4e86\u7075\u6d3b\u6027\uff0c\u53ef\u4ee5\u8ba9\u5176\u66f4\u4e13\u6ce8\u81ea\u5df1\u7684\u9700\u6c42\u3002\u4f46\u7cfb\u7edf\u96be\u4ee5\u96c6\u6210\uff0c<strong>\u964d\u4f4e\u7ef4\u62a4\u6027<\/strong>\u548c\u6269\u5c55\u6027\u3002<\/td><\/tr><tr><td><strong>\u6ca1\u6709\u8bf7\u6c42\u7f13\u51b2\uff08Without a Request Buffer\uff09<\/strong><\/td><td>\u670d\u52a1\u5668\u6536\u5230\u8bf7\u6c42\u540e\u9700\u7acb\u5373\u5904\u7406\uff0c\u65e0\u7f13\u5b58\u673a\u5236\u3002<\/td><td>\u9ad8\u5e76\u53d1\u6216\u9ad8\u8d1f\u8f7d\u65f6\uff0c\u5bb9\u6613\u51fa\u73b0\u6027\u80fd\u74f6\u9888\u6216\u7cfb\u7edf\u5d29\u6e83\u3002<\/td><\/tr><tr><td><strong>\u8fc7\u4e8e\u5f3a\u8c03\u8bf7\u6c42\u548c\u54cd\u5e94\uff08Too Much Emphasis on Requests and Responses\uff09<\/strong><\/td><td>\u5f3a\u8c03\u8bf7\u6c42\u4e0e\u54cd\u5e94\u7684\u4ea4\u4e92\uff0c\u5ffd\u7565\u5f02\u6b65\u901a\u4fe1\u6216\u4e8b\u4ef6\u9a71\u52a8\u7b49\u66f4\u9ad8\u6548\u7684\u6a21\u5f0f\u3002<\/td><td>\u7cfb\u7edf\u7075\u6d3b\u6027\u4e0d\u8db3\uff0c\u96be\u4ee5\u5e94\u5bf9\u590d\u6742\u4e1a\u52a1\u9700\u6c42\u3002<\/td><\/tr><tr><td><strong>\u901a\u4fe1\u4e0d\u53ef\u91cd\u653e\uff08Communication is not Replayable\uff09<\/strong><\/td><td>\u6d88\u606f\u4e22\u5931\u540e\u65e0\u6cd5\u91cd\u653e\uff0c\u5ba2\u6237\u7aef\u6216\u670d\u52a1\u5668\u65e0\u6cd5\u6062\u590d\u4e4b\u524d\u72b6\u6001\u3002<\/td><td>\u6570\u636e\u53ef\u80fd\u4e22\u5931\uff0c\u7cfb\u7edf\u5bb9\u9519\u6027\u5dee\uff0c\u5f71\u54cd\u7528\u6237\u4f53\u9a8c\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u89e3\u51b3\u65b9\u6cd5\uff1a\u5f02\u6b65\u6a21\u578b<\/h3>\n\n\n\n<p>\u52a0\u4e00\u4e2a\u6d88\u606f\u4e2d\u95f4\u4ef6\uff0c\u670d\u52a1\u7aef\u548c\u5ba2\u6237\u7aef\u90fd\u4e0e\u4e2d\u95f4\u4ef6\u4ea4\u4e92\uff0c\u518d\u7531\u4e2d\u95f4\u4ef6\u8f6c\u53d1\u3002 \u6bd4\u5982controller\u6536\u5230\u6d88\u606f\uff0c\u7ed9kafka\uff0cservice\u76d1\u542ckafka\u53bb\u5904\u7406\u3002\u8fd9\u6837\u5b9e\u9645\u4e0a\u53cc\u65b9\u90fd\u662f\u5bf9\u7b49\u7684\uff0c\u90fd\u53ef\u4ee5\u63a5\u6536\u53d1\u9001\u6d88\u606f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-454.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"284\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-454.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2014\"  sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><\/div><\/figure>\n\n\n\n<p>\u6b64\u65f6\u6d88\u606f\u53ef\u80fd\u5341\u5206\u949f\u540e\u624d\u5904\u7406\uff08\u4e1a\u52a1\u7e41\u5fd9\u4e0b\uff09\uff0c\u4e14\u5728controller\u4e0b\u5df2\u7ecf\u8fd4\u56de\u7ed3\u679c\uff0c\u8981\u544a\u8bc9\u524d\u7aef\u5904\u7406\u5b8c\u6210\uff0c\u5c31\u6709\u4e86\u4e09\u79cd\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u5b9e\u73b0\u65b9\u5f0f<\/td><td>\u539f\u7406<\/td><td>\u4f18\u52a3\u52bf<\/td><\/tr><tr><td>JavaScript\u76d1\u542c<\/td><td>\u628a\u5904\u7406\u5b8c\u6210\u7684\u6d88\u606f\u4e5f\u63a8\u5230Topic\u91cc\u9762\uff0c\u518d\u7531\u524d\u7aef\u67e5\u8be2\uff0c\u539f\u7406\u5982\u5bc4\u4fe1<\/td><td>\u4f18\u70b9\uff1a\u76f4\u63a5\u4ea4\u4e92\uff0c\u4e0d\u9700\u8981\u5355\u72ec\u5199\u65b0\u63a5\u53e3\uff08\u90fd\u8fd0\u884ckafka\u76d1\u542c\uff09\uff0c\u590d\u6742\uff0c\u5ba2\u6237\u7aef\u76f4\u63a5\u4e0eTopic\u8fde\u63a5\uff0c<strong>Topic\u76f4\u63a5\u66b4\u9732<\/strong>\uff0c\u9700\u8981\u786e\u4fdd\u6d88\u606f\u4f20\u9012\u7684\u5b89\u5168\u6027\uff0c\u9632\u6b62\u672a\u6388\u6743\u7684\u8ba2\u9605\u548c\u6d88\u606f\u7a83\u53d6\u3002<\/td><\/tr><tr><td>Ajax<\/td><td>\u524d\u7aef\u518d\u53d1Ajax\u8bf7\u6c42\uff0c\u8f6e\u8be2\u673a\u5236\u67e5\u8be2<\/td><td>\u65e0\u9700\u4e2d\u95f4\u4ef6\u6bd4\u8f83\u7075\u6d3b\uff0c\u4f46\u4e25\u91cd\u589e\u52a0\u670d\u52a1\u5668\u8d1f\u8f7d\uff0c\u9020\u6210\u4e0d\u5fc5\u8981\u7684\u5e26\u5bbd\u6d6a\u8d39<\/td><\/tr><tr><td>websocket<\/td><td>\u670d\u52a1\u5668\u5ba2\u6237\u7aefwebsocket\u94fe\u63a5<\/td><td>\u5b9e\u65f6\u66f4\u65b0\uff0c\u53cc\u5411\u5de5\u4f5c\uff0c\u8282\u7701\u4e86\u5e26\u5bbd\u901a\u4fe1\u91cf\uff0c\u53ef\u4ee5\u4fdd\u6301\u6301\u4e45\u8fde\u63a5\u3002\u4f46\u5b9e\u73b0\u590d\u6742\u5ea6\u9ad8\uff0c\u4fdd\u6301\u8fde\u63a5\u8bb2\u6301\u7eed\u5360\u7528\u670d\u52a1\u5668\u8d44\u6e90\uff0c\u8001\u6d4f\u89c8\u5668\u4e0d\u517c\u5bb9\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u4e8c\u8005\u5e76\u4e0d\u5b58\u5728\u7edd\u5bf9\u7684\u4f18\u52bf\u52a3\u52bf\uff0c\u4f8b\u5982\u767b\u5f55\u9700\u8981\u53ca\u65f6\u7684\u53cd\u9988\uff0c\u90a3\u4e48\u540c\u6b65\u6a21\u578b\u66f4\u597d\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kafka<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u4e00\u79cd\u6d88\u606f\u961f\u5217\uff1b\u4e3b\u8981\u7528\u6765\u5904\u7406\u5927\u91cf\u6570\u636e\u72b6\u6001\u4e0b\u7684\u6d88\u606f\u961f\u5217\uff0c\u4e00\u822c\u7528\u6765\u505a\u65e5\u5fd7\u7684\u5904\u7406\u3002\u4e3b\u8981\u4f5c\u7528\u6709\u89e3\u8026\u5408\uff0c\u5f02\u6b65\u5904\u7406\uff0c\u6d41\u91cf\u524a\u5cf0\u3002<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li>kafka\u7684\u6570\u636e\u5b58\u50a8\u5728log\u91cc\u9762\uff0c\u6570\u636e\u5f80\u6587\u4ef6\u540e\u9762\u4e0d\u65ad\u8ffd\u52a0\uff0c\u8ffd\u52a0\u7684\u901f\u5ea6\u66f4\u5feb<\/li>\n\n\n\n<li>log\u91cc\u9762\u90fd\u662f\u6709\u5e8f\u7684\u4e8b\u4ef6\uff0c\u6bcf\u4e2a\u4e8b\u4ef6\u90fd\u6709\u4f4d\u79fb\uff0c\u504f\u79fb\u91cf<\/li>\n\n\n\n<li>\u5f53\u7136\u6709\u5f88\u591a\u4e2a\u6d88\u8d39\u8005\uff0c\u628a\u6d88\u8d39\u8005\u5206\u6210\u4e0d\u540c\u7684\u7ec4\u3002\u5f53\u4e00\u4e2a\u6d88\u606f\u88ab\u6240\u6709\u7684\u6d88\u8d39\u8005\u8bfb\u8d70\u4e86\u4e4b\u540e\uff0c\u8fd9\u4e2a\u6d88\u606f \u624d\u4f1a\u88ab\u5220\u9664\u6389\uff1b\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u8bfb\u53d6\u540c\u4e00\u4e2alog\uff0c\u5e76\u4e14\u7ef4\u62a4\u4ed6\u4eec\u5404\u81ea\u7684\u6587\u4ef6\u4f4d\u7f6e\uff08\u90fd\u5230\u54ea\u91cc\u4e86\uff09<\/li>\n\n\n\n<li>\u8fd9\u6837\u5c31\u80fd\u4fdd\u8bc1log\u6587\u4ef6\u4e0d\u53ef\u80fd\u65e0\u9650\u5236\u7684\u589e\u957f<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u96c6\u7fa4\u7684\u5bb9\u707e\uff0c\u7528\u7a7a\u95f4\u6362\u53ef\u9760\u6027\uff0c\u6bd4\u5982\u6bcf\u4e2a\u6570\u636e\u5b58\u50a8\u4e24\u4e2a\u526f\u672c\uff0c\u8fd9\u6837\u6bd4\u5982\u6709\u4e00\u4e2a\u5361\u592b\u5361\u670d\u52a1\u5668\u5d29\u6e83\u4e86\uff0c\u8fd8\u6709\u4e00\u4e2a\u5907\u4efd\u80fd\u591f\u4f7f\u7528\u3002\u5bf9\u4e8econsumer\u5bb9\u707e\uff0c\u6b64\u65f6\u5c31\u9700\u8981\u4e00\u4e2a\u534f\u8c03\u5668\u5728kafka\u96c6\u7fa4\u91cc\u9762\uff0cconsumer\u4e00\u76f4\u53d1\u5fc3\u8df3\u5305\u7ed9\u534f\u8c03\u5668\uff0c\u5982\u679c\u4e0d\u53d1\u534f\u8c03\u5668\u5c31\u4e0d\u4f1a\u518d\u628a\u6d88\u606f\u7ed9\u6545\u969c\u7684\u673a\u5668\u3002<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e09\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">WebSocket<\/h2>\n\n\n\n<p>WebSocket\u662f\u4e00\u79cd\u5e94\u7528\u534f\u8bae\uff0c\u901a\u8fc7TCP\u534f\u8bae\u5728\u4e24\u4e2a\u5bf9\u7b49\u4f53\u4e4b\u95f4\u63d0\u4f9b<strong>\u5168\u53cc\u5de5<\/strong>\uff08\u53cc\u5411\u90fd\u5de5\u4f5c\uff09\u901a\u4fe1\uff0c\u5373\u7528\u6237\u53ef\u4ee5\u4e3b\u52a8\u7ed9\u670d\u52a1\u5668\u53d1\u6d88\u606f\uff0c\u670d\u52a1\u5668\u4e5f\u53ef\u4ee5\u4e3b\u52a8\u7ed9\u7528\u6237\u4f20\u9012\u6d88\u606f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728WebSocket\u5e94\u7528\u7a0b\u5e8f\u4e2d\uff0c\u670d\u52a1\u5668\u53d1\u5e03WebSocket\u7aef\u70b9\uff0c\u5ba2\u6237\u7aef\u4f7f\u7528\u7aef\u70b9\u7684URI\u8fde\u63a5\u5230\u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li>WebSocket\u534f\u8bae\u5728\u8fde\u63a5\u5efa\u7acb\u540e\u662f\u5bf9\u79f0\u7684\uff1a<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u53ef\u4ee5\u5728\u8fde\u63a5\u6253\u5f00\u65f6\u968f\u65f6\u4e92\u76f8\u53d1\u9001\u6d88\u606f\uff0c\u4e5f\u53ef\u4ee5\u968f\u65f6\u5173\u95ed\u8fde\u63a5\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u901a\u5e38\u53ea\u8fde\u63a5\u5230\u4e00\u4e2a\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u63a5\u53d7\u6765\u81ea\u591a\u4e2a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u3002<\/li>\n<\/ul>\n\n\n\n<p>WebSocket\u534f\u8bae\u6709\u4e24\u90e8\u5206\uff1a<\/p>\n\n\n\n<p>\u63e1\u624b\uff08handshake\uff09\u548c\u6570\u636e\u4f20\u8f93\uff08data transfer \uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u8fc7\u7a0b<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u5ba2\u6237\u7aef\u53d1\u8d77 WebSocket \u63e1\u624b\u8bf7\u6c42<\/h4>\n\n\n\n<p>\u5ba2\u6237\u7aef\u901a\u8fc7\u4f7f\u7528\u5176URI\u5411WebSocket\u7aef\u70b9\u53d1\u9001\u8bf7\u6c42\u6765\u542f\u52a8\u63e1\u624b\u3002<br>\u63e1\u624b\uff08handshake\uff09\u4e0e\u73b0\u6709\u7684\u57fa\u4e8eHTTP\u7684\u57fa\u7840\u8bbe\u65bd\u517c\u5bb9\uff0cWeb\u670d\u52a1\u5668\u89e3\u91ca\u5176\u4e3aHTTP\u8fde\u63a5\u5347\u7ea7\u8bf7\u6c42\uff0c\u4e00\u4e2a\u4f8b\u5b50\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GET \/path\/to\/websocket\/endpoint HTTP\/1.1 \nHost: localhost \nUpgrade: websocket \nConnection: Upgrade \nSec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg== \nOrigin: http:\/\/localhost \nSec-WebSocket-Version: 13<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u670d\u52a1\u5668\u54cd\u5e94 WebSocket \u63e1\u624b\u8bf7\u6c42<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>HTTP\/1.1 101 Switching Protocols \nUpgrade: websocket \nConnection: Upgrade \nSec-WebSocket-Accept: K7DJLdLooIwIG\/MOpvWFB3y3FE8=<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><code>Sec-WebSocket-Accept<\/code> \u7684\u751f\u6210<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u5668\u5bf9Sec-WebSocket-Key\u6807\u5934\u7684\u503c\u5e94\u7528\u5df2\u77e5\u64cd\u4f5c\uff0c\u4ee5\u751f\u6210Sec-WebSocket-Accept\u6807\u5934\u7684\u503c\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u5bf9Sec-WebSocket-Key\u6807\u5934\u7684\u503c\u5e94\u7528\u76f8\u540c\u7684\u64cd\u4f5c\uff0c\u5982\u679c\u7ed3\u679c\u4e0e\u4ece\u670d\u52a1\u5668\u63a5\u6536\u5230\u7684\u503c\u5339\u914d\uff0c\u5219\u8fde\u63a5\u6210\u529f\u5efa\u7acb\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5efa\u7acb WebSocket \u8fde\u63a5<\/h4>\n\n\n\n<p>\u5ba2\u6237\u7aef\u6536\u5230\u670d\u52a1\u5668\u7684\u54cd\u5e94\u540e\uff0c\u9a8c\u8bc1 <code>Sec-WebSocket-Accept<\/code> \u662f\u5426\u6b63\u786e\u3002\u5982\u679c\u9a8c\u8bc1\u901a\u8fc7\uff0c\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u5c31\u53ef\u4ee5\u4e92\u76f8\u53d1\u9001\u6d88\u606f\u4e86\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ws:\/\/host:port\/path?query \nwss:\/\/host:port\/path?query <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b\u5b9e\u73b0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u521b\u5efa\u7aef\u70b9\u7c7b\uff08endpoint\uff09\u3002<\/li>\n\n\n\n<li>\u5b9e\u73b0\u7aef\u70b9\u7684\u751f\u547d\u5468\u671f\u65b9\u6cd5\u3002<\/li>\n\n\n\n<li>\u5c06\u60a8\u7684\u4e1a\u52a1\u903b\u8f91\u6dfb\u52a0\u5230\u7aef\u70b9\u3002<\/li>\n\n\n\n<li>\u5728web\u5e94\u7528\u7a0b\u5e8f\u5185\u90e8\u90e8\u7f72\u7aef\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5bf9\u4e8e\u5177\u4f53\u903b\u8f91\u5b9e\u73b0\uff0c\u7528\u6237\u5e94\u5f53\u5148\u53d1\u9001\u9a8c\u8bc1\uff0c\u670d\u52a1\u5668\u8fd4\u56detoken\uff0c\u518d\u6839\u636etoken\u5efa\u7acb\u8fde\u63a5\u4fdd\u8bc1\u552f\u4e00\u6027\uff08\u9632\u6b62\u5176\u4ed6\u4eba\u4e5f\u53ef\u4ee5\u8fde\u63a5\uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">endpoint<\/h3>\n\n\n\n<p>\u5728WebSocket\u4e2d\uff0cendpoint \u662f\u6307WebSocket\u901a\u4fe1\u7684\u76ee\u6807\u6216\u7ec8\u70b9\u3002\u5b83\u662fWebSocket\u8fde\u63a5\u7684\u53e6\u4e00\u7aef\uff0c\u53ef\u4ee5 \u662f\u670d\u52a1\u5668\u6216\u5ba2\u6237\u7aef\uff0c\u7528\u4e8e\u63a5\u6536\u6216\u53d1\u9001WebSocket\u6d88\u606f\u3002<\/p>\n\n\n\n<p>\u5171\u6709\u4e24\u79cd\u7c7b\u578bendpoint\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>WebSocket\u670d\u52a1\u5668\u7aef(endpoint)\uff1a\u8fd9\u662fWebSocket\u901a\u4fe1\u7684\u670d\u52a1\u5668\u7aef\uff0c\u5b83\u7b49\u5f85\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u8bf7\u6c42\u5e76\u5904\u7406\u5b83\u4eec\u3002\u4e00\u65e6\u8fde\u63a5\u5efa\u7acb\uff0c\u670d\u52a1\u5668\u7aef\u5c31\u4f1a\u76d1\u542c\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u6d88\u606f\uff0c\u5e76\u53ef\u4ee5\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u6d88\u606f\u3002 WebSocket\u670d\u52a1\u5668\u901a\u5e38\u7528\u4e8e\u5b9e\u65f6\u901a\u4fe1\u3001\u5728\u7ebf\u6e38\u620f\u3001\u804a\u5929\u5e94\u7528\u7b49\u573a\u666f\u3002 <\/li>\n\n\n\n<li>WebSocket\u5ba2\u6237\u7aef(endpoint)\uff1a\u8fd9\u662fWebSocket\u901a\u4fe1\u7684\u5ba2\u6237\u7aef\uff0c\u5b83\u4e0eWebSocket\u670d\u52a1\u5668\u5efa\u7acb\u8fde\u63a5\uff0c\u5e76\u53ef\u4ee5\u5411\u670d\u52a1\u5668\u53d1\u9001\u6d88\u606f\uff0c\u540c\u65f6\u63a5\u6536\u670d\u52a1\u5668\u53d1\u9001\u7684\u6d88\u606f\u3002WebSocket\u5ba2\u6237\u7aef\u901a\u5e38\u7528\u4e8e\u4e0e\u670d\u52a1\u5668\u8fdb\u884c\u53cc\u5411\u901a\u4fe1\uff0c\u4ee5\u83b7\u53d6\u5b9e\u65f6\u6570\u636e\u6216\u4e0e\u670d\u52a1\u5668\u8fdb\u884c\u4ea4\u4e92\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u6d88\u606f\u4ee3\u7406\uff08Message Broker\uff09<\/h3>\n\n\n\n<p>\u5728WebSocket\u901a\u4fe1\u4e2d\uff0c\u6d88\u606f\u4ee3\u7406\u662f\u6307WebSocket\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u4e4b\u95f4\u7684\u4e2d\u95f4\u4ef6\uff0c\u7528\u4e8e\u8f6c\u53d1WebSocket\u6d88\u606f\u3002\u5b83\u5145\u5f53\u4e86WebSocket\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u4e4b\u95f4\u7684\u6865\u6881\uff0c\u4f7f\u5b83\u4eec\u53ef\u4ee5\u76f8\u4e92\u901a\u4fe1\u3002\u6d88\u606f\u4ee3\u7406\u53ef\u4ee5\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u670d\u52a1\u5668\uff0c\u4e5f\u53ef\u4ee5\u662fWebSocket\u670d\u52a1\u5668\u672c\u8eab\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u56db\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Transaction<\/h2>\n\n\n\n<p>transaction\u662f\u4e00\u7cfb\u5217\u5fc5\u987b\u5168\u90e8\u6210\u529f\u5b8c\u6210\u7684\u64cd\u4f5c\uff0c\u8981\u4e48\u90fd\u6267\u884c\uff0c\u8981\u4e48\u90fd\u4e0d\u6267\u884c\uff08\u4e8b\u52a1\u56de\u6eda\uff09\uff0c\u4fdd\u8bc1 <code>\u6570\u636e\u5e93<\/code> \u4e2d\u7684\u6570\u636e\u59cb\u7ec8\u5904\u4e8e\u4e00\u81f4\u7684\u72b6\u6001\u3002\u4e8b\u52a1\u7684\u4e3b\u8981\u76ee\u6807\u662f\u786e\u4fdd\u6570\u636e\u7684\u4e00\u81f4\u6027\u3001\u5b8c\u6574\u6027\u548c\u53ef\u9760\u6027\uff0c\u5c24\u5176\u662f\u5728\u5e76\u53d1\u8bbf\u95ee\u548c\u5f02\u5e38\u60c5\u51b5\u4e0b\u3002<\/p>\n\n\n\n<p>\u5b9e\u73b0\u7684\u672c\u8d28\u662f\u4f9d\u8d56\u4e8e <code>\u65e5\u5fd7<\/code> \u5b9e\u73b0\u7684\uff0c\u5bf9\u4e8e\u5185\u5b58\u53d8\u91cf\u6bd4\u5982\u4e34\u65f6\u53d8\u91cfint x \uff0c Int y\uff0c\u4e0d\u4f1a\u89e6\u53d1\u4e8b\u52a1\u56de\u6eda<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8b\u7269\u5c5e\u6027<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u4e8b\u52a1\u5904\u7406\u7684ACID<\/h4>\n\n\n\n<p>ACID \u662f\u6570\u636e\u5e93\u4e8b\u52a1\u4e2d\u7684\u56db\u4e2a\u5173\u952e\u5c5e\u6027\uff0c\u786e\u4fdd\u6570\u636e\u5e93\u5728\u6267\u884c\u4e8b\u52a1\u65f6\u80fd\u591f\u6b63\u786e\u3001\u5b89\u5168\u5730\u5904\u7406\u6570\u636e\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u5b50\u6027<\/strong>\uff1a<strong>\u4e0d\u53ef\u5206\u5272<\/strong>\uff0c\u786e\u4fdd\u4e8b\u52a1\u4e2d\u7684\u6bcf\u4e00\u6b65\u90fd<strong>\u6267\u884c\u6210\u529f\u6216\u4e0d\u6267\u884c<\/strong>\uff0c\u907f\u514d\u90e8\u5206\u5931\u8d25\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u81f4\u6027<\/strong>\uff1a<strong>\u6b63\u786e\u4e00\u81f4<\/strong>\uff0c\u4fdd\u6301\u6570\u636e\u5e93\u7684\u5b8c\u6574\u6027\uff0c\u907f\u514d\u8fdd\u80cc\u7ea6\u675f\u6761\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u9694\u79bb\u6027<\/strong>\uff1a<strong>\u4e92\u4e0d\u5e72\u6270<\/strong>\uff0c\u907f\u514d\u4e8b\u52a1\u95f4\u7684\u5e72\u6270\uff0c\u786e\u4fdd\u5e76\u53d1\u6267\u884c\u7684\u4e8b\u52a1\u5f7c\u6b64\u72ec\u7acb\uff0c\u548c\u4e32\u884c\u5f97\u5230\u7684\u7ed3\u679c\u4e00\u81f4\u3002<\/li>\n\n\n\n<li><strong>\u6301\u4e45\u6027<\/strong>\uff1a<strong>\u6c38\u8fdc\u4fdd\u6301<\/strong>\uff0c\u4e00\u65e6\u4e8b\u52a1\u63d0\u4ea4\uff0c\u7ed3\u679c\u6c38\u4e45\u751f\u6548\uff0c\u907f\u514d\u6570\u636e\u4e22\u5931\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>A &#8211; Atomicity\uff08\u539f\u5b50\u6027\uff09<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u4e8b\u52a1\u4e2d\u7684\u6240\u6709\u64cd\u4f5c\u8981\u4e48\u5168\u90e8\u6210\u529f\uff0c\u8981\u4e48\u5168\u90e8\u56de\u6eda\u3002\u5982\u679c\u4e8b\u52a1\u4e2d\u7684\u4efb\u4f55\u4e00\u6b65\u64cd\u4f5c\u5931\u8d25\uff0c\u5219\u6574\u4e2a\u4e8b\u52a1\u5931\u8d25\uff0c\u6570\u636e\u5e93\u72b6\u6001\u4f1a\u56de\u5230\u4e8b\u52a1\u5f00\u59cb\u4e4b\u524d\u7684\u72b6\u6001\uff0c\u786e\u4fdd\u4e0d\u4f1a\u6709\u90e8\u5206\u64cd\u4f5c\u6210\u529f\u7684\u60c5\u51b5\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u91ca<\/strong>\uff1a\u4e8b\u52a1\u8981\u50cf\u4e00\u4e2a\u4e0d\u53ef\u5206\u5272\u7684\u539f\u5b50\u4e00\u6837\u6267\u884c\u3002\u5373\u4fbf\u4e8b\u52a1\u4e2d\u5305\u542b\u591a\u6b65\u64cd\u4f5c\uff0c\u8fd9\u4e9b\u64cd\u4f5c\u8981\u4e48\u5168\u90e8\u5b8c\u6210\uff0c\u8981\u4e48\u5b8c\u5168\u4e0d\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1a\u94f6\u884c\u8f6c\u8d26\u64cd\u4f5c\u4e2d\uff0c\u8f6c\u8d26\u7684\u4e24\u4e2a\u6b65\u9aa4\u662f\u4ece\u8d26\u6237A\u6263\u94b1\u3001\u5411\u8d26\u6237B\u52a0\u94b1\u3002\u4e8b\u52a1\u7684\u539f\u5b50\u6027\u786e\u4fdd\u5982\u679c\u5176\u4e2d\u4e00\u6b65\u5931\u8d25\uff0c\u6574\u4e2a\u8f6c\u8d26\u64cd\u4f5c\u5c31\u4f1a\u56de\u6eda\uff0c\u8d26\u6237A\u548c\u8d26\u6237B\u7684\u4f59\u989d\u4fdd\u6301\u4e0d\u53d8\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>C &#8211; Consistency\uff08\u4e00\u81f4\u6027\uff09<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u4e8b\u52a1\u6267\u884c\u540e\uff0c\u6570\u636e\u5e93\u5fc5\u987b\u4ece\u4e00\u4e2a\u4e00\u81f4\u7684\u72b6\u6001\u8f6c\u6362\u4e3a\u53e6\u4e00\u4e2a\u4e00\u81f4\u7684\u72b6\u6001\u3002\u5728\u4e00\u81f4\u6027\u7ea6\u675f\u6761\u4ef6\u4e0b\uff0c\u6570\u636e\u5e93\u4e2d\u7684\u6570\u636e\u4fdd\u6301\u5b8c\u6574\u6027\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u91ca<\/strong>\uff1a\u4e8b\u52a1\u5728\u5f00\u59cb\u548c\u7ed3\u675f\u65f6\uff0c\u6570\u636e\u5e93\u90fd\u5fc5\u987b\u7b26\u5408\u6240\u6709\u9884\u8bbe\u7684\u89c4\u5219\u3001\u7ea6\u675f\u548c\u6570\u636e\u5b8c\u6574\u6027\u6761\u4ef6\u3002\u4e8b\u52a1\u4e0d\u80fd\u7834\u574f\u6570\u636e\u5e93\u7684\u89c4\u5219\u6216\u5b8c\u6574\u6027\u7ea6\u675f\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1a\u5047\u8bbe\u6709\u4e00\u4e2a\u6570\u636e\u5e93\u89c4\u5219\uff0c\u89c4\u5b9a\u94f6\u884c\u8d26\u6237\u7684\u4f59\u989d\u4e0d\u80fd\u4e3a\u8d1f\u6570\u3002\u4e00\u65e6\u4e8b\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u6570\u636e\u5e93\u5fc5\u987b\u786e\u4fdd\u8fd9\u4e2a\u89c4\u5219\u4f9d\u65e7\u6210\u7acb\uff0c\u5982\u679c\u67d0\u4e2a\u64cd\u4f5c\u8bd5\u56fe\u8fdd\u53cd\u89c4\u5219\uff0c\u4e8b\u52a1\u5c06\u88ab\u56de\u6eda\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>I &#8211; Isolation\uff08\u9694\u79bb\u6027\uff09<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u591a\u4e2a\u5e76\u53d1\u6267\u884c\u7684\u4e8b\u52a1\u4e4b\u95f4\u5f7c\u6b64\u9694\u79bb\uff0c\u4e00\u4e2a\u4e8b\u52a1\u7684\u6267\u884c\u4e0d\u5e94\u5f71\u54cd\u5176\u4ed6\u5e76\u53d1\u4e8b\u52a1\u7684\u6267\u884c\u7ed3\u679c\u3002\u6bcf\u4e2a\u4e8b\u52a1\u5e94\u8be5\u597d\u50cf\u662f\u72ec\u7acb\u6267\u884c\u7684\uff0c\u5373\u4f7f\u5728\u591a\u4e8b\u52a1\u5e76\u53d1\u7684\u60c5\u51b5\u4e0b\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u91ca<\/strong>\uff1a\u5373\u4f7f\u6709\u591a\u4e2a\u4e8b\u52a1\u5e76\u53d1\u8fd0\u884c\uff0c\u7cfb\u7edf\u4e5f\u9700\u8981\u786e\u4fdd\u4e00\u4e2a\u4e8b\u52a1\u4e2d\u7684\u672a\u63d0\u4ea4\u6570\u636e\u4e0d\u4f1a\u88ab\u5176\u4ed6\u4e8b\u52a1\u770b\u5230\u6216\u5f71\u54cd\uff0c\u9632\u6b62\u201c\u810f\u8bfb\u201d\u3001&#8221;\u4e0d\u53ef\u91cd\u590d\u8bfb&#8221;\u3001&#8221;\u5e7b\u8bfb&#8221;\u7b49\u5e76\u53d1\u95ee\u9898\u3002\u9694\u79bb\u6027\u901a\u5e38\u901a\u8fc7\u4e8b\u52a1\u7684\u9694\u79bb\u7ea7\u522b\u6765\u5b9e\u73b0\uff0c\u5982<code>Read Committed<\/code>\u3001<code>Repeatable Read<\/code>\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1a\u5047\u8bbe\u4e8b\u52a1A\u6b63\u5728\u4fee\u6539\u4e00\u4e2a\u6570\u636e\uff0c\u4f46\u5c1a\u672a\u63d0\u4ea4\uff0c\u4e8b\u52a1B\u4e0d\u5e94\u8be5\u8bfb\u53d6\u5230\u4e8b\u52a1A\u672a\u63d0\u4ea4\u7684\u4e2d\u95f4\u72b6\u6001\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>D &#8211; Durability\uff08\u6301\u4e45\u6027\uff09<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u4e8b\u52a1\u4e00\u65e6\u63d0\u4ea4\uff0c\u6570\u636e\u7684\u4fee\u6539\u5c31\u4f1a\u6c38\u4e45\u4fdd\u5b58\uff0c\u5373\u4f7f\u7cfb\u7edf\u5d29\u6e83\u6216\u6545\u969c\uff0c\u5df2\u63d0\u4ea4\u7684\u4e8b\u52a1\u6570\u636e\u4e5f\u4e0d\u4f1a\u4e22\u5931\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u91ca<\/strong>\uff1a\u4e8b\u52a1\u63d0\u4ea4\u540e\uff0c\u7cfb\u7edf\u4f1a\u786e\u4fdd\u6240\u6709\u6570\u636e\u7684\u4fee\u6539\u6301\u4e45\u5316\u5b58\u50a8\uff0c\u5373\u4f7f\u53d1\u751f\u786c\u4ef6\u6216\u8f6f\u4ef6\u6545\u969c\uff0c\u7cfb\u7edf\u91cd\u542f\u540e\u6570\u636e\u4ecd\u7136\u53ef\u4ee5\u6062\u590d\u3002\u901a\u5e38\u901a\u8fc7\u5199\u5165\u65e5\u5fd7\u6216\u91c7\u7528\u6570\u636e\u5e93\u5907\u4efd\u673a\u5236\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50<\/strong>\uff1a\u5047\u8bbe\u7528\u6237\u5b8c\u6210\u4e86\u4e00\u6b21\u94f6\u884c\u8f6c\u8d26\u64cd\u4f5c\u5e76\u63d0\u4ea4\u4e86\u4e8b\u52a1\uff0c\u5373\u4f7f\u7cfb\u7edf\u5728\u8f6c\u8d26\u5b8c\u6210\u540e\u9a6c\u4e0a\u5d29\u6e83\uff0c\u8f6c\u8d26\u7684\u6570\u636e\u4e5f\u5e94\u8be5\u6c38\u4e45\u4fdd\u7559\uff0c\u5e76\u5728\u7cfb\u7edf\u6062\u590d\u540e\u5b58\u5728\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5e38\u89c1\u6807\u7b7e\u89e3\u91ca<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Required<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u9ed8\u8ba4\u7684\u4e8b\u52a1\u5c5e\u6027\u3002\u5982\u679c\u5f53\u524d\u6ca1\u6709\u4e8b\u52a1\uff0c\u5219\u65b0\u5efa\u4e00\u4e2a\u4e8b\u52a1\u3002\u5982\u679c\u8c03\u7528\u65f6\u5df2\u7ecf\u5b58\u5728\u4e00\u4e2a\u4e8b\u52a1\uff0c\u5f53\u524d\u65b9\u6cd5\u5c06\u52a0\u5165\u5230\u73b0\u6709\u7684\u4e8b\u52a1\u4e2d\u3002\u6ce8\u610f\uff01\u5728\u8fdb\u5165\u548c\u9000\u51fa\u65b9\u6cd5\u7684\u65f6\u5019\u90fd\u4f1a\u505a\u68c0\u67e5\uff01<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u9002\u7528\u4e8e\u7edd\u5927\u591a\u6570\u60c5\u51b5\uff0c\u786e\u4fdd\u6240\u6709\u76f8\u5173\u64cd\u4f5c\u8981\u4e48\u4e00\u8d77\u63d0\u4ea4\uff0c\u8981\u4e48\u4e00\u8d77\u56de\u6eda\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u52a0\u5165\u73b0\u6709\u4e8b\u52a1\u6216\u521b\u5efa\u4e00\u4e2a\u65b0\u4e8b\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u5177\u4f53\u4e8b\u4f8b\uff1a<\/strong>A\u4e2d\u6709\u65b9\u6cd5B\uff0c\u82e5A,B\u5747\u4e3aRequired\uff0c\u5219\u53ea\u4f1a\u521b\u5efa\u4e00\u4e2a\u4e8b\u7269<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">RequiresNew<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u65e0\u8bba\u8c03\u7528\u65f6\u662f\u5426\u5b58\u5728\u4e8b\u52a1\uff0c\u59cb\u7ec8\u65b0\u5efa\u4e00\u4e2a\u4e8b\u52a1\u3002\u5982\u679c\u5df2\u6709\u4e8b\u52a1\uff0c\u5f53\u524d\u4e8b\u52a1\u4f1a\u88ab\u6302\u8d77\uff0c\u5f85\u65b0\u4e8b\u52a1\u7ed3\u675f\u540e\u6062\u590d\u539f\u6765\u7684\u4e8b\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u7528\u4e8e\u9700\u8981\u65b9\u6cd5\u72ec\u7acb\u6267\u884c\u3001\u907f\u514d\u4e0e\u5916\u90e8\u4e8b\u52a1\u5e72\u6270\u7684\u60c5\u51b5\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u59cb\u7ec8\u521b\u5efa\u65b0\u4e8b\u52a1\uff0c\u539f\u6709\u4e8b\u52a1\u88ab\u6682\u65f6\u6302\u8d77\u3002<\/li>\n\n\n\n<li><strong>\u5177\u4f53\u4e8b\u4f8b<\/strong>\uff1aLOG\u64cd\u4f5c\u4e0d\u5e0c\u671b\u88ab\u4e2d\u65ad\uff0c\u53ef\u4ee5\u5355\u72ec\u5f00RequiresNew\u3002\u82e5A\u4e2d\u6709\u65b9\u6cd5B\uff0c\u82e5A\u4e3aRequired\uff0cB\u4e3aRequiresNew,\u90a3\u4e48B\u53d1\u751f\u9519\u8bef\u4e0d\u4f1a\u5f71\u54cdA<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Supports<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u65b9\u6cd5\u53ef\u4ee5\u652f\u6301\u4e8b\u52a1\uff0c\u4f46\u4e0d\u5f3a\u5236\u8981\u6c42\u3002\u5982\u679c\u5f53\u524d\u6709\u4e8b\u52a1\uff0c\u65b9\u6cd5\u5c06\u52a0\u5165\u73b0\u6709\u4e8b\u52a1\uff1b\u5982\u679c\u6ca1\u6709\u4e8b\u52a1\uff0c\u65b9\u6cd5\u4e5f\u53ef\u4ee5\u975e\u4e8b\u52a1\u6027\u5730\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u7528\u4e8e\u53ef\u9009\u62e9\u6027\u7684\u4e8b\u52a1\u64cd\u4f5c\uff0c\u4e8b\u52a1\u6027\u5e76\u4e0d\u662f\u5fc5\u9700\u7684\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u5982\u679c\u6709\u73b0\u6709\u4e8b\u52a1\u5219\u52a0\u5165\uff0c\u5426\u5219\u975e\u4e8b\u52a1\u6027\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u5177\u4f53\u4e8b\u4f8b<\/strong>\uff1a\u82e5A\u4e2d\u6709\u65b9\u6cd5B\uff0c\u4e14\u4e8c\u8005\u5747\u4e3aSupports\uff0c\u5219\u6ca1\u6709\u4e8b\u7269\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">NotSupported<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u5f53\u524d\u65b9\u6cd5\u4e0d\u652f\u6301\u4e8b\u52a1\u3002\u5982\u679c\u8c03\u7528\u65f6\u6709\u4e8b\u52a1\u5b58\u5728\uff0c\u4e8b\u52a1\u4f1a\u88ab\u6302\u8d77\uff0c\u65b9\u6cd5\u6267\u884c\u5b8c\u6210\u540e\u518d\u6062\u590d\u539f\u6765\u7684\u4e8b\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u5f53\u4e0d\u5e0c\u671b\u65b9\u6cd5\u5728\u4e8b\u52a1\u4e0a\u4e0b\u6587\u4e2d\u8fd0\u884c\u65f6\uff0c\u6bd4\u5982\u4e0d\u9700\u8981\u4e8b\u52a1\u4fdd\u8bc1\u7684\u4e00\u4e9b\u53ea\u8bfb\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u6302\u8d77\u73b0\u6709\u4e8b\u52a1\uff0c\u65e0\u4e8b\u52a1\u652f\u6301\u3002<\/li>\n\n\n\n<li><strong>\u5177\u4f53\u4e8b\u4f8b<\/strong>\uff1a\u82e5A\u4e2d\u6709\u65b9\u6cd5B\uff0cB\u4e3aNotSupported\uff0c\u90a3\u4e48B\u4f1a\u4e0d\u5728\u4e8b\u7269\u72b6\u6001\u6267\u884c<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Mandatory<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u65b9\u6cd5\u5fc5\u987b\u5728\u73b0\u6709\u4e8b\u52a1\u4e0a\u4e0b\u6587\u4e2d\u6267\u884c\u3002\u5982\u679c\u8c03\u7528\u65f6\u6ca1\u6709\u4e8b\u52a1\u5b58\u5728\uff0c\u4f1a\u629b\u51fa\u5f02\u5e38\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u5f3a\u5236\u8981\u6c42\u65b9\u6cd5\u5fc5\u987b\u5728\u4e8b\u52a1\u4e2d\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u5fc5\u987b\u6709\u73b0\u6709\u4e8b\u52a1\uff0c\u5982\u679c\u6ca1\u6709\u5c31\u4f1a\u5931\u8d25\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Never<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bf4\u660e<\/strong>\uff1a\u65b9\u6cd5\u4e0d\u5141\u8bb8\u5728\u4e8b\u52a1\u4e0a\u4e0b\u6587\u4e2d\u6267\u884c\u3002\u5982\u679c\u8c03\u7528\u65f6\u5b58\u5728\u4e8b\u52a1\uff0c\u5219\u629b\u51fa\u5f02\u5e38\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u9700\u8981\u786e\u4fdd\u65b9\u6cd5\u7edd\u5bf9\u4e0d\u5728\u4e8b\u52a1\u4e2d\u6267\u884c\u65f6\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u64ad\u884c\u4e3a<\/strong>\uff1a\u4e0d\u80fd\u6709\u4e8b\u52a1\uff0c\u5982\u679c\u6709\u4e8b\u52a1\u5219\u5931\u8d25\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u56de\u6eda\uff1a\u629b\u51fa RuntimeException \u6216\u8005 Error \u7684\u65f6\u5019\uff0cspring\u4f1a\u81ea\u52a8\u56de\u6eda<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8b\u52a1\u9694\u79bb\u7ea7\u522b<\/h3>\n\n\n\n<p>\u4e8b\u52a1\u9694\u79bb\u7ea7\u522b\u63a7\u5236\u7684\u662f<strong>\u540c\u4e00\u65f6\u95f4\u5185\u591a\u4e2a\u4e8b\u52a1\u5982\u4f55\u76f8\u4e92\u5f71\u54cd\u6570\u636e\u53ef\u89c1\u6027<\/strong>\u7684\u95ee\u9898\u3002\u5b83\u89c4\u5b9a\u4e86\u4e00\u4e2a\u4e8b\u52a1\u5185\u7684\u64cd\u4f5c\u5728\u8bbf\u95ee\u6570\u636e\u65f6\uff0c\u662f\u5426\u80fd\u770b\u5230\u5176\u4ed6\u4e8b\u52a1\u5bf9\u76f8\u540c\u6570\u636e\u7684\u66f4\u6539\uff0c\u4ee5\u53ca\u5f53\u524d\u4e8b\u52a1\u5bf9\u5176\u4ed6\u4e8b\u52a1\u662f\u5426\u53ef\u89c1\u3002\u4e0d\u540c\u7684\u9694\u79bb\u7ea7\u522b\u63d0\u4f9b\u4e86\u4e0d\u540c\u7a0b\u5ea6\u7684\u6570\u636e\u4e00\u81f4\u6027\u548c\u5e76\u53d1\u6027\u4fdd\u62a4\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u9694\u79bb\u6027\u51b2\u7a81\u603b\u7ed3<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u8bfb\u5199\u51b2\u7a81<\/strong>     <\/td><td><strong>\u810f\u8bfb<\/strong><\/td><td>\u4e8b\u52a1A\u8bfb\u53d6\u4e86\u4e8b\u52a1B\u4fee\u6539\u4f46\u672a\u63d0\u4ea4\u7684\u6570\u636e\uff08\u8bfb\u5230\u4e86\u4e8b\u7269\u5904\u7406\u7684\u4e2d\u95f4\u72b6\u6001\uff09\uff0c\u4e8b\u52a1B\u968f\u540e\u56de\u6eda\uff0c\u5bfc\u81f4A\u8bfb\u7684\u6570\u636e\u65e0\u6548\u3002<\/td><\/tr><tr><td><strong>\u8bfb\u5199\u51b2\u7a81<\/strong>      <\/td><td><strong>\u4e0d\u53ef\u91cd\u590d\u8bfb<\/strong>         <\/td><td>\u4e8b\u52a1A\u7b2c\u4e00\u6b21\u8bfb\u53d6\u6570\u636e\u540e\uff0c\u4e8b\u52a1B\u4fee\u6539\u5e76\u63d0\u4ea4\u8be5\u6570\u636e\uff0c\u4e8b\u52a1A\u518d\u6b21\u8bfb\u53d6\u65f6\u6570\u636e\u88ab\u4fee\u6539\u3002<\/td><\/tr><tr><td><strong>\u8bfb\u5199\u51b2\u7a81<\/strong><\/td><td><strong>\u5e7b\u8bfb<\/strong><\/td><td>\u4e8b\u52a1A\u6267\u884c\u8303\u56f4\u67e5\u8be2\u540e\uff0c\u4e8b\u52a1B\u63d2\u5165\/\u5220\u9664\u4e86\u6ee1\u8db3\u6761\u4ef6\u7684\u8bb0\u5f55\uff0c\u4e8b\u52a1A\u518d\u6b21\u67e5\u8be2\u65f6\u4e0d\u540c\u3002<\/td><\/tr><tr><td><strong>\u5199\u5199\u51b2\u7a81<\/strong>       <\/td><td><strong>\u810f\u5199<\/strong><\/td><td>\u4e8b\u52a1A\u548c\u4e8b\u52a1B\u540c\u65f6\u4fee\u6539\u540c\u4e00\u6761\u8bb0\u5f55\uff0c\u4e8b\u52a1B\u7684\u63d0\u4ea4\u8986\u76d6\u4e86\u4e8b\u52a1A\u7684\u4fee\u6539\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u4f7f\u7528\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u4efb\u52a1\u672c\u8eab\u662f\u5728\u6570\u636e\u5e93\u5b8c\u6210\uff0c\u56e0\u6b64\u6211\u4eec\u9700\u8981<strong>\u5728\u94fe\u63a5\u6570\u636e\u5e93\u7684\u65f6\u5019<\/strong>\uff0c<strong>\u544a\u8bc9\u6570\u636e\u5e93<\/strong>\u6211\u4eec\u9700\u8981\u4ec0\u4e48\u9694\u79bb\uff0c\u6570\u636e\u5e93\u53ef\u4ee5\u5e2e\u52a9\u5b8c\u6210\u52a0\u9501\u64cd\u4f5c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>@Transactional(isolation = Isolation.READ_UNCOMMITTED)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.READ_COMMITTED)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.REPEATABLE_READ)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.SERIALIZABLE)<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5e38\u89c1\u6807\u7b7e\u89e3\u91ca<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Read Uncommitted<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u6027<\/strong>\uff1a\u5141\u8bb8\u4e00\u4e2a\u4e8b\u52a1<strong>\u8bfb\u53d6\u53e6\u4e00\u4e2a\u672a\u63d0\u4ea4\u4e8b\u52a1\u7684\u4fee\u6539<\/strong>\uff0c\u53ef\u80fd\u53d1\u751f<strong>\u810f\u8bfb<\/strong>\uff08Dirty Read\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u5e76\u53d1\u6027\u80fd\u8f83\u9ad8\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u6700\u4f4e\u7684\u9694\u79bb\u7ea7\u522b\uff0c\u53ef\u80fd\u4f1a\u770b\u5230\u672a\u63d0\u4ea4\u7684\u6570\u636e\u53d8\u5316\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50\uff1a<\/strong>\u5047\u8bbe\u8f66\u7968\u9884\u8ba2\u4e86\uff0c\u6b64\u65f6\u9501\u4f4f\u7968\uff0c\u90a3\u4e48\u5982\u679c\u6ca1\u6709\u4e70\u6ca1\u9000\u51fa\uff0c\u5176\u4ed6\u4eba\u4e5f\u4e70\u4e0d\u4e86\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Read Committed<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u6027<\/strong>\uff1a<strong>\u53ea\u80fd\u8bfb\u53d6\u5df2\u7ecf\u63d0\u4ea4\u7684\u4e8b\u52a1\u4fee\u6539<\/strong>\uff0c\u907f\u514d\u4e86\u810f\u8bfb\uff0c\u4f46\u53ef\u80fd\u53d1\u751f<strong>\u4e0d\u53ef\u91cd\u590d\u8bfb<\/strong>\uff08Non-repeatable Read\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u5927\u591a\u6570\u6570\u636e\u5e93\u7684\u9ed8\u8ba4\u7ea7\u522b\uff0c\u4fdd\u8bc1\u6bcf\u6b21\u8bfb\u53d6\u7684\u6570\u636e\u90fd\u662f\u5df2\u63d0\u4ea4\u7684\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u540c\u4e00\u4e8b\u52a1\u4e2d\uff0c\u8fde\u7eed\u8bfb\u53d6\u540c\u4e00\u6761\u6570\u636e\u53ef\u80fd\u4f1a\u4e0d\u4e00\u81f4\u3002<\/li>\n\n\n\n<li><strong>\u4f8b\u5b50\uff1a<\/strong>\u540c\u4e00\u4e2a\u4e8b\u7269\u5185\u591a\u6b21\u5bf9\u4e00\u4e2a\u503c\u8bf7\u6c42\uff0c\u7b2c\u4e00\u6b21GET\u4e3aa\uff0c\u7b2c\u4e8c\u6b21GET\u5c31\u53ef\u80fd\u4e3ab\u4e86\uff0c\u56e0\u4e3a\u6bcf\u6b21\u90fd\u8bfb\u53d6\u5df2\u7ecf\u63d0\u4ea4\u7684\u4e8b\u7269\u4fee\u6539\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Repeatable Read<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u6027<\/strong>\uff1a<strong>\u4fdd\u8bc1\u540c\u4e00\u4e2a\u4e8b\u52a1\u4e2d\u591a\u6b21\u8bfb\u53d6\u7684\u6570\u636e\u662f\u4e00\u81f4\u7684<\/strong>\uff0c\u907f\u514d\u4e0d\u53ef\u91cd\u590d\u8bfb\uff0c\u4f46\u53ef\u80fd\u4f1a\u53d1\u751f<strong>\u5e7b\u8bfb<\/strong>\uff08Phantom Read\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u786e\u4fdd\u8bfb\u53d6\u7684\u8bb0\u5f55\u5728\u4e8b\u52a1\u671f\u95f4\u4e0d\u53d1\u751f\u53d8\u5316\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u4ecd\u53ef\u80fd\u6709\u5e7b\u8bfb\u95ee\u9898\uff08\u5373\u63d2\u5165\u65b0\u6570\u636e\u65f6\u7684\u5e76\u53d1\u95ee\u9898\uff09\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u91ca<\/strong>\uff1a\u4e0e\u4e0d\u53ef\u91cd\u590d\u8bfb\u7684\u533a\u522b\u5728\u4e8e\uff0c<strong>\u4e0d\u53ef\u91cd\u590d\u8bfb<\/strong>\u662f\u9488\u5bf9\u5df2\u5b58\u5728\u7684\u8bb0\u5f55\u7684\u4fee\u6539\uff0c\u800c<strong>\u5e7b\u8bfb<\/strong>\u5219\u662f\u56e0\u4e3a<strong>\u5e76\u53d1\u4e8b\u52a1\u63d2\u5165\u6216\u5220\u9664\u4e86\u65b0\u7684\u8bb0\u5f55<\/strong>\uff0c\u4ece\u800c\u5f71\u54cd\u4e86\u67e5\u8be2\u7ed3\u679c\u96c6\u7684\u6761\u76ee\u6570\u91cf\u6216\u5185\u5bb9\u3002\u5bf9\u4e00\u4e2a\u540c\u4e00\u4e2aList\u5728\u540c\u4e00\u4e8b\u7269\u8bfb\u53d6\uff0c\u7b2c\u4e00\u6b21\u8bfb\u523010\u4e2a\uff0c\u7b2c\u4e8c\u6b21\u8bfb\u523011\u4e2a\uff0c\u56e0\u4e3a\u4e2d\u95f4\u63d2\u5165\u4e86\u4e00\u4e2a\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Serializable<\/strong>\uff1a<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u6027<\/strong>\uff1a<strong>\u6700\u9ad8\u7ea7\u522b\u7684\u9694\u79bb\uff0c\u4e8b\u52a1\u4e4b\u95f4\u5b8c\u5168\u9694\u79bb<\/strong>\uff0c\u4eff\u4f5b\u4e8b\u52a1\u662f\u4e00\u4e2a\u63a5\u4e00\u4e2a\u987a\u5e8f\u6267\u884c\u7684\uff0c\u89e3\u51b3\u4e86\u5e7b\u8bfb\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\u63d0\u4f9b\u4e86\u6700\u9ad8\u7684\u4e8b\u52a1\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\u5e76\u53d1\u6027\u5dee\uff0c\u5bb9\u6613\u4ea7\u751f\u6027\u80fd\u74f6\u9888\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Spring\u4e2d\u5bf9\u5e94\u4f7f\u7528<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>@Transactional(isolation = Isolation.READ_UNCOMMITTED)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.READ_COMMITTED)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.REPEATABLE_READ)<\/code><\/li>\n\n\n\n<li><code>@Transactional(isolation = Isolation.SERIALIZABLE)<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5206\u5e03\u5f0f\u7cfb\u7edf\u5b9e\u73b0<\/h4>\n\n\n\n<p>\u53ef\u80fd\u6709\u591a\u4e2a\u6570\u636e\u5e93\uff0c\u6b64\u65f6Transaction\uff08Tomecat \/ Spring\uff09\u4f1a\u81ea\u52a8\u534f\u8c03\u591a\u4e2a\u6570\u636e\u6e90<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-6.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"874\" height=\"375\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-6.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-173\" style=\"width:840px;height:auto\"  sizes=\"auto, (max-width: 874px) 100vw, 874px\" \/><\/div><\/figure>\n\n\n\n<p>\u4e24\u9636\u6bb5\u63d0\u4ea4<\/p>\n\n\n\n<p>\u7b2c\u4e00\u9636\u6bb5\uff1a\u5e94\u7528\u7a0b\u5e8f\uff08User\uff09\u5411\u534f\u8c03\u8005\uff08Transaction Manager\uff09<strong>\u53d1\u9001\u4e00\u4e2a\u4e8b\u52a1\u8bf7\u6c42<\/strong>\uff0c\u901a\u77e5\u534f\u8c03\u8005\u5f00\u59cb\u4e8b\u52a1\u3002\u534f\u8c03\u8005\u5411\u6240\u6709\u53c2\u4e0e\u8005\uff08Resource Manager\uff09\uff08\u53ef\u80fd\u662f\u591a\u4e2a\u6570\u636e\u5e93\u3001\u670d\u52a1\u7b49\uff09\u53d1\u9001\u4e00\u4e2a\u201c\u51c6\u5907\u63d0\u4ea4\u4e8b\u52a1\u201d\u7684\u8bf7\u6c42\uff0c<strong>\u8be2\u95ee\u5b83\u4eec\u662f\u5426\u80fd\u591f\u6210\u529f\u6267\u884c<\/strong>\u4e8b\u52a1\u5e76\u63d0\u4ea4\u7ed3\u679c\u3002<strong>\u53c2\u4e0e\u8005\uff08Resource Manager\uff09\u6267\u884c\u4e8b\u52a1\u5e76\u56de\u5e94<\/strong>\uff08\u53c2\u4e0e\u8005\u6267\u884c\u4e8b\u52a1\uff0c\u4f46<strong>\u4e0d\u63d0\u4ea4<\/strong>\uff0c\u800c\u662f\u5c06\u4e8b\u52a1\u64cd\u4f5c\u6682\u65f6\u4fdd\u5b58\u8d77\u6765\uff08\u4f8b\u5982\u9501\u4f4f\u76f8\u5173\u8d44\u6e90\uff09\uff09\u3002<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u9636\u6bb5\uff1a\u63d0\u4ea4\u524d\uff0c\u4e00\u7968\u5426\u51b3\u5236\uff0c\u5fc5\u987b\u8981\u90fd\u53ef\u4ee5\u63d0\u4ea4\u624d\u53ef\u4ee5\uff0c\u5982\u679c\u4e00\u4e2a\u8bf4\u56de\u6eda\uff0c\u5219\u90fd\u9700\u8981\u56de\u6eda\uff1b\u63a5\u7740\uff0c\u534f\u8c03\u8005\uff08Transaction Manager\uff09<strong>\u53d1\u9001\u63d0\u4ea4<\/strong>\u6216\u56de\u6eda\u8bf7\u6c42\uff0c\u53c2\u4e0e\u8005<strong>\u6267\u884c\u64cd\u4f5c<\/strong>\uff0c\u6700\u540e\u53c2\u4e0e\u8005<strong>\u786e\u8ba4\u7ed3\u679c<\/strong>\u3002<\/p>\n\n\n\n<p>\u95ee\u9898\uff1a\u53ef\u80fd\u5b58\u5728<strong>\u6570\u636e\u4e0d\u4e00\u81f4\u95ee\u9898<\/strong>\uff0c\u5982\u679c\u5728\u63d0\u4ea4\u9636\u6bb5\uff0c\u6709\u53c2\u4e0e\u8005\u63d0\u4ea4\u4e86\u4e8b\u52a1\uff0c\u4f46\u534f\u8c03\u8005\u5d29\u6e83\u6216\u67d0\u4e9b<strong>\u53c2\u4e0e\u8005\u6ca1\u6709\u6536\u5230\u63d0\u4ea4\u6307\u4ee4<\/strong>\uff0c\u53ef\u80fd\u5bfc\u81f4\u90e8\u5206\u63d0\u4ea4\u6210\u529f\uff0c\u90e8\u5206\u6ca1\u6709\u63d0\u4ea4\uff0c\u51fa\u73b0\u6570\u636e\u4e0d\u4e00\u81f4\u7684\u60c5\u51b5\uff08\u901a\u5e38\u901a\u8fc7\u4e09\u9636\u6bb5\u63d0\u4ea4\u534f\u8bae\u7b49\u65b9\u5f0f\u6765\u89e3\u51b3\uff09\u3002<\/p>\n\n\n\n<p><strong>\u79bb\u7ebf\u9501<\/strong>\uff1a\u6240\u8c13\u201c\u79bb\u7ebf\u201d\u6307\u7684\u662fflush\u4e4b\u524d\uff0c\u6570\u636e\u8bfb\u51fa\u6765\u4e4b\u540e\uff0c\u653e\u5728\u4e86tomcat\u7684\u5185\u5b58\u91cc\uff1b\u8fd9\u4e2a\u65f6\u5019\u662f\u79bb\u7ebf\u7684\uff1b\u6240\u8c13\u201c\u5728\u7ebf\u201d\uff0c\u5c31\u662f\u8fd9\u4e2a\u5bf9\u8c61\u5b9e\u65f6\u53cd\u6620\u4e86\u6570\u636e\u5e93\u7684\u6570\u636e\uff1b\u4f46\u663e\u7136OR\u6620\u5c04\/JDBC\u90fd\u662f\u79bb\u7ebf\u7684\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u60b2\u89c2\u79bb\u7ebf\u9501<\/h5>\n\n\n\n<p><strong>\u5b9a\u4e49<\/strong>\uff1a\u60b2\u89c2\u9501\u5047\u5b9a\u5728\u5e76\u53d1\u64cd\u4f5c\u65f6\uff0c\u4f1a\u7ecf\u5e38\u53d1\u751f\u6570\u636e\u51b2\u7a81\uff0c\u56e0\u6b64\u6bcf\u6b21\u8bfb\u53d6\u6216\u4fee\u6539\u6570\u636e\u65f6\uff0c\u90fd<strong>\u76f4\u63a5\u9501\u5b9a\u8d44\u6e90<\/strong>\uff0c\u4f7f\u5f97\u5176\u4ed6\u4e8b\u52a1\u4e0d\u80fd\u540c\u65f6\u5bf9\u5176\u8fdb\u884c\u64cd\u4f5c\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5b83\u201c\u60b2\u89c2\u201d\u5730\u8ba4\u4e3a\u4f1a\u53d1\u751f\u51b2\u7a81\uff0c\u6240\u4ee5\u5728\u8bbf\u95ee\u8d44\u6e90\u65f6\u4f1a\u5148\u83b7\u53d6\u9501\uff0c\u786e\u4fdd\u5f53\u524d\u4e8b\u52a1\u72ec\u5360\u8d44\u6e90\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f53\u4e00\u4e2a\u4e8b\u52a1\u8981\u64cd\u4f5c\u67d0\u6761\u8bb0\u5f55\u65f6\uff0c\u5b83\u4f1a\u5bf9\u8be5\u8bb0\u5f55\u52a0\u9501\u3002\u5176\u4ed6\u4e8b\u52a1\u60f3\u8981\u64cd\u4f5c\u8be5\u8bb0\u5f55\u65f6\uff0c\u5fc5\u987b\u7b49\u5f85\u8be5\u9501\u91ca\u653e\u3002<\/li>\n\n\n\n<li>\u5178\u578b\u573a\u666f\u4e0b\uff0c\u60b2\u89c2\u9501\u901a\u5e38\u901a\u8fc7\u6570\u636e\u5e93\u7684\u9501\u673a\u5236\uff08\u4f8b\u5982\u8868\u9501\u6216\u884c\u9501\uff09\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li>\u5728\u51b2\u7a81\u8f83\u591a\u3001\u5e76\u53d1\u4fee\u6539\u8f83\u591a\u7684\u573a\u666f\u4e0b\uff0c\u5982\u91d1\u878d\u4ea4\u6613\u3001\u5e93\u5b58\u7ba1\u7406\u7b49\uff0c\u53ef\u4ee5\u786e\u4fdd\u6570\u636e\u7684\u5b89\u5168\u548c\u4e00\u81f4\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u4e50\u89c2\u79bb\u7ebf\u9501<\/h5>\n\n\n\n<p><strong>\u5b9a\u4e49<\/strong>\uff1a \u4e50\u89c2\u9501\u5047\u8bbe\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u591a\u4e2a\u4e8b\u52a1\u5e76\u53d1\u64cd\u4f5c\u65f6<strong>\u4e0d\u4f1a\u53d1\u751f\u51b2\u7a81<\/strong>\uff0c\u56e0\u6b64\u5728\u6267\u884c\u64cd\u4f5c\u65f6\u5e76\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u52a0\u9501\u3002\u5f53\u4e8b\u52a1\u5728\u63d0\u4ea4\u4fee\u6539\u65f6\uff0c\u7cfb\u7edf\u4f1a\u901a\u8fc7\u4e00\u4e9b\u65b9\u5f0f\uff08\u5982\u7248\u672c\u53f7\u6216\u65f6\u95f4\u6233\uff09\u6765\u68c0\u67e5\u5728\u6b64\u671f\u95f4\u662f\u5426\u6709\u5176\u4ed6\u4e8b\u52a1\u5bf9\u6570\u636e\u8fdb\u884c\u4e86\u4fee\u6539\u3002\u5982\u679c\u53d1\u73b0\u51b2\u7a81\uff0c\u5219\u62d2\u7edd\u63d0\u4ea4\uff0c\u4e8b\u52a1\u5fc5\u987b\u91cd\u65b0\u5c1d\u8bd5\u64cd\u4f5c\u3002\u8fd9\u79cd\u65b9\u5f0f\u201c\u4e50\u89c2\u201d\u5730\u8ba4\u4e3a\u51b2\u7a81\u4e0d\u4f1a\u7ecf\u5e38\u53d1\u751f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e50\u89c2\u9501\u4e0d\u4f9d\u8d56\u6570\u636e\u5e93\u7684\u7269\u7406\u9501\u673a\u5236\uff0c\u800c\u662f\u901a\u8fc7<strong>\u7248\u672c\u53f7\uff08\u6216\u65f6\u95f4\u6233\uff09\u673a\u5236<\/strong>\u6765\u63a7\u5236\u3002<\/li>\n\n\n\n<li>\u6bcf\u6b21\u8bfb\u53d6\u8bb0\u5f55\u65f6\uff0c\u8bfb\u53d6\u8be5\u8bb0\u5f55\u7684\u7248\u672c\u53f7\u3002<\/li>\n\n\n\n<li>\u5f53\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u65f6\uff0c\u4f1a\u68c0\u67e5\u8bb0\u5f55\u7684\u5f53\u524d\u7248\u672c\u53f7\u662f\u5426\u4e0e\u8bfb\u53d6\u65f6\u4e00\u81f4\u3002\u5982\u679c\u4e00\u81f4\uff0c\u5219\u66f4\u65b0\u6210\u529f\uff1b\u5982\u679c\u7248\u672c\u53f7\u4e0d\u4e00\u81f4\uff0c\u8bf4\u660e\u5728\u6b64\u671f\u95f4\u5176\u4ed6\u4e8b\u52a1\u4fee\u6539\u4e86\u8be5\u8bb0\u5f55\uff0c\u5f53\u524d\u4e8b\u52a1\u5931\u8d25\uff0c\u9700\u8981\u91cd\u65b0\u5c1d\u8bd5\u3002<\/li>\n\n\n\n<li>\u9002\u5408\u4e8e<strong>\u8bfb\u591a\u5199\u5c11<\/strong>\u7684\u5e94\u7528\u573a\u666f\uff0c\u5982\u62a5\u8868\u67e5\u8be2\u3001\u7528\u6237\u67e5\u770b\u6570\u636e\u7b49\u64cd\u4f5c\u3002\u56e0\u4e3a\u5728\u8fd9\u79cd\u573a\u666f\u4e0b\uff0c\u6570\u636e\u51b2\u7a81\u7684\u53ef\u80fd\u6027\u8f83\u5c0f\uff0c\u4e50\u89c2\u9501\u53ef\u4ee5\u6709\u6548\u63d0\u5347\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u4e24\u79cd\u9501\u7b80\u5355\u5bf9\u6bd4\u603b\u7ed3<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u6027<\/th><th>\u7c97\u7c92\u5ea6\u9501<\/th><th>\u7ec6\u7c92\u5ea6\u9501<\/th><\/tr><\/thead><tbody><tr><td><strong>\u9501\u5b9a\u8303\u56f4<\/strong><\/td><td>\u9501\u5b9a\u8f83\u5927\u8303\u56f4\u7684\u8d44\u6e90\uff08\u5982\u6574\u5f20\u8868\u3001\u6574\u4e2a\u96c6\u5408\uff09<\/td><td>\u9501\u5b9a\u8f83\u5c0f\u7684\u8d44\u6e90\u5355\u5143\uff08\u5982\u67d0\u884c\u3001\u67d0\u4e2a\u5bf9\u8c61\uff09<\/td><\/tr><tr><td><strong>\u5e76\u53d1\u6027\u80fd<\/strong><\/td><td>\u8f83\u5dee\uff0c\u5bb9\u6613\u5bfc\u81f4\u9501\u7ade\u4e89<\/td><td>\u5e76\u53d1\u6027\u8f83\u597d\uff0c\u8d44\u6e90\u51b2\u7a81\u8f83\u5c11<\/td><\/tr><tr><td><strong>\u590d\u6742\u5ea6<\/strong><\/td><td>\u7b80\u5355\uff0c\u9501\u7ba1\u7406\u8f83\u5c11\uff0c\u907f\u514d\u8fc7\u591a\u7684\u9501\u8bf7\u6c42<\/td><td>\u590d\u6742\uff0c\u9700\u8981\u7ba1\u7406\u66f4\u591a\u7684\u9501<\/td><\/tr><tr><td><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td>\u5e76\u53d1\u8f83\u4f4e\u3001\u64cd\u4f5c\u8303\u56f4\u8f83\u5927\u3001\u6279\u91cf\u64cd\u4f5c<\/td><td>\u5e76\u53d1\u8f83\u9ad8\u3001\u8d44\u6e90\u7ec6\u5206\u3001\u9700\u8981\u7cbe\u786e\u63a7\u5236\u6bcf\u4e2a\u64cd\u4f5c\u7684\u9501\u5b9a<\/td><\/tr><tr><td><strong>\u9501\u5f00\u9500<\/strong><\/td><td>\u8f83\u5c0f\uff0c\u9501\u7ba1\u7406\u5f00\u9500\u8f83\u4f4e<\/td><td>\u8f83\u5927\uff0c\u9501\u7684\u7ba1\u7406\u548c\u7ef4\u62a4\u5f00\u9500\u66f4\u9ad8<\/td><\/tr><tr><td><strong>\u6b7b\u9501\u98ce\u9669<\/strong><\/td><td>\u6b7b\u9501\u98ce\u9669\u8f83\u5c0f<\/td><td>\u6b7b\u9501\u98ce\u9669\u8f83\u5927<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">\u7c97\u7c92\u5ea6\u9501\uff08Coarse-Grained Locking\uff09<\/h5>\n\n\n\n<p>\u6307\u7684\u662f\u9501\u5b9a<strong>\u8f83\u5927\u8303\u56f4<\/strong>\u7684\u8d44\u6e90\u6216\u6570\u636e\u5355\u5143\uff0c\u4ee5\u63a7\u5236\u5e76\u53d1\u8bbf\u95ee\u3002\u6bd4\u5982\u8bf4\u6211\u4e00\u5f20\u8868\u8fd8\u63a7\u5236\u5176\u5b83\u8868\uff08\u5916\u952e\u5173\u8054\uff09\uff0c\u9700\u8981\u5bf9\u6574\u4e2a\u8868\u8fdb\u884c\u63a7\u5236\u3002\u5b9e\u73b0\u539f\u7406\uff1a\u4e24\u7ec4\u6570\u636e\u901a\u8fc7\u5f15\u7528\u5171\u4eab\u540c\u4e00\u4e2a\u7248\u672c\u53f7\u7801\uff0c\u901a\u8fc7\u5f15\u7528\u7684\u65b9\u6cd5\uff0c\u4e24\u4e2a\u6570\u636e\u5f15\u7528\u7684 \u662f\u540c\u4e00\u4e2a\u7248\u672c\u53f7\u7801\uff08\u6240\u8c13\u7684\u7248\u672c\u53f7\u4e0d\u662f\u4e00\u4e2a\u6570\u5b57\uff0c\u800c\u662f\u4e00\u4e2a\u5bf9\u8c61\uff0c\u8fd9\u4e2a\u5bf9\u8c61\u91cc\u9762\u6709\u4e00\u4e2a\u6570\u5b57\u5c5e\u6027\uff0c \u8fd9\u4e2a\u6570\u5b57\u5c31\u662f\u7248\u672c\u53f7\u7801\uff09\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e94\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u8c03\u5ea6 <\/h2>\n\n\n\n<p>\u4f5c\u7528\uff1a\u8c03\u5ea6\u4e3a\u4e8b\u7269\u7684<strong>\u5e76\u53d1\u5904\u7406<\/strong>\u8fc7\u7a0b\u4e2d\uff0c\u51b3\u5b9a\u4e8b\u7269\u4e2d\u6bcf\u4e00\u4e2a\u64cd\u4f5c\u7684\u6267\u884c\u987a\u5e8f\uff0c\u4ee5\u6b64\u6765\u63d0\u9ad8\u5e76\u884c\u6548\u7387\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-9-1024x589.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-9-1024x589.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-188\" style=\"width:840px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u4e32\u884c\u8c03\u5ea6<\/h4>\n\n\n\n<p>\u5b9a\u4e49\uff1a\u4e8b\u7269\u4e32\u884c\u6267\u884c<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u53ef\u4e32\u884c\u5316\u8c03\u5ea6<\/h4>\n\n\n\n<p>\u7ed9\u5b9a\u4e00\u4e2a\u5e76\u53d1\u8c03\u5ea6S\uff0c\u5b58\u5728\u4e00\u4e2a\u4e32\u884c\u8c03\u5ea6S\u2019\uff0c\u5728\u4efb\u4f55\u6570\u636e\u5e93\u72b6\u6001\u4e0b\uff0c\u6309\u7167\u8c03\u5ea6S\u548c\u8c03\u5ea6S&#8217;\u6267\u884c\u540e\u6240\u4ea7\u751f\u7684\u7ed3\u679c\u90fd\u662f\u76f8\u540c\u7684\u6b64\u65f6\u8c03\u5ea6S\u88ab\u79f0\u4e4b\u4e3a <code>\u53ef\u4e32\u884c\u5316\u8c03\u5ea6<\/code> (serializable schedule)\u3002<\/p>\n\n\n\n<p>\u53ef\u4e32\u884c\u5316\u8c03\u5ea6\u7684\u6570\u91cf\u5341\u5206\u5de8\u5927\uff0c\u4e14\u96be\u4ee5\u6821\u9a8c\uff0c\u6570\u636e\u5e93\u4e2d\u4e00\u822c\u901a\u8fc7\u627e\u5230\u53ef\u4e32\u884c\u5316\u8c03\u5ea6\u7684\u5b50\u96c6(\u5145\u5206\u6761\u4ef6)\uff0c\u5373\u627e\u5230\u80fd\u591f\u63d0\u524d\u786e\u8ba4\u662f\u53ef\u4e32\u884c\u8c03\u5ea6\u7684\u5e76\u53d1\u8c03\u5ea6\uff08\u90e8\u5206\u89e3\uff09\uff0c\u8fdb\u800c\u63d0\u5347\u8c03\u5ea6\u6548\u7387\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7b49\u4ef7\u64cd\u4f5c<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ea4\u6362\u8fde\u7eed\u4e24\u4e2a<strong>\u76f8\u540c\u6570\u636e\u8bfb\u53d6<\/strong>\u64cd\u4f5c<\/li>\n\n\n\n<li>\u4ea4\u6362\u8fde\u7eed\u4e24\u4e2a<strong>\u4e0d\u540c\u6570\u636e\u8bfb\u5199<\/strong>\u64cd\u4f5c<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u975e\u7b49\u4ef7\u64cd\u4f5c<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ea4\u6362\u8fde\u7eed\u4e24\u4e2a<strong>\u76f8\u540c\u6570\u636e\u7684\u8bfb\u5199\uff0c\u5199\u5199<\/strong>\u64cd\u4f5c<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u51b2\u7a81\u53ef\u4e32\u884c\u5316\u8c03\u5ea6\u7684\u9a8c\u8bc1<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-10-1024x434.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"434\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-10-1024x434.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-199\" style=\"width:773px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-11-1024x615.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-11-1024x615.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-202\" style=\"width:628px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u5e93\u539f\u5b50\u6027\u548c\u6301\u4e45\u6027\u5b9e\u73b0<\/h2>\n\n\n\n<p>\u6545\u969c\u7cfb\u7edf\u91cd\u542f\u540e\uff0c<strong>\u5185\u5b58\u6570\u636e\u4e22\u5931\uff0c\u78c1\u76d8\u6570\u636e\u4e0d\u4e22\u5931<\/strong><\/p>\n\n\n\n<p>\u539f\u5b50\u6027\uff08\u4e8b\u7269\u8fd0\u884c\u4e2d\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e8b\u7269<strong>\u8fd0\u884c\u671f\u95f4\u4e0d\u5237\u76d8<\/strong>\uff0c\u6545\u969c\u7cfb\u7edf\u91cd\u542f\u540e\u81ea\u52a8\u4fdd\u8bc1\u539f\u5b50\u6027\n<ul class=\"wp-block-list\">\n<li>\u56e0\u4e3a\u6574\u4e2a\u4e8b\u7269\u8fd8\u6ca1\u6709\u8fdb\u5165\u786c\u76d8\uff0c\u5c31\u53ef\u4ee5\u5f53\u6ca1\u6709\u5904\u7406\u8fc7\u8fd9\u4e2a\u4e8b\u7269\uff0c\u7cfb\u7edf\u91cd\u542f\u540e\u91cd\u65b0\u6267\u884c\u4efb\u52a1\u5219\u5bb9\u6613\u4fdd\u6301\u5176\u539f\u5b50\u6027<\/li>\n\n\n\n<li>\u5360\u7528\u5185\u5b58\u5bb9\u6613\u5f88\u5927<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u4e8b\u7269<strong>\u8fd0\u884c\u671f\u95f4\u5237\u76d8<\/strong>\uff0c\u6545\u969c\u7cfb\u7edf\u91cd\u542f\u9700\u8981\u56de\u6eda\u4e8b\u52a1\n<ul class=\"wp-block-list\">\n<li>\u9762\u5bf9\u91cd\u542f\u6bd4\u8f83\u9ebb\u70e6\uff0c\u8003\u8651\u56de\u6eda\uff08undo\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u6301\u4e45\u6027\uff08\u4e8b\u7269\u5df2\u7ecf\u5b8c\u6210\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e8b\u7269<strong>\u5b8c\u6210\u65f6\u5237\u76d8<\/strong>\uff0c\u6545\u969c\u7cfb\u7edf\u91cd\u542f\u540e\u81ea\u52a8\u4fdd\u8bc1\u6301\u4e45\u6027<\/li>\n\n\n\n<li>\u4e8b\u7269<strong>\u5b8c\u6210\u65f6\u4e0d\u5237\u76d8<\/strong>\uff0c\u6545\u969c\u7cfb\u7edf\u91cd\u542f\u540e\u9700\u8981\u91cd\u505a\u8be5\u4e8b\u7269(redo)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-12-1024x579.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-12-1024x579.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-211\" style=\"width:649px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u6570\u636e\u5e93\u6062\u590d\u57fa\u672c\u539f\u7406<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65e0\u6545\u969c\u4e8b\u52a1\u56de\u6eda(\u4f8b\u5982\u8d26\u6237\u5c0f\u4e8e0)\uff1a\u5f71\u54cd\u539f\u5b50\u6027\uff0c\u64a4\u9500\u8be5\u4e8b\u52a1\u5df2\u505a\u64cd\u4f5c<\/li>\n\n\n\n<li>\u6545\u969c\u5931\u8bef\u56de\u6eda(\u4f8b\u5982\u6b7b\u9501\u6740\u6b7b\u4e8b\u52a1)\uff1a\u5f71\u54cd\u539f\u5b50\u6027\uff0c\u64a4\u9500\u8be5\u4e8b\u52a1\u5df2\u505a\u64cd\u4f5c<\/li>\n\n\n\n<li>\u7cfb\u7edf\u6545\u969c(\u4f8b\u5982\u91cd\u542f):\u5185\u5b58\u6570\u636e\u4e22\u5931\uff0c\u5f71\u54cd\u539f\u5b50\u6027\u548c\u6301\u4e45\u6027\n<ul class=\"wp-block-list\">\n<li>\u539f\u5b50\u6027\uff1a\u64a4\u9500\u672a\u7ed3\u675f(\u4e0d\u5e26Commit\u3001Abort\u6807\u8bb0)\u7684\u4e8b\u52a1<\/li>\n\n\n\n<li>\u6301\u4e45\u6027\uff1a\u91cd\u505a\u5df2\u7ecf\u7ed3\u675f(\u5e26Commit\u6216Abort\u6807\u8bb0)\u7684\u4e8b\u52a1<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u7cfb\u7edf\u5d29\u6e83\u4e0d\u80fd\u91cd\u542f\uff1a\u4e0d\u80fd\u63d0\u4f9b\u670d\u52a1\uff0c\u5f71\u54cd\u6301\u4e45\u6027\n<ul class=\"wp-block-list\">\n<li><strong>\u4e00\u4e3b\u591a\u5907<\/strong>\uff1a\u4e3b\u5907\u4e4b\u95f4\u901a\u8fc7\u65e5\u5fd7\u4fdd\u6301\u4e00\u81f4\u6027\uff0c\u53d1\u751f\u6545\u969c\u540e\u5207\u6362\u5230\u5176\u4ed6\u7cfb\u7edf<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u78c1\u76d8\u6545\u969c:\u78c1\u76d8\u6570\u636e\u4e22\u5931\uff0c\u5f71\u54cd\u6301\u4e45\u6027\n<ul class=\"wp-block-list\">\n<li>\u78c1\u76d8<strong>\u6570\u636e\u591a\u526f\u672c<\/strong>;\u6570\u636e\u5907\u4efd\u673a\u5236:\u521b\u5efa\u6570\u636e\u5907\u4efd\u3001\u65e5\u5fd7\u5907\u4efd<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u81ea\u7136\u707e\u5bb3:\u7cfb\u7edf\u5b95\u673a\u4e0d\u80fd\u91cd\u542f\uff0c\u5f71\u54cd\u6301\u4e45\u6027\n<ul class=\"wp-block-list\">\n<li><strong>\u5f02\u5730\u591a\u673a\u5bb9\u707e<\/strong>\uff1a\u591a\u673a\u5b9e\u65f6\u4f20\u8f93\u65e5\u5fd7\u4fdd\u8bc1\u4e00\u81f4\u6027\uff0c\u53d1\u751f\u6545\u969c\u540e\u5207\u6362\u5230\u5176\u4ed6\u7cfb\u7edf<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u9ad8\u53ef\u7528\u6027\u6307\u6807<\/p>\n\n\n\n<p>\u901a\u7528\u9ad8\u53ef\u7528\u6307\u6807:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5e73\u5747\u6545\u969c\u95f4\u9694\u65f6\u95f4 MTBF(Mean Time between Failures):\u7cfb\u7edf\u5728\u4e24\u76f8\u90bb\u6545\u969c\u95f4\u9694\u671f\u5185\u6b63\u786e\u5de5\u4f5c\u7684\u5e73\u5747\u65f6\u95f4<\/li>\n\n\n\n<li>\u5e73\u5747\u6062\u590d\u65f6\u95f4 MTTR(Mean Time to Repair):\u7cfb\u7edf\u5e73\u5747\u4ece\u6545\u969c\u4e2d\u6062\u590d\u9700\u8981\u7684\u65f6\u95f4<\/li>\n\n\n\n<li>\u5e73\u5747\u635f\u574f\u65f6\u95f4 MTTF(Mean Time to Failure):\u7cfb\u7edf\u51fa\u73b0\u635f\u574f\u7684\u5e73\u5747\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u6570\u636e\u5e93\u5bb9\u707e\u6307\u6807:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6062\u590d\u70b9\u76ee\u6807 RPO(Recovery Point Objective):\u4e1a\u52a1\u7cfb\u7edf\u5728\u7cfb\u7edf\u6545\u969c\u540e\u6240\u80fd\u5bb9\u5fcd\u7684\u6570\u636e\u4e22\u5931\u91cf\u3002<\/li>\n\n\n\n<li>\u6062\u590d\u65f6\u95f4\u76ee\u6807 RTO(Recovery Time Objective):\u4e1a\u52a1\u7cfb\u7edf\u6240\u80fd\u5bb9\u5fcd\u7684\u4e1a\u52a1\u505c\u6b62\u670d\u52a1\u7684\u6700\u957f\u65f6\u95f4\u3002<\/li>\n\n\n\n<li>\u4e00\u822c\u7528n\u4e2a9\u6765\u8868\u793a\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\u56db\u4e2a\u4e5d99.99%\u8868\u793a\u4e00\u5e7499.99%\u65f6\u95f4\u53ef\u7528\uff0c\u5373\u4e0d\u53ef\u7528\u65f6\u95f4\u4e3a365*24*60*0.01%=52.56\u5206\u949f<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u7cfb\u7edf\u5d29\u6e83\u5904\u7406\u65b9\u5f0f<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-14-1024x472.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"472\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-14-1024x472.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-215\" style=\"width:777px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">FORCE\u548cNO-STEAL\u65b9\u6848\u9009\u62e9<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><\/td><td class=\"has-text-align-center\" data-align=\"center\">FORCE \u5f3a\u5236<br>\uff08\u4e8b\u52a1\u63d0\u4ea4\u5f3a\u5236\u5237\u76d8\uff09<\/td><td class=\"has-text-align-center\" data-align=\"center\">NO-FORCE \u5f3a\u5236<br>\uff08\u4e8b\u52a1\u63d0\u4ea4\u4e0d\u5f3a\u5236\u5237\u76d8\uff09<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">NO-STEAL\u975e\u7a83\u53d6<br>(\u6267\u884c\u671f\u95f4\u4e0d\u5237\u76d8)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u65e0redo\u65e5\u5fd7 | \u65e0undo\u65e5\u5fd7<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u6709redo\u65e5\u5fd7 | \u65e0undo\u65e5\u5fd7<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">STEAL\u7a83\u53d6(\u6267\u884c\u671f\u95f4\u53ef\u5237\u76d8)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u65e0redo\u65e5\u5fd7 | \u6709undo\u65e5\u5fd7<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u6709redo\u65e5\u5fd7 | \u6709undo\u65e5\u5fd7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u5e93\u65e5\u5fd7<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u5e93\u65e5\u5fd7\u662f\u6570\u636e\u5e93\u7cfb\u7edf\u5185\u4e00\u7cfb\u5217\u6267\u884c\u4e8b\u4ef6\u7684\u8bb0\u5f55\uff0c\u5b83\u4e0e\u6570\u636e\u5e93\u4e8b\u52a1\u662f\u5bc6\u5207\u76f8\u5173\u7684\uff0c\u4e8b\u52a1\u7684\u6267\u884c\u8fc7\u7a0b\u4f1a\u53cd\u6620\u5728\u65e5\u5fd7\u4e2d\uff0c<strong>\u6570\u636e\u5e93\u53ef\u4ee5\u901a\u8fc7\u5bf9\u65e5\u5fd7\u7684\u5206\u6790\u5b9e\u73b0\u5bf9\u4e8b\u52a1\u7684\u56de\u6eda(\u539f\u5b50\u6027)\u6216\u91cd\u505a(\u6301\u4e45\u6027)<\/strong><\/li>\n\n\n\n<li>\u65e5\u5fd7\u662f\u65e5\u5fd7\u8bb0\u5f55(log record)\u7684\u5e8f\u5217\u3002\u65e5\u5fd7\u8bb0\u5f55\u662f\u6570\u636e\u5e93\u7cfb\u7edf\u6d3b\u52a8\u8bb0\u5f55\u7684\u6700\u5c0f\u5355\u4f4d\uff0c\u6bcf\u4e00\u6761\u8bb0\u5f55\u53cd\u6620\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u4e00\u6b21\u64cd\u4f5c\u3002<strong>\u65e5\u5fd7\u8bb0\u5f55\u4e0d\u4ec5\u5305\u542b\u4e86\u6570\u636e\u7684\u66f4\u65b0\uff0c\u8fd8\u5305\u542b\u4e86\u6570\u636e\u5e93\u4e8b\u52a1\u5f00\u59cb\/\u7ed3\u675f\u7684\u903b\u8f91\u3002<\/strong><\/li>\n\n\n\n<li>\u65e5\u5fd7\u7684\u5185\u5bb9\u5728\u5199\u5165\u78c1\u76d8\u4ee5\u540e\u662f<strong>\u4e0d\u4f1a\u88ab\u4fee\u6539<\/strong>\u7684\uff0c\u56e0\u6b64\u6240\u6709\u7684\u65e5\u5fd7\u5185\u5bb9\u53ef\u4ee5\u987a\u5e8f\u5199\u5165\u78c1\u76d8\uff0c\u8fd9<strong>\u4fdd\u8bc1\u4e86\u9ad8\u6548\u7684\u5199\u5165\u901f\u5ea6\u3002<\/strong>\u8be5\u7279\u6027\u4e5f\u662f\u5efa\u7acb\u9ad8\u53ef\u7528\u6062\u590d\u673a\u5236\u7684\u524d\u63d0\u5373\u6570\u636e\u7684\u968f\u673a\u8bfb\u5199\u8f6c\u6362\u4e3a\u65e5\u5fd7\u7684\u8fde\u7eed\u8bfb\u5199\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-17-1024x632.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-17-1024x632.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-223\" style=\"width:637px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Undo\u56de\u6eda\u65e5\u5fd7<\/h5>\n\n\n\n<p>\u7279\u70b9\uff1a\u8bb0\u5f55\u65e7\u503c<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u683c\u5f0f &lt; T , X , Vold &gt;\n<ul class=\"wp-block-list\">\n<li>T : \u4e8b\u7269\u552f\u4e00\u6807\u8bc6\u7b26<\/li>\n\n\n\n<li>X\uff1a\u6570\u636e\u9879<\/li>\n\n\n\n<li>Vold\uff1a\u6570\u636e\u9879\u4fee\u6539\u4ee5\u524d\u7684\u503c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u4ea7\u751f\u65f6\u673a\uff1a\u5f53\u6570\u636eT\u4fee\u6539\u6570\u636e\u9879X\uff08Write(X)\uff09\u65f6\u4ea7\u751f\uff0c\u8981\u5bf9\u6570\u636e\u64cd\u4f5c\u65f6\u5019\uff0c\u5148\u5199\u65e5\u5fd7\uff0c\u65e5\u5fd7\u6210\u529f\u518d\u64cd\u4f5c\uff0c\u4e5f\u53eb\u505a <code>WAL\uff08Write Ahead Log\uff09<\/code> <\/li>\n\n\n\n<li>\u4f5c\u7528\uff1a\u5b9e\u73b0\u4e8b\u7269\u56de\u6eda<\/li>\n\n\n\n<li>\u6ce8\u610f\uff1a\u4e00\u822c\u8fd8\u5305\u62ec\u4e00\u4e2a\u65e5\u5fd7\u5e8f\u53f7log sequential number(LSN)\uff0c\u4fbf\u4e8e\u66f4\u5feb\u627e\u5230\u4f4d\u7f6e<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Redo\u91cd\u505a\u65e5\u5fd7<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u683c\u5f0f &lt; T , X , Vnew &gt;\n<ul class=\"wp-block-list\">\n<li>T : \u4e8b\u7269\u552f\u4e00\u6807\u8bc6\u7b26<\/li>\n\n\n\n<li>X\uff1a\u6570\u636e\u9879<\/li>\n\n\n\n<li>Vnew\uff1a\u6570\u636e\u9879\u4fee\u6539\u4ee5\u540e\u7684\u503c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u4ea7\u751f\u65f6\u673a\uff1a\u5f53\u6570\u636eT\u4fee\u6539\u6570\u636e\u9879X\uff08Write(X)\uff09\u65f6\u4ea7\u751f\uff0c\u540c\u6837\u4e5f\u662f <code>WAL\uff08Write Ahead Log\uff09<\/code> <\/li>\n\n\n\n<li>\u4f5c\u7528\uff1a\u5b9e\u73b0\u4e8b\u7269\u56de\u6eda<\/li>\n\n\n\n<li>\u6ce8\u610f\uff1a\u4e00\u822c\u8fd8\u5305\u62ec\u4e00\u4e2a\u65e5\u5fd7\u5e8f\u53f7log sequential number(LSN)\uff0c\u4fbf\u4e8e\u66f4\u5feb\u627e\u5230\u4f4d\u7f6e<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u903b\u8f91\u65e5\u5fd7<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bb0\u5f55\u4e8b\u52a1\u4e2d\u9ad8\u5c42\u62bd\u8c61\u7684\u903b\u8f91\u64cd\u4f5c<\/li>\n\n\n\n<li>\u4e3e\u4f8b\uff1a\u8bb0\u5f55\u65e5\u5fd7\u4e2dUPDATE\u3001DELETE\u548cINSERT\u7684\u6587\u672c\u4fe1\u606f\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\u5c0f\u660e\u7684\u5e74\u9f84\u753120\u6539\u621021\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u597d\u5904\uff1a\u6570\u636e\u5e93\u7248\u672c\u66f4\u65b0\u65f6\u5019\uff0c\u4e5f\u5bb9\u6613\u6062\u590d<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u7269\u7406\u65e5\u5fd7<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bb0\u5f55\u6570\u636e\u5e93\u5177\u4f53\u7269\u7406\u53d8\u5316<\/li>\n\n\n\n<li>\u4e3e\u4f8b\uff1a\u8bb0\u5f55\u4e00\u4e2a\u88ab\u67e5\u8be2\u5f71\u54cd\u7684\u6570\u636e\u9879\u524d\u540e\u7684\u503c\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\u7b2c10\u4e2a\u9875\u9762\u7b2c100\u504f\u79fb\u91cf\u7684\u503c\u753120\u6539\u621021\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u597d\u5904\uff1a1. \u5bf9\u4e8eInsert\uff0c\u903b\u8f91\u65e5\u5fd7\u4e0d\u80fd\u6267\u884c\u7b2c\u4e8c\u6b21\uff0c\u800c\u5bf9\u4e8e\u7269\u7406\u65e5\u5fd7\u53ef\u4ee5\uff08\u5e42\u7b49\u6027\uff09 2. \u5360\u7528\u5c0f<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u7269\u7406\u903b\u8f91\u65e5\u5fd7<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e00\u79cd\u7ed3\u5408\u4e86\u7269\u7406\u65e5\u5fd7\u548c\u903b\u8f91\u65e5\u5fd7\u6df7\u5408\u65b9\u6cd5<\/li>\n\n\n\n<li>\u65e5\u5fd7\u8bb0\u5f55\u4e2d\u5305\u542b\u4e86\u6570\u636e\u9875\u9762\u7684\u7269\u7406\u4fe1\u606f\uff0c\u4f46\u662f\u9875\u9762\u4ee5\u5185\u76ee\u6807\u6570\u636e\u9879\u7684\u4fee\u6539\u4fe1\u606f\u5219\u662f\u4ee5\u903b\u8f91\u65b9\u5f0f\u8bb0\u5f55\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\u7b2c100\u4e2a\u9875\u9762(\u7269\u7406)\u7684\u5c0f\u660e\u5e74\u9f84\u503c\u753120\u6539\u621021(\u903b\u8f91)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u6570\u636e\u5e93\u65e5\u5fd7\u6027\u8d28<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5e42\u7b49\u6027\uff1a\u4e00\u6761\u65e5\u5fd7\u8bb0\u5f55\u65e0\u8bba\u6267\u884c\u4e00\u6b21\u6216\u591a\u6b21\uff0c\u5f97\u5230\u7684\u7ed3\u679c\u90fd\u662f\u4e00\u81f4\u7684\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982:x=x+1\u4e0d\u5e42\u7b49\uff1bx=0\u5e42\u7b49<\/li>\n\n\n\n<li>\u7269\u7406\u65e5\u5fd7\u6ee1\u8db3\u5e42\u7b49\u6027\uff1b\u903b\u8f91\u65e5\u5fd7\u4e0d\u6ee1\u8db3<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u5931\u8d25\u53ef\u91cd\u505a\u6027\uff1a\u4e00\u6761\u65e5\u5fd7\u6267\u884c\u5931\u8d25\u540e\uff0c\u662f\u5426\u53ef\u4eba\u91cd\u505a\u4e00\u904d\u8fbe\u6210\u6062\u590d\u76ee\u7684\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982:\u63d2\u5165\u4e00\u6761\u8bb0\u5f55\u5931\u8d25\uff0c\u518d\u6b21\u63d2\u5165\u6210\u529f\u3002<\/li>\n\n\n\n<li>\u7269\u7406\u65e5\u5fd7\u6ee1\u8db3\u5931\u8d25\u53ef\u91cd\u505a\u6027\uff1b\u903b\u8f91\u65e5\u5fd7\u4e0d\u6ee1\u8db3\uff1a\u4f8b\u5982\u63d2\u5165\u6570\u636e\u9875\u9762\u6210\u529f\uff0c\u800c\u63d2\u5165\u7d22\u5f15\u5931\u8d25\u91cd\u505a\u63d2\u5165\u8fd9\u4e2a\u903b\u8f91\u65e5\u5fd7\u5931\u8d25\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u64cd\u4f5c\u53ef\u9006\u6027\uff1a\u9006\u5411\u6267\u884c\u65e5\u5fd7\u8bb0\u5f55\u7684\u64cd\u4f5c\uff0c\u53ef\u4ee5\u590d\u539f\u6765\u72b6\u6001(\u672a\u6267\u884c\u8fd9\u6279\u64cd\u4f5c\u65f6\u7684\u72b6\u6001)\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\u7b2c10\u4e2a\u9875\u9762\u7b2c100\u504f\u79fb\u91cf\u7684\u503c\u753120\u6539\u621021\uff0c\u9006\u64cd\u4f5c\u753121\u6539\u621020<\/li>\n\n\n\n<li>\u7269\u7406\u65e5\u5fd7\u4e0d\u53ef\u9006(\u9875\u9762\u504f\u79fb\u91cf\u4f4d\u7f6e\u53ef\u80fd\u88ab\u540e\u7eed\u8bb0\u5f55\u4fee\u6539)\uff0c\u903b\u8f91\u65e5\u5fd7\u53ef\u9006\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u9002\u7528\u6027\u603b\u7ed3<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u65e5\u5fd7\u7c7b\u578b<\/th><th>\u89e3\u6790\u901f\u5ea6<\/th><th>\u65e5\u5fd7\u91cf<\/th><th>\u53ef\u91cd\u505a\u6027<\/th><th>\u5e42\u7b49\u6027<\/th><th>\u53ef\u9006\u6027<\/th><th>\u5e94\u7528\u573a\u666f<\/th><\/tr><\/thead><tbody><tr><td>\u7269\u7406\u65e5\u5fd7<\/td><td>\u5feb<\/td><td>\u5927<\/td><td>\u662f<\/td><td>\u662f<\/td><td>\u5426<\/td><td>redo\u65e5\u5fd7<\/td><\/tr><tr><td>\u903b\u8f91\u65e5\u5fd7<\/td><td>\u6162<\/td><td>\u5c0f<\/td><td>\u5426<\/td><td>\u5426<\/td><td>\u662f<\/td><td>undo\u65e5\u5fd7<\/td><\/tr><tr><td>\u7269\u7406\u903b\u8f91\u65e5\u5fd7<\/td><td>\u8f83\u5feb<\/td><td>\u4e2d<\/td><td>\u662f<\/td><td>\u5426<\/td><td>\u5426<\/td><td>undo\u65e5\u5fd7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u5e93\u6062\u590d\u7b97\u6cd5\u6982\u8ff0<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-129-1024x307.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"307\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-129-1024x307.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-661\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u539f\u5b50\u6027\u4fdd\u8bc1<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NO-STEAL\uff1a\u6267\u884c\u671f\u95f4\u4e0d\u5237\u76d8\uff0c\u4e0d\u5b58\u5728\u539f\u5b50\u6027\u95ee\u9898\n<ul class=\"wp-block-list\">\n<li>\u95ee\u9898\uff1a\u5f53\u4e8b\u7269\u5f88\u5927\u65f6\uff0cMem\u5360\u7528\u8fc7\u5927<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>STEAL\uff1a\u6267\u884c\u671f\u95f4\u5237\u76d8\n<ul class=\"wp-block-list\">\n<li>\u95ee\u9898\uff1a\u5b58\u5728\u539f\u5b50\u6027\u95ee\u9898\uff0c\u5982\u4e0a\u56fe\u7684T4\u5982\u679c\u4e8b\u52a1\u6267\u884c\u671f\u95f4\u5237\u76d8\u4e86\uff0c\u6b64\u65f6\u9700\u8981undo\u56de\u6eda<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u6301\u4e45\u6027\u4fdd\u8bc1<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FORCE\uff1a\u4e8b\u52a1\u63d0\u4ea4\u540e\u5c31\u5f3a\u5236\u5237\u76d8\uff0c\u4e0d\u5b58\u5728\u6301\u4e45\u6027\u95ee\u9898\n<ul class=\"wp-block-list\">\n<li>\u95ee\u9898\uff1a\u6570\u636e\u5e93IO\u4ea4\u4e92\u9891\u7e41\uff0c\u5360\u7528IO\u8d44\u6e90\u8fc7\u591a<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>NO-FORCE\uff1a\u4e8b\u52a1\u63d0\u4ea4\u4e0d\u5f3a\u5236\u5237\u76d8\n<ul class=\"wp-block-list\">\n<li>\u95ee\u9898\uff1a\u5b58\u5728\u6301\u4e45\u6027\u95ee\u9898\uff0c\u5982\u79ef\u6512\u4e86\u5f88\u591a\u5df2\u7ecf\u63d0\u4ea4\u7684\u4e8b\u7269\u6ca1\u505a\uff0c\u6b64\u65f6\u5c31\u9700\u8981redo\u91cd\u505a<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5f71\u5b50\u62f7\u8d1d\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u539f\u7406\uff1a\u4e8b\u7269\u6267\u884c\u4e0d\u5237\u76d8\uff0c\u4e8b\u7269\u4e00\u63d0\u4ea4\u5c31\u5237\u76d8<\/p>\n\n\n\n<p>\u5982\u679c\u4e8b\u7269Abort\uff0c\u6570\u636e\u5e93\u6307\u9488\u4e0d\u53d8<\/p>\n\n\n\n<p>\u5982\u679c\u4e8b\u7269\u6267\u884c\u5b8c\u6210\uff0c\u6570\u636e\u5e93\u6307\u9488\u5c31\u5207\u6362\u8fc7\u6765<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-130-1024x419.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"419\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-130-1024x419.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-667\" style=\"width:750px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u57fa\u4e8eundo\u65e5\u5fd7\u7684\u6062\u590d\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u539f\u7406\uff1a\u4e8b\u7269\u6267\u884c\u671f\u95f4\u53ef\u4ee5\u5237\u76d8\uff08\u63d0\u4ea4\u90e8\u5206\u4e8b\u7269\uff09\uff0c\u4e14\u4e8b\u7269\u4e00\u63d0\u4ea4\u5c31\u5237\u76d8<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-131-1024x324.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"324\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-131-1024x324.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-670\" style=\"width:730px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-132-1024x428.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"428\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-132-1024x428.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-671\" style=\"width:618px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u6062\u590d\u6d41\u7a0b<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-133-1024x344.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-133-1024x344.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-672\" style=\"width:655px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u4f8b\u5b50<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-134-1024x486.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"486\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-134-1024x486.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-673\" style=\"width:665px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-135-1024x489.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-135-1024x489.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-674\" style=\"width:641px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">\u95ee\u9898<\/h5>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-142-1024x544.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"544\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-142-1024x544.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-687\" style=\"width:639px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u57fa\u4e8eredo\u65e5\u5fd7\u7684\u6062\u590d\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u539f\u7406\uff1a\u4e8b\u7269\u6267\u884c\u4e0d\u5237\u76d8\uff0c\u63d0\u4ea4\u4e86\u4e8b\u7269\u53ef\u4ee5\u4e0d\u5237\u76d8\u3002\u56e0\u6b64\u5bf9\u4e8e\u4e00\u4e9b\u6ca1\u505a\u7684\u4e8b\u7269redo\u6062\u590d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-136-1024x313.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"313\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-136-1024x313.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-676\" style=\"width:593px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-137-1024x440.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"440\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-137-1024x440.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-678\" style=\"width:625px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-138-1024x510.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-138-1024x510.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-679\" style=\"width:625px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-139-1024x434.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"434\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-139-1024x434.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-681\" style=\"width:612px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-140-1024x453.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-140-1024x453.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-684\" style=\"width:636px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">\u95ee\u9898<\/h5>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-141-1024x327.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"327\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-141-1024x327.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-686\" style=\"width:562px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u57fa\u4e8eundo\/redo\u65e5\u5fd7\u7684\u6062\u590d\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u539f\u7406\uff1a\u4e8b\u7269\u6267\u884c\u671f\u95f4\u5237\u76d8\uff0c\u4e8b\u7269\u5b8c\u6210\u4e0d\u5f3a\u5236\u5237\u76d8<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-143-1024x578.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-143-1024x578.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-689\" style=\"width:390px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>Redo\u662f\u5e42\u7b49\u6027\u64cd\u4f5c\uff0c\u56e0\u4e3aredo\u662f\u7269\u7406\u65e5\u5fd7\uff0c\u5177\u5907\u7684\u662f\u5e42\u7b49\u6027\uff08\u89c1\u4e0a\u6709\u4ecb\u7ecd\uff09<\/p>\n\n\n\n<p>\u800cUndo\u4e0d\u662f\u5e42\u7b49\u64cd\u4f5c\uff0c\u56e0\u4e3aundo\u662f\u903b\u8f91\u65e5\u5fd7\uff0c\u5177\u5907\u7684\u662f\u53ef\u9006\u6027<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-144-1024x293.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"293\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-144-1024x293.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-692\" style=\"width:545px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-145-1024x492.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"492\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-145-1024x492.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-694\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u516d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Multithreading<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u77e5\u8bc6<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u8fdb\u7a0b<\/h4>\n\n\n\n<p>\u8fdb\u7a0b\u6709\u4e00\u4e2a\u81ea\u5305\u542b\u7684\u6267\u884c\u73af\u5883\u3002\u8fdb\u7a0b\u901a\u5e38\u5177\u6709\u4e00\u7ec4\u5b8c\u6574\u7684\u3001\u79c1\u6709\u7684\u57fa\u672c\u8fd0\u884c\u65f6\u8d44\u6e90\uff1b\u7279\u522b\u662f\uff0c\u6bcf\u4e2a\u8fdb\u7a0b\u90fd\u6709\u81ea\u5df1\u7684\u5b58\u50a8\u7a7a\u95f4\u3002\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff1aRMI \/ Http\uff0cRMI\u901a\u4fe1\u65b9\u5f0f\uff1a\u7c7b\u4f3c\u4e8eServer\u548cClient\uff0c\u7528Serializable\uff0c\u6d41\u7684\u65b9\u5f0f\u4f20\u9012<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7ebf\u7a0b<\/h4>\n\n\n\n<p>\u7ebf\u7a0b\u6709\u65f6\u88ab\u79f0\u4e3a\u8f7b\u91cf\u7ea7\u8fdb\u7a0b\u3002\u8fdb\u7a0b\u548c\u7ebf\u7a0b\u90fd\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6267\u884c\u73af\u5883\uff0c\u4f46\u521b\u5efa\u65b0\u7ebf\u7a0b\u6240\u9700\u7684\u8d44\u6e90\u6bd4\u521b\u5efa\u65b0\u8fdb\u7a0b\u5c11\u3002\u7ebf\u7a0b\u5b58\u5728\u4e8e\u8fdb\u7a0b\u4e2d\u2014\u2014\u6bcf\u4e2a\u8fdb\u7a0b\u81f3\u5c11\u6709\u4e00\u4e2a\u7ebf\u7a0b\u3002\u7ebf\u7a0b\u5171\u4eab\u8fdb\u7a0b\u7684\u8d44\u6e90\uff0c\u5305\u62ec\u5185\u5b58\u548c\u6253\u5f00\u7684\u6587\u4ef6\u3002\u8fd9\u6709\u52a9\u4e8e\u9ad8\u6548\u4f46\u53ef\u80fd\u5b58\u5728\u95ee\u9898\u7684\u6c9f\u901a\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u591a\u7ebf\u7a0b\u901a\u4fe1<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u521b\u5efa\u7ebf\u7a0b<\/h4>\n\n\n\n<p>\u65b9\u6cd5\u4e00\uff1a\u624b\u52a8\u521b\u5efa\u4e00\u4e2a\u7ebf\u7a0b\uff0c\u8fd9\u4e2a\u7ebf\u7a0b\u6267\u884c\u5b8c\u5c31\u7ed3\u675f\u4e86\u3002\uff08\u4eba\u4e3a\u7684\u7ba1\u7406\u3001\u63a7\u5236\u7ebf\u7a0b\uff09 <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e00\u79cd\u65b9\u6cd5\u662f\u7ee7\u627fThread\u7c7b\uff08Java\u662f\u5355\u6839\u7ee7\u627f\uff0c\u548ccpp\u4e0d\u4e00\u6837\uff0c\u6240\u4ee5\u8fd9\u79cd\u65b9\u6cd5\u4e0d\u63a8\u8350\uff09 <\/li>\n\n\n\n<li>\u4e00\u79cd\u65b9\u6cd5\u662f\u5b9e\u73b0Runnable\u8fd9\u4e2a\u63a5\u53e3\uff08\u63a8\u8350\u4f7f\u7528\u8fd9\u4e2a\uff0c\u56e0\u4e3aJava\u91cc\u9762\u53ea\u80fd\u7ee7\u627f\u4e00\u4e2a\u7c7b\uff0c\u4f46\u662f\u5b9e \u73b0\u53ef\u4ee5\u5b9e\u73b0\u591a\u4e2a\u63a5\u53e3\uff09 <\/li>\n<\/ul>\n\n\n\n<p>\u65b9\u6cd5\u4e8c\uff1a\u901a\u8fc7\u7ebf\u7a0b\u6c60\uff0c\u5982\u679c\u6709\u9700\u8981\u83b7\u53d6\u7ebf\u7a0b\u5c31\u5728\u6c60\u5b50\u91cc\u9762\u627e\u4e00\u4e2a\uff0c\u7528\u5b8c\u4e4b\u540e\u6536\u56de\uff0c\u8fd8\u662f\u653e\u5728\u5728\u7ebf\u7a0b \u6c60\u91cc\u9762\u3002\u8282\u7ea6\u8d44\u6e90\uff0c\u56e0\u4e3a\u521b\u5efa\u7ebf\u7a0b\u7684\u65f6\u5019\u9700\u8981\u6d88\u8017\u8d44\u6e90\u3002\uff08\u4e0d\u9700\u8981\u8003\u8651\u7ebf\u7a0b\u7684\u7ba1\u7406\uff0c\u7ebf\u7a0b\u662f\u65b0\u521b\u5efa \u7684\u8fd8\u662f\u5df2\u6709\u7684\u4f7f\u7528\u8005\u4e0d\u9700\u8981\u77e5\u9053\uff0c\u7531\u7ebf\u7a0b\u6c60\u7ba1\u7406\uff09<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u4e2d\u65ad\u4e0e\u5b58\u6d3b\u51fd\u6570<\/h4>\n\n\n\n<p>\u4e2d\u65ad\u4e00\u4e2a\u7ebf\u7a0b\uff0c\u8c03\u7528Thread.interrupt\uff08\uff09\u65b9\u6cd5\uff0c\u8ba9\u5176\u629b\u51faInterruptedException\u5f02\u5e38<\/p>\n\n\n\n<p>\u5224\u65ad\u662f\u5426\u5b58\u6d3b\uff0c\u8c03\u7528Thread.interrupted(\uff09<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">join<\/h4>\n\n\n\n<p>join\u65b9\u6cd5\u5141\u8bb8\u4e00\u4e2a\u7ebf\u7a0b\u7b49\u5f85\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u7684\u5b8c\u6210\u3002\u5982\u679ct\u662f\u7ebf\u7a0b\u5f53\u524d\u6b63\u5728\u6267\u884c\u7684Thread\u5bf9\u8c61\uff0ct.join\uff08\uff09<br>\u4f7f\u5f53\u524d\u7ebf\u7a0b\u6682\u505c\u6267\u884c\uff0c\u76f4\u5230t\u7684\u7ebf\u7a0b\u7ec8\u6b62\u3002\u548csleep\u4e00\u6837\uff0cjoin\u4f9d\u8d56\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u7684\u65f6\u95f4\uff0c\u8bbe\u5907\u597d\u7406\u8bba\u5c31\u5feb\uff0c\u6240\u4ee5\u4f60\u4e0d\u5e94\u8be5\u5047\u8bbejoin\u4f1a\u7b49\u5f85\u4f60\u6307\u5b9a\u7684\u65f6\u95f4\u3002\u4e5f\u548cSleep\u7c7b\u4f3c\uff0cjoin\u901a\u8fc7\u53d1\u51faInterruptedException\u9000\u51fa\u6765\u54cd\u5e94\u4e2d\u65ad\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u7ebf\u7a0b\u95f4\u901a\u4fe1\u65b9\u6cd5\u53ca\u95ee\u9898<\/h4>\n\n\n\n<p>\u7ebf\u7a0b\u4e4b\u95f4\u4e3b\u8981\u901a\u8fc7<strong>\u5171\u4eab\u5b57\u6bb5<\/strong>\u4ee5\u53ca<strong>\u5b57\u6bb5\u5f15\u7528\u7684\u5bf9\u8c61<\/strong>\u6765\u8fdb\u884c\u901a\u4fe1\u3002\u8fd9\u79cd\u901a\u4fe1\u65b9\u5f0f\u975e\u5e38\u9ad8\u6548\uff0c\u4f46\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e24\u7c7b\u9519\u8bef\uff1a<strong>\u7ebf\u7a0b\u5e72\u6270<\/strong>\uff08Thread Interference\uff09\u548c<strong>\u5185\u5b58\u4e00\u81f4\u6027\u9519\u8bef<\/strong>\uff08Memory Consistency Errors\uff09\u3002\u9632\u6b62\u8fd9\u4e9b\u9519\u8bef\u7684\u5de5\u5177\u662f\u540c\u6b65\u673a\u5236\u3002<\/p>\n\n\n\n<p>\u7136\u800c\uff0c\u4f7f\u7528\u540c\u6b65\u673a\u5236\u53ef\u80fd\u4f1a\u5f15\u5165\u7ebf\u7a0b\u4e89\u7528\uff0c\u5373\u5f53\u4e24\u4e2a\u6216\u591a\u4e2a\u7ebf\u7a0b\u540c\u65f6\u5c1d\u8bd5\u8bbf\u95ee\u540c\u4e00\u8d44\u6e90\u65f6\uff0c\u4f1a\u5bfc\u81f4Java\u8fd0\u884c\u65f6\u4ee5\u66f4\u6162\u7684\u901f\u5ea6\u6267\u884c\u4e00\u4e2a\u6216\u591a\u4e2a\u7ebf\u7a0b\uff0c\u751a\u81f3\u6682\u505c\u5b83\u4eec\u7684\u6267\u884c\u3002\u7ebf\u7a0b\u9965\u997f\u548c\u6d3b\u9501\u662f\u7ebf\u7a0b\u4e89\u7528\u7684\u4e24\u79cd\u5f62\u5f0f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u4e0d\u5f15\u5165\u540c\u6b65\u673a\u5236\u7684\u95ee\u9898<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Thread Interference\uff08<strong>\u7ebf\u7a0b\u5e72\u6270<\/strong>\uff09<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If the initial value of&nbsp;c&nbsp;is&nbsp;0, their interleaved actions might follow this sequence:<br>Thread A: Retrieve c.<br>Thread B: Retrieve c.<br>Thread A: Increment retrieved value; result is 1.<br>Thread B: Decrement retrieved value; result is -1.<br>Thread A: Store result in c; c is now 1.<br>Thread B: Store result in c; c is now -1.<\/li>\n<\/ul>\n\n\n\n<p>\u7ebf\u7a0bA\u7684\u7ed3\u679c\u5c31\u4e22\u5931\u4e86<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Memory Consistency Errors\uff08<strong>\u5185\u5b58\u4e00\u81f4\u6027\u9519\u8bef<\/strong>\uff09<\/h5>\n\n\n\n<p>\u5047\u8bbe\u5b9a\u4e49\u5e76\u521d\u59cb\u5316\u4e86\u4e00\u4e2a\u7b80\u5355\u7684 <code>int<\/code> \u5b57\u6bb5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int counter = 0;<\/code><\/pre>\n\n\n\n<p><code>counter<\/code> \u5b57\u6bb5\u88ab\u4e24\u4e2a\u7ebf\u7a0b A \u548c B \u5171\u4eab\u3002\u5047\u8bbe\u7ebf\u7a0b A \u5bf9 <code>counter<\/code> \u8fdb\u884c\u9012\u589e\u64cd\u4f5c\uff1a counter++;<\/p>\n\n\n\n<p>\u968f\u540e\u4e0d\u4e45\uff0c\u7ebf\u7a0b B \u6253\u5370\u51fa <code>counter<\/code> \u7684\u503c\uff1a System.out.println(counter);<\/p>\n\n\n\n<p>\u5982\u679c\u8fd9\u4e24\u4e2a\u8bed\u53e5\u662f\u5728\u540c\u4e00\u4e2a\u7ebf\u7a0b\u4e2d\u6267\u884c\u7684\uff0c\u53ef\u4ee5\u5b89\u5168\u5730\u5047\u8bbe\u8f93\u51fa\u7684\u503c\u662f &#8220;1&#8221;\u3002\u4f46\u5982\u679c\u8fd9\u4e24\u4e2a\u8bed\u53e5\u662f\u5728\u4e0d\u540c\u7684\u7ebf\u7a0b\u4e2d\u6267\u884c\uff0c\u6253\u5370\u51fa\u6765\u7684\u503c\u53ef\u80fd\u4ecd\u7136\u662f &#8220;0&#8221;\uff0c\u56e0\u4e3a\u7ebf\u7a0b A \u5bf9 <code>counter<\/code> \u7684\u4fee\u6539\u672a\u5fc5\u5bf9\u7ebf\u7a0b B \u53ef\u89c1\u2014\u2014\u9664\u975e\u7a0b\u5e8f\u5458\u5728\u8fd9\u4e24\u4e2a\u8bed\u53e5\u4e4b\u95f4\u5efa\u7acb\u4e86<strong>\u5148\u884c\u53d1\u751f\u5173\u7cfb\uff08happens-before\uff09<\/strong>\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u89e3\u51b3\u65b9\u6cd5<\/h5>\n\n\n\n<h2 class=\"wp-block-heading\">Synchronized<\/h2>\n\n\n\n<p>\u5982\u679c <code>count<\/code> \u662f <code>SynchronizedCounter<\/code> \u7684\u4e00\u4e2a\u5b9e\u4f8b\uff0c\u90a3\u4e48\u5c06\u8fd9\u4e9b\u65b9\u6cd5\u8bbe\u4e3a <code>synchronized<\/code> \u4f1a\u6709\u4e24\u4e2a\u6548\u679c\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e92\u65a5<\/strong>\uff1a\u65e0\u6cd5\u8ba9\u4e24\u4e2a\u5bf9\u540c\u4e00\u5bf9\u8c61\u7684\u540c\u6b65\u65b9\u6cd5\u8c03\u7528\u4ea4\u9519\u6267\u884c\u3002\u5f53\u4e00\u4e2a\u7ebf\u7a0b\u6b63\u5728\u6267\u884c\u67d0\u4e2a\u5bf9\u8c61\u7684\u540c\u6b65\u65b9\u6cd5\u65f6\uff0c\u6240\u6709\u5176\u4ed6\u7ebf\u7a0b\u8c03\u7528\u8be5\u5bf9\u8c61\u7684\u540c\u6b65\u65b9\u6cd5\u90fd\u4f1a\u88ab\u963b\u585e\uff08\u6682\u505c\u6267\u884c\uff09\uff0c\u76f4\u5230\u7b2c\u4e00\u4e2a\u7ebf\u7a0b\u6267\u884c\u5b8c\u6bd5\u3002<\/li>\n\n\n\n<li><strong>\u5148\u884c\u53d1\u751f\u5173\u7cfb<\/strong>\uff1a\u5f53\u4e00\u4e2a\u540c\u6b65\u65b9\u6cd5\u9000\u51fa\u65f6\uff0c\u81ea\u52a8\u5efa\u7acb\u4e00\u4e2a<strong>\u5148\u884c\u53d1\u751f\u5173\u7cfb<\/strong>\uff0c\u4fdd\u8bc1\u5bf9\u5bf9\u8c61\u72b6\u6001\u7684\u4fee\u6539\u5bf9\u6240\u6709\u7ebf\u7a0b\u53ef\u89c1\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u5728 <strong>Java<\/strong> \u4e2d\uff0c\u6bcf\u4e2a\u5bf9\u8c61\u90fd\u9690\u542b\u5730\u62e5\u6709\u4e00\u4e2a<strong>\u5185\u5728\u9501<\/strong>\uff08\u4e5f\u79f0\u4e3a<strong>\u76d1\u89c6\u5668\u9501<\/strong>\uff09\u3002\u5f15\u7528\u53d8\u91cf\u548c\u5927\u591a\u6570\u539f\u59cb\u53d8\u91cf\uff08\u9664long\u548cdouble\u4e4b\u5916\u7684\u6240\u6709\u7c7b\u578b\uff09\uff0c\u8bfb\u53d6\u548c\u5199\u5165\u90fd\u662f\u539f\u5b50\u6027\u7684<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u6240\u6709\u58f0\u660e\u4e3avolatile\u7684\u53d8\u91cf\uff08\u5305\u62eclong\u548cdouble\u53d8\u91cf\uff09\uff0c\u8bfb\u53d6\u548c\u5199\u5165\u90fd\u662f\u539f\u5b50\u6027\u7684\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6309\u7167\u60ef\u4f8b\uff0c\u4e00\u4e2a\u7ebf\u7a0b\u5728\u9700\u8981\u5bf9\u5bf9\u8c61\u7684\u5b57\u6bb5\u8fdb\u884c\u72ec\u5360\u4e14\u4e00\u81f4\u7684\u8bbf\u95ee\u65f6\uff0c\u5fc5\u987b<strong>\u83b7\u53d6<\/strong>\u8be5\u5bf9\u8c61\u7684\u5185\u5728\u9501\uff0c\u5e76\u5728\u64cd\u4f5c\u5b8c\u6210\u540e<strong>\u91ca\u653e<\/strong>\u8be5\u5185\u5728\u9501\u3002<\/li>\n\n\n\n<li>\u4e00\u4e2a\u7ebf\u7a0b\u5728\u83b7\u53d6\u5230\u9501\u4e0e\u91ca\u653e\u9501\u4e4b\u95f4\u7684\u65f6\u95f4\u6bb5\u5185\u88ab\u8ba4\u4e3a<strong>\u62e5\u6709<\/strong>\u8be5\u5185\u5728\u9501\u3002\u53ea\u8981\u67d0\u4e2a\u7ebf\u7a0b\u62e5\u6709\u5185\u5728\u9501\uff0c\u5176\u4ed6\u4efb\u4f55\u7ebf\u7a0b\u90fd\u65e0\u6cd5\u83b7\u53d6\u76f8\u540c\u7684\u9501\u3002\u5f53\u5176\u4ed6\u7ebf\u7a0b\u5c1d\u8bd5\u83b7\u53d6\u8be5\u9501\u65f6\uff0c\u5b83\u4eec\u5c06\u88ab<strong>\u963b\u585e<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5f53\u4e00\u4e2a\u7ebf\u7a0b<strong>\u91ca\u653e<\/strong>\u5185\u5728\u9501\u65f6\uff0c\u91ca\u653e\u52a8\u4f5c\u4e0e\u540e\u7eed\u5bf9\u8be5\u9501\u7684\u4efb\u4f55\u83b7\u53d6\u64cd\u4f5c\u4e4b\u95f4\u4f1a\u81ea\u52a8\u5efa\u7acb\u4e00\u4e2a<strong>\u5148\u884c\u53d1\u751f\u5173\u7cfb<\/strong>\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u8c03\u7528\u7684\u662f\u9759\u6001\u540c\u6b65\u65b9\u6cd5<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9759\u6001\u65b9\u6cd5\u662f\u4e0e\u7c7b\u76f8\u5173\u7684\uff0c\u800c\u4e0d\u662f\u4e0e\u5bf9\u8c61\u76f8\u5173\u7684\u3002static \u9759\u6001\u65b9\u6cd5\u80fd\u4e0d\u80fd\u4f7f\u7528\u540c\u6b65\u65b9\u6cd5\u5462\uff1f\u4e0d\u4f1a\uff0c\u56e0\u4e3a\u6bcf\u4e00\u4e2a\u9759\u6001\u65b9\u6cd5\u548c\u7c7b\u5173\u8054\u800c\u4e0d\u662f\u4e00\u4e2a\u5bf9\u8c61<\/li>\n\n\n\n<li>\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u7ebf\u7a0b\u4f1a<strong>\u83b7\u53d6<\/strong>\u4e0e\u8be5\u7c7b<strong>\u5173\u8054\u7684 Class \u5bf9\u8c61\u7684\u5185\u5728\u9501<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u65b9\u6cd5\u4e00\uff1a\u9488\u5bf9\u4e8e\u6574\u4e2a\u51fd\u6570<\/td><td>public class SynchronizedCounter {<br>    private int c = 0;<br>    public synchronized void increment() {  c++; }<br>    public synchronized void decrement() {  c&#8211;; }<br>    public synchronized int value() { return c;}<br>}<\/td><\/tr><tr><td>\u65b9\u6cd5\u4e8c\uff1a\u9488\u5bf9\u4e8e\u90e8\u5206<\/td><td>public void addName(String name) {<br>  synchronized(this) {<br>    lastName = name;<br>    nameCount++; <br>  } <br>  nameList.add(name); <br>}<\/td><\/tr><tr><td>\u65b9\u6cd5\u4e09\uff1a\u5bf9\u4e8e\u67d0\u4e00\u4e2a\u90e8\u5206<br>\u8fd9\u91cc\u9488\u5bf9\u4e8e c1\uff0cc2 \u52a0\u64cd\u4f5c\u5206\u522b\u4e0a\u9501\uff0c\u4e24\u4e2a\u9501\u4e4b\u95f4\u4e0d\u5e72\u6270<\/td><td>public class MsLunch {<br>  private long c1 = 0;<br>  private long c2 = 0;<br><br>  private Object lock1 = new Object();<br>  private Object lock2 = new Object();<br><br>  public void inc1() {<br>     synchronized(lock1) <br>       { c1++; } <br>  } <br>  public void inc2() {<br>     synchronized(lock2) <br>       { c2++; }<br>  } <br>} <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u53ef\u91cd\u5165\u7684\u9501\uff1a ReentrantLock<\/p>\n\n\n\n<p>\u6211\u4eec\u6709\u4e00\u4e2a\u7c7b C \uff0c\u5b83\u6709\u4e00\u4e2aSynchronized\u65b9\u6cd5 m \uff0c m \u91cc\u9762\u8c03\u7528\u4e86\u53e6\u5916\u4e00\u4e2aSynchronized\u65b9\u6cd5 n \uff0c n \u4e5f \u5728 C \u91cc\u9762\uff1b\u7136\u800c\uff0c\u8c03\u7528 n \u7684\u65f6\u5019\uff0c\u53d1\u73b0\u8fd9\u4e2a\u5bf9\u8c61\u7684\u9501 \u5728 m \u624b\u91cc\u5462\uff01 \u4e5f\u6709\u53ef\u80fd m \u662f\u4e00\u4e2a\u9012\u5f52\u7684\u65b9\u6cd5\u2026\u2026 <\/p>\n\n\n\n<p>\u5f15\u5165\u6982\u5ff5\uff1a\u53ef\u91cd\u5165\u7684\u9501\u3002\u53ef\u91cd\u5165\u7684\u9501\u610f\u5473\u7740\uff1a \u4e00\u4e2a\u7ebf\u7a0b\u4e0d\u80fd\u83b7\u5f97\u4e00\u4e2a\u88ab\u5176\u4ed6\u7ebf\u7a0b\u5360\u636e\u7684lock\uff1b\u4f46\u662f\u5b83\u80fd\u591f\u83b7\u5f97\u4e00\u4e2a\u5b83\u5df2\u7ecf\u62e5\u6709\u7684\u9501\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5f15\u5165\u540c\u6b65\u673a\u5236\u5e26\u6765\u7684\u95ee\u9898<\/h4>\n\n\n\n<p>Deadlock\uff08\u6b7b\u9501\uff09\uff1aA\u7ebf\u7a0b\u7b49\u5f85B\uff0cB\u7b49\u5f85A\uff0c\u8fd9\u6837\u5c31\u4f1a\u9677\u5165\u6b7b\u9501\u7684\u5faa\u73af\u3002\u4e00\u822c\u662f\u7531\u4e8e\u8d44\u6e90\u7ade\u4e89\u548c\u5e76\u53d1\u5904\u7406\u987a\u5e8f\u4e0d\u5f53\u5bfc\u81f4\u7684\u3002\u89e3\u51b3\u65b9\u6cd5\uff1a\u8d85\u65f6\u91ca\u653e\u8d44\u6e90<\/p>\n\n\n\n<p><strong>Starvation\uff08\u997f\u6b7b\uff09<\/strong>\uff1aA\u60f3\u8981\u8bbf\u95ee\u4e00\u4e2a\u5171\u4eab\u8d44\u6e90\uff0c\u4f46\u662f\u4e00\u76f4\u83b7\u53d6\u4e0d\u5230\uff0c\u5c31\u50cf\u88ab\u997f\u6b7b\u4e86\u4e00\u6837\u3002\uff08\u9700\u8981\u6d88\u9664\u90a3\u4e9b\u8d2a\u5a6a\u7684 \u7ebf\u7a0b\uff0c\u907f\u514d\u4e00\u4e2a\u7ebf\u7a0b\u957f\u671f\u8d2a\u5a6a\u7684\u5360\u7528\u8d44\u6e90\uff1b\u6240\u4ee5tomcat\u91cc\u9762\u7528\u4e86\u8fde\u63a5\u6c60\uff0c\u907f\u514d\u4e00\u4e2a\u8fde\u63a5\u957f\u671f\u5360\u7528\u8d44 \u6e90\uff09<\/p>\n\n\n\n<p><strong>Livelock\uff08\u6d3b\u9501\uff09<\/strong>\uff1a\u6d3b\u9501\u662f\u6307\u4e00\u4e2a\u7ebf\u7a0b\u5bf9\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u7684\u52a8\u4f5c\u505a\u51fa\u53cd\u5e94\uff0c\u800c\u5982\u679c\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u7684\u52a8\u4f5c\u4e5f\u662f\u5bf9\u524d\u4e00\u4e2a\u7ebf\u7a0b\u52a8\u4f5c\u7684\u53cd\u5e94\uff0c\u90a3\u4e48\u53ef\u80fd\u4f1a\u5bfc\u81f4\u6d3b\u9501\u3002\u4e0e\u6b7b\u9501\u7c7b\u4f3c\uff0c\u6d3b\u9501\u72b6\u6001\u4e0b\u7684\u7ebf\u7a0b\u4e5f\u65e0\u6cd5\u7ee7\u7eed\u53d6\u5f97\u8fdb\u5c55\u3002\u7136\u800c\uff0c\u7ebf\u7a0b\u5e76\u6ca1\u6709\u88ab\u963b\u585e\uff0c\u800c\u662f\u5f7c\u6b64\u4e0d\u505c\u5730\u54cd\u5e94\u5bf9\u65b9\uff0c\u5bfc\u81f4\u65e0\u6cd5\u6062\u590d\u6b63\u5e38\u5de5\u4f5c\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u89e3\u51b3\u65b9\u5f0f\uff1a\u534f\u8c03\u8d44\u6e90<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53d7\u4fdd\u62a4\u7684\u5757\uff08guarded block\uff09<\/strong>\u3002 \u6700\u5e38\u89c1\u7684\u65b9\u5f0f\uff0cwhile(!joy) {}\u7b80\u5355\u7684\u5faa\u73af\uff0c\u4f46\u6d6a\u8d39\u5904\u7406\u5668\u65f6\u95f4\u3002\u4e00\u822c\u4e0d\u63a8\u8350\u8fd9\u4e48\u505a<\/li>\n\n\n\n<li>\u8c03\u7528<code>wait<\/code>\u65b9\u6cd5\u4f1a\u6682\u505c\u7ebf\u7a0b\uff0c\u76f4\u5230\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u53d1\u51fa\u901a\u77e5\uff0c\u8868\u793a\u67d0\u4e2a\u7279\u6b8a\u4e8b\u4ef6\u53d1\u751f\uff08\u4e0d\u4e00\u5b9a\u662f\u5f53\u524d\u7ebf\u7a0b\u6b63\u5728\u7b49\u5f85\u7684\u4e8b\u4ef6\uff09\u3002\u5728\u672a\u6765\u7684\u67d0\u4e2a\u65f6\u523b\uff0c\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u5c06\u83b7\u53d6\u76f8\u540c\u7684\u9501\u5e76\u8c03\u7528<code>Object.notifyAll<\/code>\uff0c\u901a\u77e5\u6240\u6709\u7b49\u5f85\u8be5\u9501\u7684\u7ebf\u7a0b\uff0c\u8868\u793a\u67d0\u4e2a\u91cd\u8981\u4e8b\u4ef6\u5df2\u7ecf\u53d1\u751f\u3002\u5728\u7b2c\u4e8c\u4e2a\u7ebf\u7a0b\u91ca\u653e\u9501\u540e\uff0c\u7b49\u5f85\u7684\u7b2c\u4e00\u4e2a\u7ebf\u7a0b\u5c06\u91cd\u65b0\u83b7\u53d6\u9501\u5e76\u4ece<code>wait<\/code>\u65b9\u6cd5\u7684\u8c03\u7528\u4e2d\u6062\u590d\u6267\u884c\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u4f7f\u7528\u53d7\u4fdd\u62a4\u5757\u521b\u5efa\u751f\u4ea7\u8005-\u6d88\u8d39\u8005\u5e94\u7528<\/strong><\/p>\n\n\n\n<p>\u8fd9\u79cd\u5e94\u7528\u5728\u4e24\u4e2a\u7ebf\u7a0b\u4e4b\u95f4\u5171\u4eab\u6570\u636e\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u751f\u4ea7\u8005<\/strong>\uff1a\u521b\u5efa\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6d88\u8d39\u8005<\/strong>\uff1a\u4f7f\u7528\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u4e24\u4e2a\u7ebf\u7a0b\u901a\u8fc7\u4e00\u4e2a<strong>\u5171\u4eab\u5bf9\u8c61<\/strong>\u8fdb\u884c\u901a\u4fe1\u3002<\/p>\n\n\n\n<p><strong>\u534f\u8c03\u662f\u81f3\u5173\u91cd\u8981\u7684<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6d88\u8d39\u8005\u7ebf\u7a0b<\/strong>\u5fc5\u987b\u5728<strong>\u751f\u4ea7\u8005\u7ebf\u7a0b<\/strong>\u4ea4\u4ed8\u6570\u636e\u4e4b\u540e\u624d\u80fd\u68c0\u7d22\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u751f\u4ea7\u8005\u7ebf\u7a0b<\/strong>\u5fc5\u987b\u5728<strong>\u6d88\u8d39\u8005\u7ebf\u7a0b<\/strong>\u68c0\u7d22\u5b8c\u65e7\u6570\u636e\u4e4b\u524d\uff0c\u4e0d\u80fd\u4ea4\u4ed8\u65b0\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff08Immutable Object\uff09<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u4e00\u4e2a\u5bf9\u8c61\u7684\u72b6\u6001\u5728\u6784\u9020\u4e4b\u540e<strong>\u4e0d\u80fd\u66f4\u6539<\/strong>\uff0c\u90a3\u4e48\u8be5\u5bf9\u8c61\u88ab\u8ba4\u4e3a\u662f\u4e0d\u53ef\u53d8\u7684\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f9d\u8d56\u4e0d\u53ef\u53d8\u5bf9\u8c61\u88ab\u5e7f\u6cdb\u8ba4\u4e3a\u662f\u7f16\u5199\u7b80\u5355\u3001\u53ef\u9760\u4ee3\u7801\u7684\u4e00\u79cd\u6709\u6548\u7b56\u7565\u3002<\/li>\n\n\n\n<li>\u5de7\u5999\u7684\u907f\u514d\u4e86\u7ebf\u7a0b\u5e72\u6d89\uff08\u4e24\u4e2a\u7ebf\u7a0b\u90fd\u5728\u5199W\/W\uff09\uff0c\u5185\u5b58\u4e0d\u4e00\u81f4\uff08\u4e00\u4e2a\u5728\u5199\u4e00\u4e2a\u5728\u8bfbW\/R\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u4e0d\u53ef\u53d8\u5bf9\u8c61\u5728\u5e76\u53d1\u5e94\u7528\u4e2d\u7279\u522b\u6709\u7528<\/strong>\uff1a\u4e0d\u53ef\u53d8\u5bf9\u8c61\u7684\u72b6\u6001\u4e00\u65e6\u521b\u5efa\u5c31\u4e0d\u80fd\u88ab\u6539\u53d8\uff0c\u8fd9\u4f7f\u5f97\u5b83\u4eec\u975e\u5e38\u9002\u5408\u5728\u5e76\u53d1\u7f16\u7a0b\u4e2d\u4f7f\u7528\uff0c\u56e0\u4e3a\u591a\u4e2a\u7ebf\u7a0b\u53ef\u4ee5\u5b89\u5168\u5730\u8bbf\u95ee\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u800c\u4e0d\u5fc5\u62c5\u5fc3\u6570\u636e\u7ade\u4e89\u6216\u72b6\u6001\u4e0d\u4e00\u81f4\u7684\u95ee\u9898\u3002\u8fd9\u6709\u52a9\u4e8e\u7b80\u5316\u4ee3\u7801\u5e76\u63d0\u9ad8\u53ef\u9760\u6027\u3002<\/p>\n\n\n\n<p><strong>\u7a0b\u5e8f\u5458\u5e38\u5e38\u4e0d\u613f\u4f7f\u7528\u4e0d\u53ef\u53d8\u5bf9\u8c61<\/strong>\uff0c\u56e0\u4e3a\u4ed6\u4eec\u62c5\u5fc3\u521b\u5efa\u65b0\u5bf9\u8c61\u7684<strong>\u6210\u672c<\/strong>\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u5728\u539f\u5730\u66f4\u65b0\u5bf9\u8c61\u3002\u4f46\u5bf9\u8c61\u521b\u5efa\u7684\u5f71\u54cd\u5e38\u5e38\u88ab<strong>\u9ad8\u4f30<\/strong>\uff0c\u56e0\u4e3a<strong>\u5783\u573e\u56de\u6536<\/strong>\u5e26\u6765\u7684\u5f00\u9500\u51cf\u5c11\u548c<strong>\u65e0\u9700\u7f16\u5199\u989d\u5916\u7684\u4ee3\u7801<\/strong>\u6765\u4fdd\u62a4\u53ef\u53d8\u5bf9\u8c61\u4e0d\u53d7\u635f\u574f\uff0c\u4e14\u53ef\u4ee5\u901a\u8fc7\u4e0d\u53ef\u53d8\u5bf9\u8c61\u5e26\u6765\u7684\u4e00\u4e9b\u6548\u7387\u6765<strong>\u62b5\u6d88<\/strong>\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u9ad8\u7ea7\u5e76\u53d1\u7279\u6027<\/h2>\n\n\n\n<p>\u8fd9\u4e9b\u7279\u6027\u5927\u591a\u6570\u90fd\u5728\u65b0\u7684 <code>java.util.concurrent<\/code> \u5305\u4e2d\u5b9e\u73b0\u3002<\/p>\n\n\n\n<p><strong>Lock \u5bf9\u8c61<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Lock<\/code> \u5bf9\u8c61\u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u7075\u6d3b\u7684\u9501\u5b9a\u673a\u5236\u3002\u4e0e\u4f20\u7edf\u7684 <code>synchronized<\/code> \u65b9\u6cd5\u6216\u4ee3\u7801\u5757\u4e0d\u540c\uff0c<code>Lock<\/code> \u63d0\u4f9b\u4e86\u66f4\u591a\u529f\u80fd\uff0c\u4f8b\u5982\u53ef\u91cd\u5165\u9501\u548c\u6761\u4ef6\u9501\uff0c\u5141\u8bb8\u7a0b\u5e8f\u5728\u4e0d\u540c\u6761\u4ef6\u4e0b\u8fdb\u884c\u66f4\u7ec6\u7c92\u5ea6\u7684\u63a7\u5236\u3002\u4f7f\u7528 <code>Lock<\/code>\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u624b\u52a8\u52a0\u9501\u548c\u89e3\u9501\uff0c\u8fd9\u5728\u590d\u6742\u7684\u5e76\u53d1\u573a\u666f\u4e0b\u5c24\u5176\u6709\u7528\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a<code>Lock<\/code> \u63d0\u4f9b\u4e86\u5bf9\u9501\u7684\u7cbe\u7ec6\u63a7\u5236\uff0c\u7279\u522b\u9002\u7528\u4e8e\u9700\u8981\u590d\u6742\u540c\u6b65\u63a7\u5236\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Executors<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Executors<\/code> \u7c7b\u63d0\u4f9b\u4e86\u7ebf\u7a0b\u6c60\u7ba1\u7406\u7684\u5b9e\u73b0\uff0c\u907f\u514d\u4e86\u624b\u52a8\u521b\u5efa\u548c\u9500\u6bc1\u7ebf\u7a0b\u7684\u9ebb\u70e6\uff0c\u5c24\u5176\u9002\u5408\u9700\u8981\u9891\u7e41\u8c03\u5ea6\u4efb\u52a1\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u8fc7 <code>Executors<\/code>\uff0c\u53ef\u4ee5\u521b\u5efa\u56fa\u5b9a\u5927\u5c0f\u7684\u7ebf\u7a0b\u6c60\u3001\u7f13\u5b58\u7ebf\u7a0b\u6c60\u6216\u5355\u7ebf\u7a0b\u6267\u884c\u5668\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u7ebf\u7a0b\u6c60\u53ef\u4ee5\u51cf\u5c11\u7cfb\u7edf\u7684\u5f00\u9500\uff0c\u5e76\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\uff0c\u9002\u5408\u5927\u89c4\u6a21\u5e76\u53d1\u4efb\u52a1\u7ba1\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5e76\u53d1\u96c6\u5408<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5e76\u53d1\u96c6\u5408\u7c7b\uff08\u5982 <code>ConcurrentHashMap<\/code>\uff1a\u901a\u8fc7\u91c7\u7528\u4e86\u5206\u6bb5\u9501\u7684\u8bbe\u8ba1\uff0c\u5141\u8bb8\u591a\u4e2a\u8bfb\u7ebf\u7a0b\u5e76\u53d1\u5730\u8bbf\u95eemap\uff0c\u5e76\u4e14\u5141\u8bb8\u591a\u4e2a\u5199\u7ebf\u7a0b\u5e76\u53d1\u4fee\u6539\u4e0d\u540c\u7684\u6bb5\u3002\uff09\u5141\u8bb8\u591a\u4e2a\u7ebf\u7a0b\u5b89\u5168\u5730\u8bbf\u95ee\u96c6\u5408\uff0c\u65e0\u9700\u624b\u52a8\u6dfb\u52a0\u540c\u6b65\u5757\u3002\u901a\u8fc7\u5206\u6bb5\u9501\u5b9a\u6280\u672f\uff0c\u5b9e\u73b0\u9ad8\u6548\u7684\u5e76\u53d1\u64cd\u4f5c\uff0c\u51cf\u5c11\u4e86\u9501\u7ade\u4e89\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u5e76\u53d1\u96c6\u5408\u9002\u5408\u8bfb\u64cd\u4f5c\u9891\u7e41\u7684\u573a\u666f\uff0c\u907f\u514d\u4e86\u4f20\u7edf\u540c\u6b65\u96c6\u5408\u4e2d\u7684\u6027\u80fd\u74f6\u9888\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u539f\u5b50\u53d8\u91cf<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u539f\u5b50\u53d8\u91cf\uff08\u5982 <code>AtomicInteger<\/code>\uff09\u5141\u8bb8\u7ebf\u7a0b\u5b89\u5168\u7684\u53d8\u91cf\u64cd\u4f5c\uff0c\u65e0\u9700\u663e\u5f0f\u4f7f\u7528\u9501\u3002\u901a\u8fc7\u786c\u4ef6\u652f\u6301\u7684\u539f\u5b50\u64cd\u4f5c\uff08\u4f8b\u5982 CAS \u64cd\u4f5c\uff09\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u5b89\u5168\u4fee\u6539\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a\u539f\u5b50\u53d8\u91cf\u5728\u591a\u7ebf\u7a0b\u4e0b\u63d0\u4f9b\u9ad8\u6548\u3001\u65e0\u9501\u7684\u64cd\u4f5c\uff0c\u51cf\u5c11\u4e86\u9501\u7684\u5f00\u9500\uff0c\u9002\u5408\u7b80\u5355\u7684\u9012\u589e\u3001\u9012\u51cf\u64cd\u4f5c\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>ThreadLocalRandom<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ThreadLocalRandom<\/code> \u63d0\u4f9b\u4e86\u4e00\u79cd\u6bcf\u4e2a\u7ebf\u7a0b\u72ec\u7acb\u751f\u6210\u968f\u673a\u6570\u7684\u65b9\u5f0f\uff0c\u907f\u514d\u4e86\u4f20\u7edf <code>Random<\/code> \u7c7b\u5728\u591a\u7ebf\u7a0b\u4e0b\u7684\u7ade\u4e89\u95ee\u9898\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u7528<\/strong>\uff1a<code>ThreadLocalRandom<\/code> \u901a\u8fc7\u4e3a\u6bcf\u4e2a\u7ebf\u7a0b\u5355\u72ec\u5206\u914d\u968f\u673a\u6570\u751f\u6210\u5668\uff0c\u89e3\u51b3\u4e86\u591a\u7ebf\u7a0b\u968f\u673a\u6570\u751f\u6210\u4e2d\u7684\u6027\u80fd\u74f6\u9888\u95ee\u9898\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Lock<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9501\u5bf9\u8c61\u7684\u5de5\u4f5c\u65b9\u5f0f\u4e0e\u540c\u6b65\u4ee3\u7801\u4e2d\u4f7f\u7528\u7684\u9690\u5f0f\u9501\u975e\u5e38\u76f8\u4f3c\u3002\n<ul class=\"wp-block-list\">\n<li>\u4e0e\u9690\u5f0f\u9501\u4e00\u6837\uff0c\u4e00\u6b21\u53ea\u6709\u4e00\u4e2a\u7ebf\u7a0b\u53ef\u4ee5\u62e5\u6709\u4e00\u4e2a\u9501\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li>\u9501\u5bf9\u8c61\u8fd8\u652f\u6301 <code>wait\/notify<\/code> \u673a\u5236\uff0c\u901a\u8fc7\u5b83\u4eec\u5173\u8054\u7684 <code>Condition<\/code> \u5bf9\u8c61\u6765\u5b9e\u73b0\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u9501\u5bf9\u8c61\u76f8\u5bf9\u4e8e\u9690\u5f0f\u9501\u7684\u6700\u5927\u4f18\u52bf\u662f\u80fd\u591f\u5728\u5c1d\u8bd5\u83b7\u53d6\u9501\u5931\u8d25\u65f6\u9000\u51fa\u3002\n<ul class=\"wp-block-list\">\n<li><code>tryLock<\/code> \u65b9\u6cd5\u5728\u9501\u4e0d\u53ef\u7528\u65f6\u7acb\u5373\u9000\u51fa\uff0c\u6216\u8005\u5728\u8d85\u65f6\u4e4b\u524d\u9000\u51fa\uff08\u5982\u679c\u6307\u5b9a\u4e86\u8d85\u65f6\u65f6\u95f4\uff09\u3002<\/li>\n\n\n\n<li><code>lockInterruptibly<\/code> \u65b9\u6cd5\u5728\u53e6\u4e00\u4e2a\u7ebf\u7a0b\u53d1\u9001\u4e2d\u65ad\u4fe1\u53f7\u65f6\u9000\u51fa\uff0c\u524d\u63d0\u662f\u9501\u5c1a\u672a\u83b7\u53d6\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Executors<\/strong><\/h2>\n\n\n\n<p><strong>\u5206\u79bb\u7ebf\u7a0b\u7ba1\u7406\u4e0e\u4efb\u52a1\u6267\u884c\uff1a<\/strong>\u5728\u5c0f\u89c4\u6a21\u7a0b\u5e8f\u4e2d\uff0c\u4efb\u52a1\u548c\u7ebf\u7a0b\u4e4b\u95f4\u7684\u7d27\u5bc6\u8026\u5408\u662f\u5e38\u89c1\u4e14\u53ef\u63a5\u53d7\u7684\u3002\u7136\u800c\uff0c\u5728\u5927\u578b\u5e94\u7528\u7a0b\u5e8f\u4e2d\uff0c\u5c06\u7ebf\u7a0b\u7684\u521b\u5efa\u548c\u7ba1\u7406\u72ec\u7acb\u51fa\u6765\u80fd\u591f\u63d0\u9ad8\u4ee3\u7801\u7684\u53ef\u7ef4\u62a4\u6027\u4e0e\u6269\u5c55\u6027\u3002<\/p>\n\n\n\n<p><strong>\u6267\u884c\u5668\u7684\u4f5c\u7528\uff1a<\/strong>\u6267\u884c\u5668\u662f\u4e00\u79cd\u5de5\u5177\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u4ee5\u66f4\u7075\u6d3b\u7684\u65b9\u5f0f\u7ba1\u7406\u7ebf\u7a0b\uff0c\u907f\u514d\u663e\u5f0f\u521b\u5efa\u548c\u63a7\u5236\u7ebf\u7a0b\u3002\u901a\u8fc7\u4f7f\u7528 Executor \u63a5\u53e3\u548c\u5b9e\u73b0\uff0c\u6bd4\u5982\u7ebf\u7a0b\u6c60\uff08Thread Pools\uff09\uff0c\u7cfb\u7edf\u53ef\u4ee5\u6709\u6548\u5730\u7ba1\u7406\u591a\u4e2a\u7ebf\u7a0b\uff0c\u800c Fork\/Join \u5219\u53ef\u4ee5\u5229\u7528\u591a\u4e2a\u5904\u7406\u5668\u6765\u52a0\u901f\u4efb\u52a1\u7684\u5e76\u884c\u5904\u7406\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ebf\u7a0b\u6c60<\/h2>\n\n\n\n<p>\u5de5\u4f5c\u7ebf\u7a0b\uff08Worker Threads\uff09\uff1a\u7ebf\u7a0b\u6c60\u4e2d\u7684\u7ebf\u7a0b\u72ec\u7acb\u4e8e\u4efb\u52a1\uff08Runnable \u6216 Callable\uff09\uff0c\u7528\u4e8e\u6267\u884c\u591a\u4e2a\u4efb\u52a1\u3002\u4f7f\u7528\u5de5\u4f5c\u7ebf\u7a0b\u53ef\u4ee5\u51cf\u5c11\u7ebf\u7a0b\u9891\u7e41\u521b\u5efa\u548c\u9500\u6bc1\u5e26\u6765\u7684\u5f00\u9500\uff0c\u63d0\u9ad8\u7cfb\u7edf\u6027\u80fd\u3002<\/p>\n\n\n\n<p>\u56fa\u5b9a\u7ebf\u7a0b\u6c60\uff08Fixed Thread Pool\uff09\uff1a\u4e00\u79cd\u7ebf\u7a0b\u6570\u91cf\u56fa\u5b9a\u7684\u7ebf\u7a0b\u6c60\uff0c\u901a\u8fc7 Executors.newFixedThreadPool \u65b9\u6cd5\u521b\u5efa\u3002\u56fa\u5b9a\u7ebf\u7a0b\u6c60\u7684\u4f18\u52bf\u662f\u5373\u4f7f\u4efb\u52a1\u91cf\u589e\u52a0\uff0c\u5b83\u4e5f\u80fd\u901a\u8fc7\u56fa\u5b9a\u6570\u91cf\u7684\u7ebf\u7a0b\u7a33\u5b9a\u8fd0\u884c\uff0c\u907f\u514d\u6027\u80fd\u5927\u5e45\u4e0b\u964d\uff0c\u786e\u4fdd\u7cfb\u7edf\u201c\u4f18\u96c5\u9000\u5316\u201d\u3002<\/p>\n\n\n\n<p>\u5176\u4ed6\u7ebf\u7a0b\u6c60\u7c7b\u578b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CachedThreadPool\uff1a\u52a8\u6001\u6269\u5c55\u7684\u7ebf\u7a0b\u6c60\uff0c\u9002\u5408\u5927\u91cf\u77ed\u671f\u4efb\u52a1\u3002<\/li>\n\n\n\n<li>SingleThreadExecutor\uff1a\u5355\u7ebf\u7a0b\u6267\u884c\u5668\uff0c\u4fdd\u8bc1\u4efb\u52a1\u9010\u4e2a\u6267\u884c\uff0c\u9002\u5408\u4f9d\u6b21\u5904\u7406\u4efb\u52a1\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u521b\u5efa\u4f7f\u7528\u56fa\u5b9a\u7ebf\u7a0b\u6c60\u7684\u6267\u884c\u5668\u7684\u7b80\u5355\u65b9\u6cd5\u662f\u8c03\u7528 java.util.concurrent.Executors \u4e2d \u7684 newFixedThreadPool \u5de5\u5382\u65b9\u6cd5\uff1b\u6b64\u7c7b\u8fd8\u63d0\u4f9b\u4ee5\u4e0b\u5de5\u5382\u65b9\u6cd5\uff1a newCachedThreadPool \u65b9\u6cd5\u521b\u5efa\u5177\u6709 \u53ef\u6269\u5c55\u7ebf\u7a0b\u6c60\u7684\u6267\u884c\u5668\u3002\u6b64\u6267\u884c\u5668\u9002\u7528\u4e8e\u542f\u52a8\u8bb8\u591a\u77ed\u671f\u4efb\u52a1\u7684\u5e94\u7528\u7a0b \u5e8f\u3002 newSingleThreadExecutor \u65b9\u6cd5\u521b\u5efa\u4e00\u4e2a\u6267\u884c\u5668\uff0c\u4e00\u6b21\u6267\u884c\u4e00\u4e2a\u4efb\u52a1\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fork\/Join<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fork\/Join \u662f\u4e00\u79cd <code>ExecutorService<\/code> \u7684\u5b9e\u73b0\uff0c\u8bbe\u8ba1\u7528\u4e8e\u53ef\u4ee5\u9012\u5f52\u62c6\u5206\u4e3a\u8f83\u5c0f\u4efb\u52a1\u7684\u5de5\u4f5c\u8d1f\u8f7d\u3002<\/li>\n\n\n\n<li>\u76ee\u6807\u662f\u5229\u7528\u7cfb\u7edf\u7684\u6240\u6709\u5904\u7406\u5668\uff0c\u6700\u5927\u5316\u7a0b\u5e8f\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Fork\/Join \u5de5\u4f5c\u65b9\u5f0f<\/strong>\uff1a<\/p>\n\n\n\n<p>\u5de5\u4f5c\u6d41\u7a0b\u7c7b\u4f3c\u4e8e\uff1a\u5982\u679c\u4efb\u52a1\u8db3\u591f\u5c0f\uff0c\u76f4\u63a5\u6267\u884c\uff0c\u5426\u5219\u5c06\u4efb\u52a1\u62c6\u5206\u4e3a\u4e24\u90e8\u5206\uff0c\u5206\u522b\u6267\u884c\u5e76\u7b49\u5f85\u7ed3\u679c\u3002\u8fd9\u79cd\u65b9\u5f0f\u975e\u5e38\u9002\u5408\u5e76\u884c\u5904\u7406\u590d\u6742\u4efb\u52a1\uff0c\u5c24\u5176\u5728\u591a\u5904\u7406\u5668\u7cfb\u7edf\u4e2d\u53ef\u4ee5\u663e\u8457\u63d0\u5347\u6027\u80fd\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if (my portion of the work is small enough) \n    do the work directly \nelse \n    split my work into two pieces \n    invoke the two pieces and wait for the results <\/code><\/pre>\n\n\n\n<p><strong>Fork\/Join \u6846\u67b6\u7684\u4ee3\u7801\u5b9e\u73b0<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u901a\u8fc7 ForkJoinTask \u7684\u5b50\u7c7b\u5b9e\u73b0\uff0c\u901a\u5e38\u4f7f\u7528 RecursiveTask\uff08\u53ef\u4ee5\u8fd4\u56de\u7ed3\u679c\uff09\u6216\u8005 RecursiveAction\uff08\u65e0\u8fd4\u56de\u503c\uff09\u6765\u5904\u7406\u4efb\u52a1\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b &#8211; \u56fe\u50cf\u6a21\u7cca\u5904\u7406<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5904\u7406\u56fe\u50cf\u65f6\uff0c\u6bcf\u4e2a\u50cf\u7d20\u7684\u989c\u8272\u503c\u901a\u8fc7\u5e73\u5747\u5468\u56f4\u50cf\u7d20\u503c\u6765\u6a21\u7cca\u5316\u3002<\/li>\n\n\n\n<li>\u7531\u4e8e\u56fe\u50cf\u662f\u4e00\u7ef4\u6216\u4e8c\u7ef4\u7684\u5927\u6570\u7ec4\uff0c\u8fd9\u4e2a\u8fc7\u7a0b\u8017\u65f6\u8f83\u957f\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528 Fork\/Join \u6846\u67b6\u53ef\u4ee5\u5e76\u884c\u5904\u7406\u6bcf\u4e2a\u50cf\u7d20\uff0c\u4ece\u800c\u663e\u8457\u51cf\u5c11\u56fe\u50cf\u5904\u7406\u7684\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u865a\u62df\u7ebf\u7a0b<\/h2>\n\n\n\n<p>\u865a\u62df\u7ebf\u7a0b\u662f\u8f7b\u91cf\u7ea7\u7ebf\u7a0b\uff0c\u53ef\u4ee5\u51cf\u5c11\u7f16\u5199\u3001\u7ef4\u62a4\u548c\u8c03\u8bd5\u9ad8\u541e\u5410\u91cf\u5e76\u53d1\u5e94\u7528\u7a0b\u5e8f\u7684\u5de5\u4f5c\u91cf\u3002\u66f4\u52a0\u8f7b\u91cf\u5316\uff0c\u6bd4\u5982\u5728\u88abIO\u963b\u585e\u65f6\uff0c\u90a3\u4e48\u5c31\u628a\u7ebf\u7a0b\u89e3\u7ed1\uff1b\u7b49IO\u7ed3\u675f\u65f6\u518d\u7ed1\u5b9a\u7ebf\u7a0b\uff0c\u4f46\u4e0d\u4e00\u5b9a\u662f\u539f\u5148\u7684\u7ebf\u7a0b\u3002\u4f46\u5bf9\u4e8e\u957f\u65f6\u95f4\u5360\u7528cpu\u7684\u4efb\u52a1\u4e0d\u53cb\u597d\u3002<\/p>\n\n\n\n<p>\u5e73\u53f0\u7ebf\u7a0b\uff08Platform Thread\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>\uff1a\u5e73\u53f0\u7ebf\u7a0b\u662f\u4e00\u4e2a\u56f4\u7ed5\u64cd\u4f5c\u7cfb\u7edf\uff08OS\uff09\u7ebf\u7a0b\u7684\u8f7b\u91cf\u7ea7\u5c01\u88c5\u7684Java\u7ebf\u7a0b\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a<\/li>\n\n\n\n<li>\u5b83\u5728\u5e95\u5c42\u7684\u64cd\u4f5c\u7cfb\u7edf\u7ebf\u7a0b\u4e0a\u8fd0\u884cJava\u4ee3\u7801\u3002<\/li>\n\n\n\n<li>\u5728\u5176\u6574\u4e2a\u751f\u547d\u5468\u671f\u4e2d\uff0c\u5e73\u53f0\u7ebf\u7a0b\u59cb\u7ec8\u5360\u7528\u4e00\u4e2aOS\u7ebf\u7a0b\u3002<\/li>\n\n\n\n<li>\u53ef\u7528\u7684\u64cd\u4f5c\u7cfb\u7edf\u7ebf\u7a0b\u6570\u91cf\u51b3\u5b9a\u4e86\u5e73\u53f0\u7ebf\u7a0b\u7684\u6570\u91cf\u9650\u5236\u3002<\/li>\n\n\n\n<li>\u5e73\u53f0\u7ebf\u7a0b\u901a\u5e38\u5177\u6709\u8f83\u5927\u7684\u7ebf\u7a0b\u6808\uff08\u5b58\u50a8\u7ebf\u7a0b\u6267\u884c\u72b6\u6001\u7684\u5185\u5b58\uff09\u4ee5\u53ca\u5176\u4ed6\u7531\u64cd\u4f5c\u7cfb\u7edf\u7ba1\u7406\u7684\u8d44\u6e90\u3002<\/li>\n\n\n\n<li>\u652f\u6301<strong>\u7ebf\u7a0b\u5c40\u90e8\u53d8\u91cf<\/strong>\uff08\u5373\u7279\u5b9a\u4e8e\u67d0\u4e00\u7ebf\u7a0b\u7684\u53d8\u91cf\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f7f\u7528\u573a\u666f<\/strong>\uff1a\u9002\u7528\u4e8e\u8fd0\u884c\u6240\u6709\u7c7b\u578b\u7684\u4efb\u52a1\uff0c\u4f46\u7531\u4e8e\u53d7\u9650\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u7ebf\u7a0b\u6570\u91cf\uff0c\u5e73\u53f0\u7ebf\u7a0b\u662f\u4e00\u79cd\u6709\u9650\u8d44\u6e90\u3002<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e03\u7ae0<\/h1>\n\n\n\n<p>\u56de\u987eServlet\u548cTomcat<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Servlet\u662fJava\u7f16\u5199\u7684\u670d\u52a1\u5668\u7aef\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5904\u7406Web\u8bf7\u6c42\u548c\u751f\u6210Web\u54cd\u5e94\u3002<\/li>\n\n\n\n<li>Tomcat\u662f\u4e00\u4e2a\u5f00\u6e90\u7684Java Servlet\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u79f0\u4e3aWeb\u670d\u52a1\u5668\uff0c\u7528\u4e8e\u6258\u7ba1\u548c\u8fd0\u884cServlet\u548cJSP\u5e94\u7528\u7a0b\u5e8f\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e3a\u4ec0\u4e48\u9700\u8981\u7f13\u5b58<\/h2>\n\n\n\n<p>Tomcat\u548c\u6570\u636e\u5e93\u90fd\u4e0d\u4e00\u5b9a\u662f\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u9762\uff0c\u53ef\u80fd\u662f\u5206\u5e03\u5f0f\u7684\uff0c\u53ef\u80fd\u662f\u591a\u53f0\u673a\u5668\uff0c\u53ef\u80fd\u662f\u591a\u4e2a Tomcat\uff0c\u53ef\u80fd\u662f\u591a\u4e2a\u6570\u636e\u5e93\u3002\u5982\u679c\u7edd\u5927\u591a\u6570\u60c5\u51b5\u90fd\u662f\u53ea\u8bfb\u7684\uff0c\u540e\u7aef\u548c\u6570\u636e\u5e93\u4e4b\u95f4\u7684\u4ea4\u4e92\uff0c\u7f51\u7edc\u5f00\u9500\u5f88\u5927\uff0c\u6b64\u65f6\u5c31\u76f4\u63a5\u628a\u6570\u636e\u7f13\u5b58\u5230Tomcat\u90a3\u91cc\uff0c\u8282\u7701\u4e86\u5e26\u5bbd\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Q\uff1a\u6570\u636e\u5e93\u91cc\u9762\u6709buffer\u3001ORM\u6620\u5c04\u91cc\u9762\u4e5f\u6709buffer\u4f5c\u4e3a\u7f13\u51b2\u533a\uff0c\u90a3\u4e3a\u4ec0\u4e48\u8981\u7f13\u5b58\u5462\uff1f<\/li>\n\n\n\n<li>A\uff1a\u4e0a\u9762\u8bf4\u7684\u8fd9\u4e24\u4e2a\u7f13\u5b58\u90fd\u4e0d\u662f\u4f60\u53ef\u4ee5\u63a7\u5236\u7684\uff0c\u5b8c\u5168\u53d6\u51b3\u4e8e\u4ed6\u4eec\u81ea\u8eab\uff0c\u6211\u4eec\u5f00\u53d1\u8005\u7ba1\u4e0d\u4e86\u3002\u800c\u4f7f\u7528 redis\uff0c\u6211\u5c31\u53ef\u4ee5\u81ea\u5df1\u7684\u63a7\u5236\u7f13\u5b58\uff01<\/li>\n<\/ul>\n\n\n\n<p>\u4e8b\u5b9e\u4e0a\uff0c\u6211\u4eec\u540e\u53f0\u7684\u6570\u636e\u5e93\u672a\u5fc5\u662f\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff01\u6211\u4eec\u53ef\u80fd\u8fd8\u641e\u4e86\u6587\u4ef6\u7cfb\u7edf\u3001mongo\u2026\u2026\u6700\u7ec8\u5b83\u4eec\u8fd8\u662f\u8868\u793a\u4e3a\u5bf9\u8c61\uff0c\u7406\u8bba\u4e0a\u6765\u8bf4\u5b83\u4eec\u4e5f\u5e94\u8be5\u8fdb\u7f13\u5b58\uff01\u4f46\u662f\u50cfspring jpa\u91cc\u9762\u7684\u7f13\u5b58\uff0c\u6216\u8005hanibatis\u91cc\u9762\u7684\u7f13\u5b58\uff0c\u628a\u6570\u636e\u5e93\u91cc\u9762\u6293\u53d6\u8fc7\u6765\u7684\u6570\u636e\u5df2\u7ecf\u5f04\u6210\u5bf9\u8c61\u7f13\u5b58\u4e86\uff0c\u5b83\u4e5f\u4ec5\u4ec5\u9488\u5bf9\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff01\uff08\u8fd8\u6709\uff0c\u6211\u628a\u4e1c\u897f\u5199\u5230redis\u91cc\u9762\uff0c\u5199\u5165\u7684\u662f\u5df2\u7ec4\u88c5\u597d\u7684\u5bf9\u8c61\uff1b\u539f\u59cb\u6570\u636e\u7ec4\u88c5\u4e3a\u5bf9\u8c61\u4e5f\u9700\u8981\u6d88\u8017\u5462\uff01\u6240\u4ee5\u8fd9\u4e5f\u662fredis\u8282\u7701\u7684\u5730\u65b9\uff09<\/p>\n\n\n\n<p>\u5047\u5982\u6211\u8fd8\u6709\u4ece\u6587\u4ef6\u7cfb\u7edf\u91cc\u9762\u8bfb\u53d6\u7684\uff0cnosql\u6570\u636e\u5e93\u91cc\u9762\u7684\u8bfb\u53d6\u7684\u4e1c\u897f\u3001\u52a8\u6001\u751f\u6210\u7684\u7f51\u9875\u3001\u56fe\u7247\u90fd\u53ef\u4ee5 \uff0c \u6240\u4ee5\u4f7f\u7528redis\u5c31\u90fd\u53ef\u4ee5\u5b58\u50a8\uff0credis\u5b8c\u5168\u5728\u5f00\u53d1\u8005\u7684\u63a7\u5236\u4e0b\u3002\u6bd4\u5982\u53cc\u5341\u4e00\u7684\u65f6\u5019\uff0c\u6211\u53ef\u4ee5\u8d81\u7528\u6237\u8bbf\u95ee\u91cf\u5c11\u7684\u65f6\u5019\u63d0\u524d\u628a\u53ef\u80fd\u5356\u7206\u7684\u7f51\u9875\u7f13\u5b58\u51fa\u6765\uff0c\u8fd9\u6837\u63d0\u9ad8\u8bbf\u95ee\u7684\u901f\u5ea6\u3002 redis\u751a\u81f3\u8fd8\u53ef\u4ee5\u4f5c\u4e3a\u6d88\u606f\u4e2d\u95f4\u4ef6\uff0c\u7c7b\u4f3ckafka\u7684topic\uff0c\u4ed6\u548c\u5361\u592b\u5361\u7684\u5dee\u522b\u662fredis\u91cc\u9762\u7684\u4e1c\u897f\u5728\u5185\u5b58\u91cc\u9762\u3002<\/p>\n\n\n\n<p>\u6570\u636e\u5e93\u670d\u52a1\u5668\u5bf9\u4e8e\u5185\u5b58\u8981\u6c42\u6bd4\u8f83\u9ad8\uff0c\u800cTomcat\u670d\u52a1\u5668\u4e3b\u8981\u662fCPU\u5bc6\u96c6\u578b\uff08\u56e0\u4e3a\u8981\u5904\u7406\u4e00\u5806\u8bf7\u6c42\uff09\uff1b\u6240 \u4ee5\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u53ea\u8bfb\u7684\u6570\u636e\uff0c\u6211\u4ece\u6570\u636e\u5e93\u62ff\u5230\u4e4b\u540e\u5c31\u7f13\u5b58\u5728Tomcat\u672c\u5730\uff01<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Memory Caching<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Memcached <\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u7b80\u4ecb<\/h4>\n\n\n\n<p>Memcached \u662f\u4e00\u4e2a\u9ad8\u6548\u7684\u7f13\u5b58\u7cfb\u7edf\uff0c\u5e2e\u52a9\u63d0\u9ad8\u7f51\u7ad9\u7684\u6027\u80fd\u3002\u5b83\u5b58\u50a8\u4e00\u4e9b\u6570\u636e\u5728\u5185\u5b58\u4e2d\uff0c\u4ee5\u51cf\u8f7b\u6570\u636e\u5e93\u7684\u8d1f\u62c5\u3002\u8fd9\u4e2a\u7cfb\u7edf\u6613\u4e8e\u4f7f\u7528\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9ad8\u6027\u80fd<\/strong>\uff1aMemcached \u80fd\u591f\u5feb\u901f\u5904\u7406\u6570\u636e\u8bf7\u6c42\uff0c\u9002\u5408\u9ad8\u6d41\u91cf\u7684\u7f51\u7ad9\u3002<\/li>\n\n\n\n<li><strong>\u5206\u5e03\u5f0f<\/strong>\uff1a\u5b83\u53ef\u4ee5\u5728\u591a\u53f0\u670d\u52a1\u5668\u4e0a\u8fd0\u884c\uff0c\u4fbf\u4e8e\u6269\u5c55\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5b58\u50a8<\/strong>\uff1a\u6570\u636e\u88ab\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\uff0c\u8bfb\u53d6\u901f\u5ea6\u5f88\u5feb\uff0c\u9002\u5408\u9891\u7e41\u8bbf\u95ee\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u7b80\u5355\u7684\u952e\u503c\u5b58\u50a8<\/strong>\uff1a\u6570\u636e\u4ee5<strong>\u952e\u503c\u5bf9<\/strong>\u7684\u5f62\u5f0f\u5b58\u50a8\uff0c\u65b9\u4fbf\u5feb\u901f\u67e5\u627e\u548c\u4f7f\u7528\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u539f\u7406\uff1a\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\u7684KV<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-170.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"615\" height=\"488\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-170.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-932\" style=\"width:573px;height:auto\"  sizes=\"auto, (max-width: 615px) 100vw, 615px\" \/><\/div><\/figure>\n\n\n\n<p>memcached\u91cc\u9762\uff0c\u5e94\u8be5\u4e3b\u8981\u653e\u7f6e\u8981\u7ecf\u5e38\u8bfb\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u66f4\u5feb\u8bfb\u5230\uff0c\u5199\u6765\u8bf4\u610f\u4e49\u4e0d\u5927<\/p>\n\n\n\n<p>\u4f7f\u7528Caching\u548c\u4e0d\u4f7f\u7528Caching\u65f6\u95f4\u5bf9\u6bd4\uff0c\u4f7f\u7528\u540e\u7b2c\u4e8c\u6b21\u53ca\u4ee5\u540e\u67e5\u8be2\u663e\u8457\u52a0\u5feb<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5185\u5b58\u7ba1\u7406<\/h4>\n\n\n\n<p>\u5728\u6ca1\u6709\u4f7f\u7528 Memcached \u7684\u60c5\u51b5\u4e0b\uff0c\u6bcf\u4e2a Web \u670d\u52a1\u5668\u7684\u7f13\u5b58\u5185\u5b58\u662f\u72ec\u7acb\u7684\uff0c\u5206\u522b\u4e3a 64MB\uff0c\u603b\u7f13\u5b58\u4e3a 64MB\u3002<br>\u4f7f\u7528 Memcached \u540e\uff0c\u5404\u4e2a\u670d\u52a1\u5668\u7684\u5185\u5b58\u53ef\u4ee5\u7ec4\u5408\u5728\u4e00\u8d77\uff0c\u5f62\u6210\u4e00\u4e2a 128MB \u7684\u603b\u7f13\u5b58\u6c60\u3002Memcached \u53ef\u4ee5\u901a\u8fc7\u5206\u5e03\u5f0f\u7f13\u5b58\u4f7f\u5404\u4e2a\u8282\u70b9\u5171\u4eab\u5185\u5b58\uff0c\u4ece\u800c\u66f4\u597d\u5730\u5229\u7528\u5185\u5b58\u8d44\u6e90\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-173.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"404\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-173.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-939\"  sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><\/div><\/figure>\n\n\n\n<p>Memcached \u7684 Slab \u5206\u914d\u673a\u5236\uff0c\u5b83\u901a\u8fc7\u5c06\u5185\u5b58\u5212\u5206\u6210\u591a\u4e2a\u201cSlab Class\u201d\u6765\u7ba1\u7406\u4e0d\u540c\u5927\u5c0f\u7684\u6570\u636e\u3002\u6bcf\u4e2a Slab Class \u5305\u542b\u591a\u4e2a Chunk\uff0c\u6bcf\u4e2a Chunk \u7684\u5927\u5c0f\u662f\u76f8\u540c\u7684\u3002<br>\u6bcf\u4e2a Slab Class \u5bf9\u5e94\u4e0d\u540c\u7684 Chunk \u5927\u5c0f\uff0c\u6bd4\u5982\u56fe\u7247\u4e2d\u7684 Slab Class 1 \u7684 Chunk \u5927\u5c0f\u662f 88 \u5b57\u8282\uff0cSlab Class 2 \u662f 112 \u5b57\u8282\uff0c\u4f9d\u6b21\u7c7b\u63a8\u3002<br>\u4f8b\u5982\u5f53\u5b58\u50a8\u4e00\u4e2a 100 \u5b57\u8282\u7684\u9879\u76ee\u65f6\uff0cMemcached \u4f1a\u9009\u62e9\u4e00\u4e2a\u6700\u9002\u5408\u7684 Slab Class\uff08\u6bd4\u5982\u5305\u542b 112 \u5b57\u8282 Chunk \u7684 Slab Class 2\uff09\u6765\u5b58\u50a8\u8be5\u6570\u636e\u9879\u3002\u5f53\u7136\u5bf9\u4e8evarchar\u8fd8\u662f\u4e24\u7aef\u653e\uff0c\u56e0\u4e3a\u4e0d\u77e5\u9053\u6570\u636e\u591a\u957f\u3002<\/p>\n\n\n\n<p>\u5f53\u5b58\u6ee1\u4e4b\u540e\uff0c\u4f1a\u653e\u5728\u786c\u76d8\u91cc\u9762\uff08\u4e00\u822c\u662f\u5728\u670d\u52a1\u5668\u786c\u76d8\uff09\uff0c\u76f8\u6bd4\u4e8e\u4ece\u6570\u636e\u5e93\u8bfb\u8fd8\u662f\u5feb\u4e00\u4e9b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-174.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1005\" height=\"517\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-174.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-940\"  sizes=\"auto, (max-width: 1005px) 100vw, 1005px\" \/><\/div><\/figure>\n\n\n\n<p>\u8282\u70b9\u4e4b\u95f4\u4e0d\u9700\u8981\u901a\u4fe1\uff0c\u6267\u884c\u4ee3\u7801\u65f6\u5019\u4f1a\u81ea\u52a8\u53d6\u8282\u70b9\u5bfb\u627e\uff0c\u89c1\u4e00\u81f4\u6027\u54c8\u5e0c<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e00\u81f4\u6027\u54c8\u5e0c\uff08Consistent Hashing\uff09<\/h2>\n\n\n\n<p>\u4e00\u81f4\u6027\u54c8\u5e0c\u662f\u4e00\u79cd\u7528\u4e8e\u5206\u5e03\u5f0f\u7f13\u5b58\u7cfb\u7edf\u7684\u6570\u636e\u5206\u5e03\u7b97\u6cd5\u3002\u5b83\u901a\u8fc7\u5c06\u8282\u70b9\u548c\u6570\u636e\u9879\u6620\u5c04\u5230\u4e00\u4e2a\u54c8\u5e0c\u73af\u4e0a\uff0c\u4f7f\u5f97\u5f53\u8282\u70b9\u53d1\u751f\u589e\u51cf\u65f6\uff0c\u4ec5\u4f1a\u5f71\u54cd\u4e00\u5c0f\u90e8\u5206\u7684\u6570\u636e\uff0c\u4ece\u800c\u5b9e\u73b0\u9ad8\u6548\u7684\u6570\u636e\u5206\u914d\u4e0e\u7ba1\u7406\u3002<\/p>\n\n\n\n<p>\u5de5\u4f5c\u539f\u7406<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u54c8\u5e0c\u73af\uff08Hash Ring\uff09<\/strong>\uff1a\u4e00\u81f4\u6027\u54c8\u5e0c\u5c06\u6240\u6709\u7684\u8282\u70b9\u548c\u6570\u636e\u9879\u6839\u636e\u5176\u54c8\u5e0c\u503c\u6620\u5c04\u5230\u4e00\u4e2a\u54c8\u5e0c\u73af\u4e0a\u3002\u54c8\u5e0c\u503c\u7684\u8303\u56f4\u901a\u5e38\u662f <code>[0, 2^32)<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u8282\u70b9\u6620\u5c04<\/strong>\uff1a\u6bcf\u4e2a\u8282\u70b9\uff08\u5982\u7f13\u5b58\u670d\u52a1\u5668\uff09\u5728\u54c8\u5e0c\u73af\u4e0a\u5360\u636e\u7279\u5b9a\u7684\u4f4d\u7f6e\uff0c\u4f4d\u7f6e\u7531\u8282\u70b9\u7684\u54c8\u5e0c\u503c\u51b3\u5b9a\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u9879\u6620\u5c04<\/strong>\uff1a\u6bcf\u4e2a\u6570\u636e\u9879\uff08Key\uff09\u901a\u8fc7\u54c8\u5e0c\u51fd\u6570\u8ba1\u7b97\u51fa\u54c8\u5e0c\u503c\uff0c\u4ece\u800c\u786e\u5b9a\u5728\u54c8\u5e0c\u73af\u4e0a\u7684\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u5b58\u50a8\u89c4\u5219<\/strong>\uff1a\u4e00\u4e2a\u6570\u636e\u9879\u4f1a\u5b58\u50a8\u5728\u201c\u987a\u65f6\u9488\u65b9\u5411\u4e0a\u7684\u7b2c\u4e00\u4e2a\u8282\u70b9\u201d\u4e0a\u3002\u5373\uff0c\u54c8\u5e0c\u503c\u5728\u73af\u4e0a\u987a\u65f6\u9488\u9047\u5230\u7684\u7b2c\u4e00\u4e2a\u8282\u70b9\u5373\u4e3a\u76ee\u6807\u8282\u70b9\u3002<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:44% auto\"><figure class=\"wp-block-media-text__media\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-175.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"552\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-175.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-954 size-full\"  sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/div><\/figure><div class=\"wp-block-media-text__content\">\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-176.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"556\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-176.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-955\" style=\"width:320px;height:auto\"  sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/div><\/figure>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<p>\u7279\u70b9<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u51cf\u5c11\u6570\u636e\u8fc1\u79fb<\/strong>\uff1a\u5728\u8282\u70b9\u589e\u52a0\u6216\u79fb\u9664\u65f6\uff0c\u4ec5\u5f71\u54cd\u73af\u4e0a\u4e0e\u8be5\u8282\u70b9\u76f8\u90bb\u7684\u6570\u636e\u9879\uff0c\u5176\u4ed6\u6570\u636e\u4e0d\u4f1a\u91cd\u65b0\u5206\u914d\uff0c\u907f\u514d\u4e86\u5927\u89c4\u6a21\u7684\u6570\u636e\u8fc1\u79fb\u3002\u8fd9\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u80fd\u591f\u663e\u8457\u63d0\u9ad8\u7cfb\u7edf\u7684\u7a33\u5b9a\u6027\u548c\u6269\u5c55\u6027\u3002<\/li>\n\n\n\n<li><strong>\u8d1f\u8f7d\u5747\u8861<\/strong>\uff1a\u4e00\u81f4\u6027\u54c8\u5e0c\u80fd\u591f\u5c06\u6570\u636e\u5747\u5300\u5730\u5206\u5e03\u5728\u591a\u4e2a\u8282\u70b9\u4e0a\uff0c\u4ece\u800c\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\u3002<\/li>\n\n\n\n<li><strong>\u6269\u5c55\u6027\u5f3a<\/strong>\uff1a\u652f\u6301\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u8282\u70b9\uff0c\u5e76\u4e14\u5f71\u54cd\u8303\u56f4\u5c0f\uff0c\u65b9\u4fbf\u7cfb\u7edf\u7684\u6a2a\u5411\u6269\u5c55\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u56fe\u89e3\u8bf4\u660e<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u521d\u59cb\u72b6\u6001<\/strong>\uff1a\u5de6\u56fe\u5c55\u793a\u4e86\u4e00\u4e2a\u5305\u542b <code>node1<\/code>\u3001<code>node2<\/code>\u3001<code>node3<\/code> \u548c <code>node4<\/code> \u7684\u54c8\u5e0c\u73af\u3002\u6570\u636e\u9879\u6839\u636e\u54c8\u5e0c\u503c\u5728\u73af\u4e0a\u627e\u5230\u6700\u63a5\u8fd1\u7684\u8282\u70b9\u8fdb\u884c\u5b58\u50a8\u3002<\/li>\n\n\n\n<li><strong>\u8282\u70b9\u6dfb\u52a0<\/strong>\uff1a\u53f3\u56fe\u5c55\u793a\u4e86\u589e\u52a0 <code>node5<\/code> \u540e\u7684\u53d8\u5316\u3002\u65b0\u8282\u70b9 <code>node5<\/code> \u52a0\u5165\u540e\uff0c\u4ec5\u5f71\u54cd\u4e86\u90e8\u5206\u6570\u636e\u9879\u7684\u5b58\u50a8\u4f4d\u7f6e\uff08\u4f4d\u4e8e node4 \u548c node2 \u4e4b\u95f4\u7684\u6570\u636e\u9879\uff09\uff0c\u800c\u5176\u4ed6\u6570\u636e\u9879\u7684\u4f4d\u7f6e\u4fdd\u6301\u4e0d\u53d8\u3002\u5220\u9664\u4e5f\u540c\u7406<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Redis<\/h2>\n\n\n\n<p>Redis \u662f\u4e00\u79cd\u88ab\u79f0\u4e3a\u952e\u503c\u5b58\u50a8\uff08Key-Value Store\uff09\u7684\u6570\u636e\u5e93\u7c7b\u578b\uff0c\u901a\u5e38\u5f52\u7c7b\u4e3a NoSQL \u6570\u636e\u5e93\u3002\u952e\u503c\u5b58\u50a8\u7684\u6838\u5fc3\u5728\u4e8e\u5c06\u6570\u636e\uff08\u79f0\u4e3a\u503c\uff09\u5b58\u50a8\u5728\u4e00\u4e2a\u552f\u4e00\u7684\u952e\u4e0b\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5f00\u6e90\u4e0e\u8bb8\u53ef<\/strong>\uff1aRedis \u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u57fa\u4e8e BSD \u8bb8\u53ef\u8bc1\u53d1\u5e03\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u7ea7\u952e\u503c\u5b58\u50a8<\/strong>\uff1a\u4e0e\u5176\u4ed6\u952e\u503c\u5b58\u50a8\u4e0d\u540c\uff0cRedis \u4e0d\u4ec5\u53ef\u4ee5\u5b58\u50a8\u5b57\u7b26\u4e32\u7c7b\u578b\u7684\u503c\uff0c\u8fd8\u652f\u6301\u4e30\u5bcc\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5305\u62ec\uff1a<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u6570\u636e\u7ed3\u6784\u7c7b\u578b<\/strong><\/th><th><strong>\u5305\u542b\u7684\u5185\u5bb9<\/strong><\/th><th><strong>\u7ed3\u6784\u8bfb\/\u5199\u80fd\u529b<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>STRING<\/strong><\/td><td>\u5b57\u7b26\u4e32\u3001\u6574\u6570\u6216\u6d6e\u70b9\u6570\u503c<\/td><td>\u5bf9\u6574\u4e2a\u5b57\u7b26\u4e32\u6216\u90e8\u5206\u5b57\u7b26\u4e32\u8fdb\u884c\u64cd\u4f5c\uff0c\u589e\u52a0\/\u51cf\u5c11\u6574\u6570\u548c\u6d6e\u70b9\u6570\u503c<\/td><\/tr><tr><td><strong>LIST<\/strong><\/td><td>\u5b57\u7b26\u4e32\u7684\u94fe\u8868<\/td><td>\u4ece\u4e24\u7aef\u63a8\u9001\u6216\u5f39\u51fa\u5143\u7d20\uff0c\u6839\u636e\u504f\u79fb\u91cf\u8fdb\u884c\u4fee\u526a\uff0c\u8bfb\u53d6\u5355\u4e2a\u6216\u591a\u4e2a\u5143\u7d20\uff0c\u6309\u503c\u67e5\u627e\u6216\u5220\u9664\u5143\u7d20\uff0c\u8303\u56f4\u67e5\u627e\u8f83\u6162<\/td><\/tr><tr><td><strong>SET<\/strong><\/td><td>\u65e0\u5e8f\u7684\u552f\u4e00\u5b57\u7b26\u4e32\u96c6\u5408<\/td><td>\u6dfb\u52a0\u3001\u83b7\u53d6\u6216\u5220\u9664\u5355\u4e2a\u5143\u7d20\uff0c\u68c0\u67e5\u6210\u5458\u5173\u7cfb\uff0c\u8fdb\u884c\u4ea4\u96c6\u3001\u5e76\u96c6\u3001\u5dee\u96c6\u8fd0\u7b97\uff0c\u83b7\u53d6\u968f\u673a\u5143\u7d20<\/td><\/tr><tr><td><strong>HASH<\/strong><\/td><td>\u65e0\u5e8f\u7684\u952e\u503c\u5bf9\u54c8\u5e0c\u8868<\/td><td>\u6dfb\u52a0\u3001\u83b7\u53d6\u6216\u5220\u9664\u5355\u4e2a\u5143\u7d20\uff0c\u83b7\u53d6\u6574\u4e2a\u54c8\u5e0c\u8868<\/td><\/tr><tr><td><strong>ZSET (Sorted Set)<\/strong><\/td><td>\u6709\u5e8f\u7684\u5b57\u7b26\u4e32\u6210\u5458\u5230\u6d6e\u70b9\u6570\u5206\u6570\u7684\u6620\u5c04\uff0c\u6309\u5206\u6570\u6392\u5e8f<\/td><td>\u6dfb\u52a0\u3001\u83b7\u53d6\u6216\u5220\u9664\u5355\u4e2a\u5143\u7d20\uff0c\u6839\u636e\u5206\u6570\u8303\u56f4\u6216\u6210\u5458\u503c\u83b7\u53d6\u5143\u7d20<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u5185\u5b58\u4e0e\u6301\u4e45\u5316<\/p>\n\n\n\n<p>Redis \u4e3b\u8981\u5728\u5185\u5b58\u4e2d\u5de5\u4f5c\uff0c\u4ee5\u6b64\u6765\u5b9e\u73b0\u51fa\u8272\u7684\u6027\u80fd\u3002\u8fd9\u610f\u5473\u7740\u6570\u636e\u7684\u8bbf\u95ee\u901f\u5ea6\u975e\u5e38\u5feb\u3002\u6839\u636e\u4e0d\u540c\u7684\u5e94\u7528\u9700\u6c42\uff0cRedis \u63d0\u4f9b\u4e86\u591a\u79cd\u6301\u4e45\u5316\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5feb\u7167\uff08Snapshotting\uff09<\/strong>\uff1a\u5b9a\u671f\u5c06\u6570\u636e\u96c6\u5feb\u7167\uff08dump\uff09\u4fdd\u5b58\u5230\u78c1\u76d8\u4e2d\u3002<\/li>\n\n\n\n<li><strong>AOF \u65e5\u5fd7\uff08Append-Only File\uff09<\/strong>\uff1a\u6bcf\u6b21\u6267\u884c\u547d\u4ee4\u65f6\uff0c\u5c06\u5176\u9644\u52a0\u5230\u65e5\u5fd7\u6587\u4ef6\u4e2d\u3002<\/li>\n<\/ol>\n\n\n\n<p>Redis \u652f\u6301\u7b80\u5355\u914d\u7f6e\u7684\u4e3b\u4ece\u590d\u5236\uff08Master-Slave Replication\uff09\uff08\u7f13\u5b58\u600e\u4e48\u4f1a\u6709\u4e3b\u4ece\u5907\u4efd\uff1f\u56e0\u4e3a\u6709\u4eba\u628a\u5b83\u5f53NoSQL\u6570\u636e\u5e93\u7528\u2026\u2026\uff09\uff0c\u5176\u7279\u6027\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5feb\u901f\u975e\u963b\u585e\u7684\u521d\u6b21\u540c\u6b65<\/strong>\uff1a\u4e3b\u8282\u70b9\u4e0e\u4ece\u8282\u70b9\u7684\u521d\u6b21\u6570\u636e\u540c\u6b65\u975e\u5e38\u5feb\u901f\u4e14\u4e0d\u963b\u585e\u3002<\/li>\n\n\n\n<li><strong>\u81ea\u52a8\u91cd\u8fde<\/strong>\uff1a\u5728\u7f51\u7edc\u5206\u88c2\uff08\u5982\u7f51\u7edc\u6545\u969c\uff09\u540e\uff0cRedis \u53ef\u4ee5\u81ea\u52a8\u91cd\u8fde\u5e76\u7ee7\u7eed\u540c\u6b65\u3002<\/li>\n<\/ol>\n\n\n\n<p>Redis\u4e2d\u5e94\u8be5\u653e\u7684\u6709\uff1a1. \u7ecf\u5e38\u7528\u5230\u7684\u4e1c\u897f 2. \u7ecf\u5e38\u6d89\u53ca\u5230\u8bfb\u53d6\u64cd\u4f5c\u7684\uff0c\u800c\u5f88\u5c11\u6d89\u53ca\u5230\u5199\u7684\u64cd\u4f5c\u7684 3. \u4e2d\u95f4\u8ba1\u7b97\u7684\u7ed3\u679c 4. \u7ecf\u5e38\u8981\u5199\u7684\u4e1c\u897f\u4e0d\u8981\u653e\u5165\u7f13\u5b58<\/p>\n\n\n\n<p>\u5e8f\u5217\u5316\uff1a\u4e24\u4e2a\u8fdb\u7a0b\u4e4b\u95f4\u901a\u4fe1\u5f88\u9ebb\u70e6\uff0c\u5bf9\u4e8eTomcat\u548credis\u662f\u4e24\u4e2a\u8fdb\u7a0b\u3002\u8fdb\u7a0b\u95f4\u6240\u8c13\u7684\u901a\u4fe1\u5c31\u662f \u4f20\u8f93\u6570\u636e\uff1b\u6bd4\u5982\u6211\u8981\u4f20\u8f93\u4e00\u4e2aobject\uff0c\u6211\u628a\u5b83\u8f6c\u5316\u4e3a\u4e00\u4e2a\u5b57\u8282\u6570\u7ec4 byte[] \uff0c\u8fd9\u5c31\u662f\u5e8f\u5217\u5316\uff1b\u7136\u540e\u4f60 \u6536\u5230\u4e86\u8fd9\u4e2a\u5b57\u8282\u6570\u7ec4\uff0c\u4f60\u5c31\u628a\u5b83\u53cd\u5e8f\u5217\u5316\uff0c\u5c31\u53d8\u6210\u4e86\u4e00\u4e2aobject\u3002<\/p>\n\n\n\n<p>\u5e94\u7528\u573a\u666f\uff1aRedis \u7531\u4e8e\u5176\u4e30\u5bcc\u7684\u6570\u636e\u7ed3\u6784\u3001\u5185\u5b58\u4e2d\u64cd\u4f5c\u7684\u9ad8\u6027\u80fd\u548c\u6301\u4e45\u5316\u7279\u6027\uff0c\u88ab\u5e7f\u6cdb\u7528\u4e8e\u7f13\u5b58\u3001\u5b9e\u65f6\u5206\u6790\u3001\u6d88\u606f\u961f\u5217\u7b49\u573a\u666f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u540d\u79f0<\/strong><\/th><th><strong>\u7c7b\u578b<\/strong><\/th><th><strong>\u6570\u636e\u5b58\u50a8\u9009\u9879<\/strong><\/th><th><strong>\u67e5\u8be2\u7c7b\u578b<\/strong><\/th><th><strong>\u9644\u52a0\u529f\u80fd<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Redis<\/strong><\/td><td>\u5185\u5b58\u4e2d\u7684\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/td><td>\u5b57\u7b26\u4e32\u3001\u5217\u8868\u3001\u96c6\u5408\u3001\u54c8\u5e0c\u3001\u6709\u5e8f\u96c6\u5408<\/td><td>\u9488\u5bf9\u6bcf\u79cd\u6570\u636e\u7c7b\u578b\u7684\u5e38\u7528\u8bbf\u95ee\u6a21\u5f0f\u547d\u4ee4\u3001\u6279\u91cf\u64cd\u4f5c\u548c\u90e8\u5206\u4e8b\u52a1\u652f\u6301<\/td><td>\u53d1\u5e03\/\u8ba2\u9605\u3001\u4e3b\/\u4ece\u590d\u5236\u3001\u78c1\u76d8\u6301\u4e45\u5316\u3001\u811a\u672c\uff08\u5b58\u50a8\u8fc7\u7a0b\uff09<\/td><\/tr><tr><td><strong>Memcached<\/strong><\/td><td>\u5185\u5b58\u4e2d\u7684\u952e\u503c\u7f13\u5b58<\/td><td>\u952e\u5230\u503c\u7684\u6620\u5c04<\/td><td>\u521b\u5efa\u3001\u8bfb\u53d6\u3001\u66f4\u65b0\u3001\u5220\u9664\u547d\u4ee4\u4ee5\u53ca\u5c11\u6570\u5176\u4ed6\u547d\u4ee4<\/td><td>\u591a\u7ebf\u7a0b\u670d\u52a1\u5668\u4ee5\u589e\u5f3a\u6027\u80fd<\/td><\/tr><tr><td><strong>MySQL<\/strong><\/td><td>\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/td><td>\u884c\u8868\u3001\u8868\u89c6\u56fe\u3001\u7a7a\u95f4\u6570\u636e\u548c\u7b2c\u4e09\u65b9\u6269\u5c55\u7684\u6570\u636e\u5e93<\/td><td>SELECT\u3001INSERT\u3001UPDATE\u3001DELETE\u3001\u51fd\u6570\u3001\u5b58\u50a8\u8fc7\u7a0b<\/td><td>\u7b26\u5408 ACID\uff08\u4f7f\u7528 InnoDB\uff09\u3001\u4e3b\/\u4ece\u590d\u5236\u548c\u4e3b\/\u4e3b\u590d\u5236<\/td><\/tr><tr><td><strong>PostgreSQL<\/strong><\/td><td>\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/td><td>\u884c\u8868\u3001\u8868\u89c6\u56fe\u3001\u7a7a\u95f4\u6570\u636e\u3001\u7b2c\u4e09\u65b9\u6269\u5c55\u3001\u81ea\u5b9a\u4e49\u7c7b\u578b\u7684\u6570\u636e\u5e93<\/td><td>SELECT\u3001INSERT\u3001UPDATE\u3001DELETE\u3001\u5185\u7f6e\u51fd\u6570\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u8fc7\u7a0b<\/td><td>\u7b26\u5408 ACID\uff0c\u4e3b\/\u4ece\u590d\u5236\uff0c\u591a\u4e3b\u590d\u5236\uff08\u7b2c\u4e09\u65b9\uff09<\/td><\/tr><tr><td><strong>MongoDB<\/strong><\/td><td>\u57fa\u4e8e\u78c1\u76d8\u7684\u975e\u5173\u7cfb\u578b\u6587\u6863\u5b58\u50a8<\/td><td>\u65e0\u6a21\u5f0f BSON \u6587\u6863\u7684\u8868<\/td><td>\u521b\u5efa\u3001\u8bfb\u53d6\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u6761\u4ef6\u67e5\u8be2\u7b49\u547d\u4ee4<\/td><td>\u652f\u6301 Map-Reduce \u64cd\u4f5c\u3001\u4e3b\/\u4ece\u590d\u5236\u3001\u5206\u7247\u3001\u7a7a\u95f4\u7d22\u5f15<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p> \u67e5\u627e\u8fc7\u7a0b\uff1a\u5148\u53bb\u5185\u5b58\u91cc\u9762\u67e5\u627e\uff0c\u67e5\u8be2\u5931\u8d25\u540e\u5c31\u4ece\u6570\u636e\u5e93\u91cc\u9762\u8bfb\uff0c\u8bfb\u51fa\u6765\u540e\u653e\u5230\u5185\u5b58\u91cc\u9762\u3002\u4e0b\u6b21\u8bfb\u53d6\u76f4\u63a5\u4ece\u5185\u5b58\u4e2d\u83b7\u53d6\u3002\u5f53\u66f4\u6539\u53ef\u4ee5\u5728\u5185\u5b58\u91cc\u9762\u66f4\u6539\u503c\uff0c\u4fdd\u8bc1\u67e5\u8be2\u65f6\u4e00\u81f4\u6027\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5206\u5e03\u5f0f\u7f13\u5b58<\/h2>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u9700\u8981\u5206\u5e03\u5f0f\u7f13\u5b58\uff1a\u56e0\u4e3a\u4e00\u4e2a\u673a\u5668\u7684\u7f13\u5b58\u53ef\u80fd\u4e0d\u591f\uff0c\u7269\u7406\u4e0a\u591a\u4e2a\u673a\u5668\uff0c\u5b9e\u9645\u903b\u8f91\u4e0a\u662f\u4e00\u4e2a\u5927\u7684 \u7f13\u5b58\uff0c\u53ef\u4ee5\u5145\u5206\u5229\u7528\u591a\u4e2a\u673a\u5668\u7684\u5185\u5b58\uff1b \u7a33\u5b9a\u53ef\u4ee5\u5907\u4efd\uff0c\u53ef\u9760\u6027\u589e\u52a0\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u516b\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u53cd\u5411\u7d22\u5f15\u548c\u6b63\u5411\u7d22\u5f15<\/h2>\n\n\n\n<p>\u53cd\u5411\u7d22\u5f15\uff0c\u4e5f\u79f0\u4e3a\u200c\u5012\u6392\u7d22\u5f15\uff08Inverted Index\uff09\uff0c\u662f\u4e00\u79cd\u7d22\u5f15\u65b9\u6cd5\uff0c\u7528\u4e8e\u5b58\u50a8\u6bcf\u4e2a\u8bcd\u6216\u77ed\u8bed\u5728\u6587\u6863\u4e2d\u7684\u4f4d\u7f6e\u4fe1\u606f\u3002\u5012\u6392\u7d22\u5f15\u901a\u8fc7\u8bb0\u5f55\u6bcf\u4e2a\u8bcd\u51fa\u73b0\u7684\u6587\u6863\u5217\u8868\u6765\u5de5\u4f5c\uff0c\u4f7f\u5f97\u5728\u67e5\u8be2\u65f6\u53ef\u4ee5\u5feb\u901f\u627e\u5230\u5305\u542b\u7279\u5b9a\u8bcd\u6c47\u7684\u6240\u6709\u6587\u6863\u3002\u8fd9\u79cd\u7d22\u5f15\u65b9\u6cd5\u5728\u5168\u6587\u641c\u7d22\u4e2d\u975e\u5e38\u6709\u6548\uff0c\u56e0\u4e3a\u5b83\u5141\u8bb8\u7528\u6237\u5feb\u901f\u627e\u5230\u5305\u542b\u67d0\u4e2a\u5173\u952e\u8bcd\u7684\u6240\u6709\u76f8\u5173\u6587\u6863\u3002\u200c<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-207.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"817\" height=\"719\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-207.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1055\" style=\"width:624px;height:auto\"  sizes=\"auto, (max-width: 817px) 100vw, 817px\" \/><\/div><\/figure>\n\n\n\n<p>Lucene\u7684terms\u7d22\u5f15\u5c5e\u4e8e\u88ab\u79f0\u4e3a\u53cd\u5411\u7d22\u5f15\uff0c\u8fd9\u662f\u56e0\u4e3a\u5b83\u53ef\u4ee5\u5217\u51fa\u4e00\u4e2aitem\u4e2d\u5305\u542b\u5b83\u7684\u6587\u6863\uff0c\u8fd9\u4e0e\u6587\u6863\u5217\u51fa\u672f\u8bed\u7684\u81ea\u7136\u5173\u7cfb\u76f8\u53cd<\/p>\n\n\n\n<p>\u6b63\u5411\u7d22\u5f15\uff08Forward Index\uff09\uff1a \u6b63\u5411\u7d22\u5f15\u662f\u4e00\u79cd\u6309\u6587\u6863\u6765\u7ec4\u7ec7\u548c\u5b58\u50a8\u6587\u672c\u6570\u636e\u7684\u7d22\u5f15\u65b9\u5f0f\u3002\u6bcf\u4e2a\u6587\u6863\u90fd\u6709\u4e00\u4e2a\u5bf9\u5e94\u7684\u7d22\u5f15\u9879\uff0c \u8fd9\u4e2a\u7d22\u5f15\u9879\u5305\u542b\u4e86\u6587\u6863\u4e2d\u7684\u6240\u6709\u4fe1\u606f\uff0c\u901a\u5e38\u4ee5\u6587\u6863\u7684\u6807\u8bc6\u7b26\uff08\u5982\u6587\u6863ID\uff09\u4e3a\u7d22\u5f15\u7684\u952e\u3002 \u6b63\u5411\u7d22\u5f15\u9002\u5408\u4e8e\u9700\u8981\u6309\u6587\u6863\u8fdb\u884c\u68c0\u7d22\u7684\u573a\u666f\uff0c\u4f8b\u5982\u5728\u6587\u6863\u7ba1\u7406\u7cfb\u7edf\u4e2d\u67e5\u627e\u7279\u5b9a\u6587\u6863\u6216\u6839\u636e\u6587\u6863\u5c5e\u6027\u8fdb\u884c\u8fc7\u6ee4\u548c\u6392\u5e8f\u3002 \u7f3a\u70b9\u662f\u5728\u5904\u7406\u5927\u91cf\u6587\u672c\u6570\u636e\u65f6\uff0c\u6b63\u5411\u7d22\u5f15\u53ef\u80fd\u9700\u8981\u5927\u91cf\u7684\u5b58\u50a8\u7a7a\u95f4\uff0c\u56e0\u4e3a\u6bcf\u4e2a\u6587\u6863\u90fd\u9700\u8981\u4e00\u4e2a \u5b8c\u6574\u7684\u7d22\u5f15\u9879\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6b63\u5411\u7d22\u5f15\u9002\u7528\u4e8e\u9700\u8981\u6309\u6587\u6863\u68c0\u7d22\u7684\u5e94\u7528\uff0c\u4f8b\u5982\u6587\u6863\u7ba1\u7406\u7cfb\u7edf\u6216\u5185\u5bb9\u5c55\u793a\u3002<\/li>\n\n\n\n<li> \u53cd\u5411\u7d22\u5f15\u9002\u7528\u4e8e\u9700\u8981\u5168\u6587\u641c\u7d22\u548c\u5173\u952e\u8bcd\u68c0\u7d22\u7684\u5e94\u7528\uff0c\u4f8b\u5982\u641c\u7d22\u5f15\u64ce\u548c\u4fe1\u606f\u68c0\u7d22\u7cfb\u7edf\u3002<\/li>\n\n\n\n<li> \u6b63\u5411\u7d22\u5f15\u9700\u8981\u66f4\u591a\u7684\u5b58\u50a8\u7a7a\u95f4\uff0c\u4f46\u5728\u8bbf\u95ee\u7279\u5b9a\u6587\u6863\u65f6\u901f\u5ea6\u8f83\u5feb\u3002<\/li>\n\n\n\n<li> \u53cd\u5411\u7d22\u5f15\u5360\u7528\u8f83\u5c11\u7684\u5b58\u50a8\u7a7a\u95f4\uff0c\u4f46\u5728\u5168\u6587\u641c\u7d22\u548c\u5173\u952e\u8bcd\u68c0\u7d22\u65f6\u901f\u5ea6\u66f4\u5feb\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u901a\u5e38\uff0c\u641c\u7d22\u5f15\u64ce\u4f1a\u7ed3\u5408\u4f7f\u7528\u6b63\u5411\u7d22\u5f15\u548c\u53cd\u5411\u7d22\u5f15\uff0c\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7684\u68c0\u7d22\u9700\u6c42\uff0c\u5e76\u63d0\u4f9b\u9ad8\u6548\u7684\u641c\u7d22\u4f53 \u9a8c\u3002\u6b63\u5411\u7d22\u5f15\u7528\u4e8e\u5feb\u901f\u83b7\u53d6\u6587\u6863\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u800c\u53cd\u5411\u7d22\u5f15\u7528\u4e8e\u9ad8\u6548\u5730\u627e\u5230\u5305\u542b\u67e5\u8be2\u5173\u952e\u8bcd\u7684\u6587\u6863\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lucene<\/h2>\n\n\n\n<p>Lucene\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u3001\u53ef\u6269\u5c55\u7684\u4fe1\u606f\u68c0\u7d22\uff08IR\uff09\u5e93\u3002\u7528\u6765\u5efa\u7acb\u7d22\u5f15\uff08\u5982\u679c\u4e0d\u5efa\u7acb\u7d22\u5f15\uff0c\u6bcf\u6b21\u90fd\u8981\u626b\u63cf\u6240\u6709\u7684\u6587\u4ef6\uff0c\u6548\u7387\u592a\u4f4e\uff09\u548c\u641c\u7d22\u3002<\/p>\n\n\n\n<p>\u9002\u914d\u8303\u56f4\uff1a<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-black-color\">\u5927\u91cf\u975e\u7ed3\u6784\u5316\u7684\u6587\u672c\uff0c\u4f8b\u5982\u641c\u7d22\u5f15\u64ce\u3002<\/mark><\/p>\n\n\n\n<p>\u5047\u8bbe\u9700\u8981\u641c\u7d22\u5927\u91cf\u6587\u4ef6\uff0c\u5e76\u4e14\u5e0c\u671b\u80fd\u591f\u627e\u5230\u5305\u542b\u67d0\u4e2a<strong>\u5355\u8bcd<\/strong>\u6216<strong>\u77ed\u8bed<\/strong>\u7684\u6587\u4ef6\uff0c\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<p>\u5bf9\u8be5\u6587\u672c\u8fdb\u884c\u7d22\u5f15\uff0c\u5e76\u5c06\u5176\u8f6c\u6362\u4e3a\u4e00\u79cd\u53ef\u4ee5\u5feb\u901f\u641c\u7d22\u7684\u683c\u5f0f\uff0c\u4ece\u800c\u6d88\u9664\u7f13\u6162\u7684\u987a\u5e8f\u626b\u63cf\u8fc7\u7a0b\u3002<br>\u8fd9\u79cd\u8f6c\u6362\u8fc7\u7a0b\u79f0\u4e3a\u7d22\u5f15\uff0c\u5176\u8f93\u51fa\u79f0\u4e3a\u7d22\u5f15\u3002<\/p>\n\n\n\n<p>\u641c\u7d22\u5373\u5728\u7d22\u5f15\u4e2d\u67e5\u627e\u5355\u8bcd\u4ee5\u627e\u5230\u5b83\u4eec\u51fa\u73b0\u7684\u6587\u6863\u7684\u8fc7\u7a0b\u3002<\/p>\n\n\n\n<p>\u641c\u7d22\u7684\u8d28\u91cf\u901a\u5e38\u4f7f\u7528<strong>\u7cbe\u786e\u5ea6<\/strong>\u548c<strong>\u53ec\u56de\u7387<\/strong>\u6307\u6807\u6765\u63cf\u8ff0\u3002\u5f53\u7136\u4e5f\u5305\u62ec<strong>\u901f\u5ea6<\/strong>\u548c<strong>\u5feb\u901f\u641c\u7d22<\/strong>\u5927\u91cf\u6587\u672c\u7684\u80fd\u529b\uff0c\u652f\u6301\u5355\u8bcd\u548c\u591a\u8bcd\u67e5\u8be2\u3001\u77ed\u8bed\u67e5\u8be2\u3001\u901a\u914d\u7b26\u3001\u7ed3\u679c\u6392\u540d\u548c\u6392\u5e8f\u4e5f\u5f88\u91cd\u8981\uff0c\u8f93\u5165\u8fd9\u4e9b\u67e5\u8be2\u7684\u53cb\u597d\u8bed\u6cd5\u4e5f\u5f88\u91cd\u8981\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5168\u6587\u641c\u7d22<\/h3>\n\n\n\n<p>\u7c7b\u4f3c\u767e\u5ea6\u7684\u7f51\u7ad9\uff0c\u7528\u6237\u641c\u7d22\u4e00\u4e2a\u5173\u952e\u8bcd\uff0c\u6839\u636e\u5efa\u7acb\u7684\u7d22\u5f15\uff0c\u67e5\u627e\u5305\u62ec\u5173\u952e\u8bcd\u7684\u76f8\u5173\u7684<strong>\u975e\u7ed3\u6784\u5316\u7684\u6570\u636e<\/strong>\u91cc\u9762\u6709\u54ea\u4e9b\u5305\u542b\u76ee\u6807\u5173\u952e\u8bcd\u3002<\/p>\n\n\n\n<p>\u7ed3\u6784\u5316\uff1a\u5982\u6570\u636e\u5e93\uff0c\u6240\u6709\u6570\u636e\u662fschema\u7684\uff0c\u6570\u636e\u6709\u5b57\u6bb5\uff0c\u50cf\u8868\u683c\uff0c\u662f\u6709\u7ed3\u6784\u7684\uff1b\u4f46\u8fd9\u91cc \u6bd4\u5982\u6211\u7ed9\u4f60\u4e00\u4e2ahtml\uff0c\u6216\u8005\u4e00\u6bb5txt\uff0c\u8fd9\u79cd\u4e1c\u897f\u662f\u6ca1\u6709\u7ed3\u6784\u53ef\u5bfb\u7684\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7ed3\u6784\u5316\u6570\u636e\u5efa\u7acb\u7d22\u5f15\u7684\u65b9\u5f0f\uff1aB+\u6811\u5c31\u53ef\u4ee5 <\/li>\n\n\n\n<li>\u90a3\u975e\u7ed3\u6784\u5316\u6570\u636e\u600e\u4e48\u529e\u5462\uff1f\u6bd4\u5982\u6709\u4e00\u4e2adir\u76ee\u5f55\uff0c\u91cc\u9762\u6709\u4e00\u5927\u5806.txt\uff0c\u548chtml\u6587\u4ef6\uff0c\u6211\u8981\u95ee\u8fd9\u4e2a\u76ee\u5f55\u91cc\u9762\u5305\u542b\u5173\u952e\u8bcdjava\u7684\u6587\u4ef6\u6709\u54ea\u4e9b\uff1f<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-459.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"811\" height=\"761\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-459.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2169\" style=\"width:389px;height:auto\"  sizes=\"auto, (max-width: 811px) 100vw, 811px\" \/><\/div><\/figure>\n\n\n\n<p><strong>\u5efa\u7acb\u7d22\u5f15<\/strong><\/p>\n\n\n\n<p>\u5982\u679c\u6211\u641c\u7d22java\uff0c\u4f60\u8981\u544a\u8bc9\u6211java\u51fa\u73b0\u5728\u54ea\u4e9b\u884c\uff0c\u4ee5\u53ca\u5177\u4f53\u7684\u4f4d\u7f6e\uff1f <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1. \u7528\u67d0\u4e00\u79cdtokenizer\u5904\u7406\u6e90\u6587\u4ef6 <\/li>\n\n\n\n<li>2. preprocess\uff0c\u6bd4\u5982\u628a\u6240\u6709\u7684\u5927\u5199\u5b57\u6bcd\u90fd\u53d8\u6210\u5c0f\u5199\uff0c\u76f8\u540c\u7684\u5355\u8bcd\u90fd\u5408\u5e76\u5230\u4e00\u8d77\uff08\u6bd4\u5982\u6709\u4e9b\u5355\u8bcd\u662f take\u3001took\u3001taken\u90fd\u662ftake\u7684\u4e0d\u540c\u5f62\u5f0f\uff09 <\/li>\n\n\n\n<li>3. \u53cd\u5411\u7d22\u5f15\uff1a\u4e3a\u4ec0\u4e48\u53eb\u53cd\u5411\u7d22\u5f15\u5462\uff0c\u56e0\u4e3a\u4e0d\u662f\u6bcf\u4e00\u884c\u6620\u5c04\u5230\u51e0\u4e2a\u5355\u8bcd\uff0c\u800c\u662f\u67d0\u4e00\u4e2a\u5173\u952e\u8bcd\u6620\u5c04\u5230\u54ea\u51e0 \u884c\u7684\u54ea\u51e0\u4e2a\u4f4d\u7f6e\u3002<\/li>\n<\/ul>\n\n\n\n<p>Core Indexing Classes \u6838\u5fc3\u7d22\u5f15\u7c7b<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>IndexWriter\uff1a IndexWriter \u662f\u7d22\u5f15\u521b\u5efa\u548c\u7ef4\u62a4\u7684\u6838\u5fc3\u7c7b\u3002\u5b83\u8d1f\u8d23\u5c06\u6587\u6863\u6dfb\u52a0\u5230\u7d22\u5f15\u3001\u66f4\u65b0\u7d22\u5f15\u3001\u5220\u9664\u6587\u6863\u4ee5 \u53ca\u4f18\u5316\u7d22\u5f15\u7b49\u64cd\u4f5c\u3002 IndexWriter \u662f\u5728\u7d22\u5f15\u5efa\u7acb\u548c\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u7684\u4e3b\u8981\u63a5\u53e3\u4e4b\u4e00\u3002<\/li>\n\n\n\n<li>Directory\uff1a Directory \u662f\u7d22\u5f15\u6587\u4ef6\u7684\u5b58\u50a8\u548c\u7ba1\u7406\u62bd\u8c61\u3002\u5b83\u5b9a\u4e49\u4e86\u7d22\u5f15\u6587\u4ef6\u7684\u4f4d\u7f6e\u548c\u8bbf\u95ee\u65b9\u5f0f\uff0c\u53ef\u4ee5\u662f\u57fa\u4e8e \u6587\u4ef6\u7cfb\u7edf\u7684\u76ee\u5f55\uff0c\u4e5f\u53ef\u4ee5\u662f\u5185\u5b58\u4e2d\u7684\u6570\u636e\u7ed3\u6784\u3002 Directory \u63d0\u4f9b\u4e86\u5bf9\u7d22\u5f15\u6587\u4ef6\u7684\u8bfb\u5199\u64cd\u4f5c\uff0c\u4f7f \u5f97\u7d22\u5f15\u53ef\u4ee5\u88ab\u6301\u4e45\u5316\u5b58\u50a8\u548c\u68c0\u7d22\u3002<\/li>\n\n\n\n<li>Analyzer\uff1a Analyzer \u662f\u6587\u672c\u5206\u6790\u7684\u5173\u952e\u7ec4\u4ef6\u3002\u5b83\u5b9a\u4e49\u4e86\u5982\u4f55\u5c06\u6587\u672c\u6570\u636e\u5206\u5272\u6210\u5355\u8bcd\u6216\u8bcd\u7ec4\uff0c\u8fdb\u884c\u8bcd\u5e72 \u5316\u3001\u53bb\u9664\u505c\u7528\u8bcd\u7b49\u6587\u672c\u5904\u7406\u64cd\u4f5c\u3002\u6b63\u786e\u9009\u62e9\u548c\u914d\u7f6e\u9002\u5f53\u7684\u5206\u6790\u5668\u5bf9\u4e8e\u7d22\u5f15\u7684\u8d28\u91cf\u548c\u6027\u80fd\u81f3\u5173\u91cd\u8981\u3002<\/li>\n\n\n\n<li>Document\uff1a Document \u8868\u793a\u7d22\u5f15\u4e2d\u7684\u4e00\u4e2a\u6587\u6863\u3002\u6587\u6863\u901a\u5e38\u7531\u4e00\u7ec4\u5b57\u6bb5\uff08 Field \uff09\u7ec4\u6210\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u5305\u542b\u4e86\u6587 \u6863\u7684\u4e00\u90e8\u5206\u4fe1\u606f\uff0c\u5982\u6807\u9898\u3001\u6b63\u6587\u3001\u4f5c\u8005\u7b49\u3002 Document \u7528\u4e8e\u5c06\u6587\u672c\u6570\u636e\u6dfb\u52a0\u5230\u7d22\u5f15\u3002 <\/li>\n\n\n\n<li>Field\uff1a Field \u662f\u6587\u6863\u4e2d\u7684\u4e00\u4e2a\u5b57\u6bb5\u6216\u5c5e\u6027\u3002\u5b83\u5305\u542b\u4e86\u5b57\u6bb5\u7684\u540d\u79f0\u3001\u503c\u4ee5\u53ca\u7528\u4e8e\u6307\u5b9a\u5982\u4f55\u5904\u7406\u8be5\u5b57\u6bb5\u7684 \u914d\u7f6e\u9009\u9879\u3002\u5b57\u6bb5\u53ef\u4ee5\u662f\u6587\u672c\u3001\u6570\u5b57\u3001\u65e5\u671f\u7b49\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\uff0c\u6839\u636e\u9700\u8981\u8fdb\u884c\u7d22\u5f15\u548c\u68c0\u7d22\u3002<\/li>\n<\/ul>\n\n\n\n<p>Field\u6bcf\u4e2a\u5b57\u6bb5\u5bf9\u5e94\u4e8e\u5728\u641c\u7d22\u671f\u95f4\u6839\u636e\u7d22\u5f15\u67e5\u8be2\u6216\u4ece\u7d22\u5f15\u68c0\u7d22\u7684\u4e00\u6bb5\u6570\u636e\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public abstract class BaseIndexTestCase extends TestCase {\n    protected String&#91;] keywords = {\"1\",\"2\"};\n    protected String&#91;] unindexed = {\"Netherlands\",\"Italy\"};\n    protected String&#91;] unstored = { \n        \"Amsterdam has lots of bridges\", \n        \"Venice has lots of canals\" \n    }; \n    protected String&#91;] text = {\"Amsterdam\",\"Venice\"}; \n    protected Directory dir; ... }<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keyword \uff1a\u5173\u952e\u5b57\u4e0d\u88ab\u5206\u6790\uff08\u5c31\u662f\u4e0d\u4f1a\u88ab\u62c6\u5f00\uff09\uff0c\u800c\u662f\u88ab\u7d22\u5f15\u5e76\u9010\u5b57\u5b58\u50a8\u5728\u7d22\u5f15\u4e2d\u3002 <\/li>\n\n\n\n<li>UnIndexed \uff1a\u65e2\u4e0d\u5206\u6790\u4e5f\u4e0d\u7d22\u5f15\uff0c\u4f46\u5176\u503c\u6309\u539f\u6837\u5b58\u50a8\u5728\u7d22\u5f15\u4e2d\u3002\u4e5f\u5c31\u662f\u8bf4\u4e00\u65e6\u5047\u5982\u901a\u8fc7keyword\u67e5 \u8be2\u5230\u4e86\uff0c\u8981\u628aunindex\u7684\u90e8\u5206\u7684\u5185\u5bb9\u8981\u5e26\u51fa\u6765\uff0c\u4f46\u662f\u8fd9\u90e8\u5206\u4e0d\u7d22\u5f15\u3002\uff08\u4f60\u4e0d\u9700\u8981\u628a\u8377\u5170\u548c\u610f\u5927\u5229\u505a \u7d22\u5f15\uff0c\u6211\u5e0c\u671b\u7684\u662f\u6211\u67e5\u51fa\u67651\u548c2\uff0c\u4f60\u628a\u8377\u5170\u548c\u610f\u5927\u5229\u7684\u5185\u5bb9\u5e26\u51fa\u6765\uff09 <\/li>\n\n\n\n<li>UnStored \uff1a\u6b64\u5b57\u6bb5\u7c7b\u578b\u88ab\u5206\u6790\u548c\u7d22\u5f15\uff0c\u8981\u653e\u5230\u7d22\u5f15\u91cc\u53bb\u5efa\uff0c\u4f46\u4e0d\u5b58\u50a8\u5728\u7d22\u5f15\u4e2d\u3002\u5f53\u7136\u6709\u4e00\u4e9b\u505c\u7528\u8bcd \u5217\u8868\uff0c\u6bd4\u5982\u4e00\u4e9b\u975e\u5e38\u5e38\u7528\u7684\u8bcd\uff0c\u8fd9\u4e9b\u4e1c\u897f\u5c31\u88ab\u5ffd\u7565\u3002\u4e00\u822c\u662f\u6b63\u6587\uff0c\u975e\u5e38\u957f\u4e0d\u5e94\u8be5\u5b58\u5728\u7d22\u5f15\u91cc\u9762\uff0c\u975e \u5e38\u6d6a\u8d39\u3002\uff08\u6bd4\u5982\u8fd9\u91cc\u6211\u4eec\u628aAmsterdam,bridge,Venice,canal\u6765\u653e\u5165\u7d22\u5f15\uff0c\u4f60\u6309\u7167bridge\u67e5\u662f\u53ef\u4ee5\u67e5 \u5230\u8fd9\u4e2a\u6587\u4ef6\u7684\uff0c\u4f46\u662f\u4f60\u7d22\u5f15\u91cc\u9762\u6ca1\u6709\u5b58\u50a8\u6574\u4e2a\u5b8c\u6574\u7684\u5185\u5bb9\uff0c\u56e0\u4e3a\u5b8c\u6574\u7684\u5185\u5bb9\u53ef\u80fd\u5f88\u5927\uff0c\u6240\u4ee5\u6211\u4eec\u771f \u7684\u8981\u53d6\u8981\u8bfb\u786c\u76d8\uff09<\/li>\n\n\n\n<li>Text \uff1a\u88ab\u5206\u6790\u5e76\u88ab\u7d22\u5f15\uff0c\u5b58\u50a8\u5230\u7d22\u5f15\u91cc\u9762\u3002\u8fd9\u610f\u5473\u7740\u53ef\u4ee5\u9488\u5bf9\u8fd9\u79cd\u7c7b\u578b\u7684\u5b57\u6bb5\u8fdb\u884c\u641c\u7d22\uff0c\u4f46\u8981\u6ce8 \u610f\u5b57\u6bb5\u5927\u5c0f\u3002\u53ef\u4ee5\u7c7b\u6bd4keyword\uff0c\u533a\u522b\u662f\u8fd9\u4e2atext\u4f1a\u88ab\u5206\u6790\u4e00\u4e0b\uff0c\u800ckeyword\u4e0d\u4f1a\uff08\u4e5f\u5c31\u662ftext\u4f1a\u88ab \u65ad\u5f00\uff09<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b57\u6bb5\u7c7b\u578b<\/h3>\n\n\n\n<p>\u5728Lucene\u4e2d\uff0c\u5b57\u6bb5\u53ef\u4ee5\u88ab\u5b58\u50a8\uff0c\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5b83\u4eec\u7684\u6587\u672c\u4ee5\u975e\u53cd\u8f6c\u7684\u65b9\u5f0f\u6309\u5b57\u9762\u610f\u601d\u5b58\u50a8\u5728\u7d22\u5f15\u4e2d\u3002\u53cd\u8f6c\u7684\u5b57\u6bb5\u79f0\u4e3a\u7d22\u5f15\u3002<br>\u4e00\u4e2a\u5b57\u6bb5\u65e2\u53ef\u4ee5\u88ab\u5b58\u50a8\uff0c\u4e5f\u53ef\u4ee5\u88ab\u7d22\u5f15\u3002<br>\u5b57\u6bb5\u7684\u6587\u672c\u53ef\u4ee5\u88ab\u6807\u8bb0\u4e3a\u8981\u7d22\u5f15\u7684\u672f\u8bed\uff0c\u6216\u8005\u5b57\u6bb5\u7684\u6587\u672c\u4e5f\u53ef\u4ee5\u76f4\u63a5\u7528\u4f5c\u8981\u7d22\u5f15\u7684\u8bcd\u6c47\u3002<br>\u5927\u591a\u6570\u5b57\u6bb5\u90fd\u662f\u6807\u8bb0\u5316\u7684\uff0c\u4f46\u6709\u65f6\u5bf9\u67d0\u4e9b\u6807\u8bc6\u7b26\u5b57\u6bb5\u8fdb\u884c\u5b57\u9762\u7d22\u5f15\u662f\u6709\u7528\u7684\u3002<\/p>\n\n\n\n<p>\u5b57\u6bb5\u662f\u6587\u6863\u7684\u4e00\u4e2a\u90e8\u5206\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u6709\u4e09\u4e2a\u7ec4\u6210\u90e8\u5206\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u540d\u79f0<\/strong>\uff1a\u5b57\u6bb5\u7684\u6807\u8bc6\u7b26\u3002<\/li>\n\n\n\n<li><strong>\u7c7b\u578b<\/strong>\uff1a\u5b57\u6bb5\u7684\u6570\u636e\u7c7b\u578b\u3002<\/li>\n\n\n\n<li><strong>\u503c<\/strong>\uff1a\u5b57\u6bb5\u7684\u5b9e\u9645\u6570\u636e\uff0c\u53ef\u4ee5\u662f\u6587\u672c\uff08\u5982 <code>String<\/code>\u3001<code>Reader<\/code> \u6216\u9884\u5206\u6790\u7684 <code>TokenStream<\/code>\uff09\u3001\u4e8c\u8fdb\u5236\u6570\u636e\uff08\u5982 <code>byte[]<\/code>\uff09\u6216\u6570\u5b57\uff08\u5982 <code>Number<\/code>\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u6bb5\uff08Segments\uff09<\/h4>\n\n\n\n<p>Lucene \u7d22\u5f15\u53ef\u4ee5\u7531\u591a\u4e2a\u5b50\u7d22\u5f15\uff08\u6216\u79f0\u4e3a\u6bb5\uff09\u7ec4\u6210\u3002\u6bcf\u4e2a\u6bb5\u90fd\u662f\u4e00\u4e2a\u5b8c\u5168\u72ec\u7acb\u7684\u7d22\u5f15\uff0c\u53ef\u4ee5\u5355\u72ec\u8fdb\u884c\u641c\u7d22\u3002\u7d22\u5f15\u7684\u6f14\u53d8\u65b9\u5f0f\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e3a\u65b0\u6dfb\u52a0\u7684\u6587\u6863\u521b\u5efa\u65b0\u7684\u6bb5\u3002<\/li>\n\n\n\n<li>\u5408\u5e76\u73b0\u6709\u7684\u6bb5\u3002<\/li>\n\n\n\n<li>\u641c\u7d22\u64cd\u4f5c\u53ef\u80fd\u6d89\u53ca\u591a\u4e2a\u6bb5\u548c\/\u6216\u591a\u4e2a\u7d22\u5f15\uff0c\u6bcf\u4e2a\u7d22\u5f15\u53ef\u80fd\u7531\u4e00\u7ec4\u6bb5\u7ec4\u6210\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u6587\u6863\u7f16\u53f7<\/h4>\n\n\n\n<p>\u5728\u5185\u90e8\uff0cLucene \u4f7f\u7528\u6574\u6570\u6587\u6863\u7f16\u53f7\u6765\u5f15\u7528\u6587\u6863\u3002\u7b2c\u4e00\u4e2a\u6dfb\u52a0\u5230\u7d22\u5f15\u7684\u6587\u6863\u7f16\u53f7\u4e3a\u96f6\uff0c\u968f\u540e\u7684\u6bcf\u4e2a\u6587\u6863\u7f16\u53f7\u4f9d\u6b21\u589e\u52a0\u4e00\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5728Lucene\u4e2d\u5bfb\u627e\u548c\u6253\u5206<\/h3>\n\n\n\n<p>Lucene \u63d0\u4f9b\u4e86\u591a\u79cd\u4e0d\u540c\u7684 <code>Query<\/code> \u5b9e\u73b0\uff0c\u5141\u8bb8\u6267\u884c\u5404\u79cd\u7c7b\u578b\u7684\u67e5\u8be2\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u6267\u884c\u641c\u7d22<\/h5>\n\n\n\n<p>\u5e94\u7528\u7a0b\u5e8f\u901a\u5e38\u4f1a\u8c03\u7528 <code>IndexSearcher.search(Query, int)<\/code> \u6765\u6267\u884c\u641c\u7d22\u64cd\u4f5c\u3002\u4e00\u65e6 <code>Query<\/code> \u521b\u5efa\u5e76\u63d0\u4ea4\u7ed9 <code>IndexSearcher<\/code>\uff0cLucene \u5f00\u59cb\u8fdb\u884c\u8bc4\u5206\u8fc7\u7a0b\u3002\u5728\u4e00\u4e9b\u57fa\u7840\u8bbe\u65bd\u7684\u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u63a7\u5236\u6743\u6700\u7ec8\u4ea4\u7ed9 <code>Weight<\/code> \u5b9e\u73b0\u7c7b\u53ca\u5176 <code>Scorer<\/code> \u6216 <code>BulkScorer<\/code> \u5b9e\u4f8b\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u67e5\u8be2\u7c7b<\/h5>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>TermQuery<\/strong><\/h6>\n\n\n\n<p><code>TermQuery<\/code> \u662f\u6700\u5bb9\u6613\u7406\u89e3\u4e14\u5e94\u7528\u6700\u5e7f\u6cdb\u7684\u67e5\u8be2\u7c7b\u3002\u5b83\u5339\u914d\u6240\u6709\u5305\u542b\u6307\u5b9a\u672f\u8bed\uff08<code>Term<\/code>\uff09\u7684\u6587\u6863\uff0c<code>Term<\/code> \u662f\u51fa\u73b0\u5728\u67d0\u4e2a\u7279\u5b9a\u5b57\u6bb5\uff08<code>Field<\/code>\uff09\u4e2d\u7684\u4e00\u4e2a\u5355\u8bcd\u3002<\/p>\n\n\n\n<p>\u4f8b\u5982\uff0c\u6784\u9020\u4e00\u4e2a <code>TermQuery<\/code> \u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>TermQuery tq = new TermQuery(new Term(\"fieldName\", \"term\"));<\/code><\/code><\/pre>\n\n\n\n<p>\u6b64\u67e5\u8be2\u4f1a\u8bc6\u522b\u6240\u6709 <code>Field<\/code> \u4e3a <code>\"fieldName\"<\/code> \u5e76\u5305\u542b\u672f\u8bed <code>\"term\"<\/code> \u7684\u6587\u6863\u3002<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>BooleanQuery<\/strong><\/h6>\n\n\n\n<p><code>BooleanQuery<\/code> \u901a\u8fc7\u5c06\u591a\u4e2a <code>TermQuery<\/code> \u5b9e\u4f8b\u7ec4\u5408\u8d77\u6765\uff0c\u53ef\u4ee5\u6784\u5efa\u66f4\u590d\u6742\u7684\u67e5\u8be2\u3002<code>BooleanQuery<\/code> \u5305\u542b\u591a\u4e2a <code>BooleanClause<\/code>\uff0c\u6bcf\u4e2a\u5b50\u67e5\u8be2\u90fd\u6709\u4e00\u4e2a\u8fd0\u7b97\u7b26\uff08\u6765\u81ea <code>BooleanClause.Occur<\/code>\uff09\uff0c\u8be5\u8fd0\u7b97\u7b26\u63cf\u8ff0\u5b50\u67e5\u8be2\u5982\u4f55\u4e0e\u5176\u4ed6\u5b50\u67e5\u8be2\u7ec4\u5408\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SHOULD<\/strong>\uff1a\u5b50\u67e5\u8be2\u53ef\u4ee5\u51fa\u73b0\u5728\u7ed3\u679c\u96c6\u4e2d\uff0c\u4f46\u4e0d\u662f\u5fc5\u987b\u7684\u3002\u5982\u679c\u6240\u6709\u5b50\u67e5\u8be2\u90fd\u662f <code>SHOULD<\/code>\uff0c\u5219\u7ed3\u679c\u96c6\u4e2d\u7684\u6bcf\u4e2a\u6587\u6863\u81f3\u5c11\u5339\u914d\u4e00\u4e2a\u5b50\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>MUST<\/strong>\uff1a\u5b50\u67e5\u8be2\u5fc5\u987b\u51fa\u73b0\u5728\u7ed3\u679c\u96c6\u4e2d\uff0c\u5e76\u4e14\u4f1a\u5f71\u54cd\u8bc4\u5206\u3002\u7ed3\u679c\u96c6\u4e2d\u7684\u6bcf\u4e2a\u6587\u6863\u5c06\u5339\u914d\u6240\u6709\u8fd9\u6837\u7684\u5b50\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>FILTER<\/strong>\uff1a\u5b50\u67e5\u8be2\u5fc5\u987b\u51fa\u73b0\u5728\u7ed3\u679c\u96c6\u4e2d\uff0c\u4f46\u4e0d\u5f71\u54cd\u8bc4\u5206\u3002\u7ed3\u679c\u96c6\u4e2d\u7684\u6bcf\u4e2a\u6587\u6863\u5c06\u5339\u914d\u6240\u6709\u8fd9\u6837\u7684\u5b50\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>MUST NOT<\/strong>\uff1a\u5b50\u67e5\u8be2\u4e0d\u80fd\u51fa\u73b0\u5728\u7ed3\u679c\u96c6\u4e2d\u3002\u7ed3\u679c\u96c6\u4e2d\u6ca1\u6709\u6587\u6863\u4f1a\u5339\u914d\u8fd9\u6837\u7684\u5b50\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u6784\u9020 <code>BooleanQuery<\/code> \u65f6\uff0c\u901a\u8fc7\u6dfb\u52a0\u4e24\u4e2a\u6216\u66f4\u591a <code>BooleanClause<\/code> \u5b9e\u4f8b\u6765\u5b9e\u73b0\u3002\u5982\u679c\u6dfb\u52a0\u7684\u5b50\u67e5\u8be2\u8fc7\u591a\uff0c\u5728\u641c\u7d22\u65f6\u4f1a\u629b\u51fa <code>TooManyClauses<\/code> \u5f02\u5e38\u3002\u9ed8\u8ba4\u6700\u591a\u5141\u8bb8 1024 \u4e2a\u5b50\u67e5\u8be2\uff0c\u53ef\u4ee5\u901a\u8fc7 <code>IndexSearcher.setMaxClauseCount(int)<\/code> \u4fee\u6539\u8fd9\u4e2a\u503c\u3002<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Phrase Queries\uff08\u77ed\u8bed\u67e5\u8be2\uff09<\/strong><\/h6>\n\n\n\n<p>\u77ed\u8bed\u67e5\u8be2\u7528\u4e8e\u67e5\u627e\u5305\u542b\u7279\u5b9a\u77ed\u8bed\u7684\u6587\u6863\uff0c\u6709\u4ee5\u4e0b\u51e0\u79cd\u5b9e\u73b0\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PhraseQuery<\/strong>\uff1a\u5339\u914d\u4e00\u7cfb\u5217\u7684\u672f\u8bed\u3002<code>PhraseQuery<\/code> \u4f7f\u7528 &#8220;slop&#8221; \u56e0\u5b50\u6765\u786e\u5b9a\u77ed\u8bed\u4e2d\u76f8\u90bb\u4e24\u4e2a\u672f\u8bed\u4e4b\u95f4\u53ef\u4ee5\u5141\u8bb8\u7684\u6700\u5927\u8ddd\u79bb\u3002\u9ed8\u8ba4\u7684 <code>slop<\/code> \u503c\u4e3a 0\uff0c\u8868\u793a\u77ed\u8bed\u5fc5\u987b\u5b8c\u5168\u5339\u914d\u3002<\/li>\n\n\n\n<li><strong>MultiPhraseQuery<\/strong>\uff1a<code>PhraseQuery<\/code> \u7684\u4e00\u79cd\u901a\u7528\u5f62\u5f0f\uff0c\u5141\u8bb8\u4e3a\u77ed\u8bed\u4e2d\u7684\u67d0\u4e2a\u4f4d\u7f6e\u6307\u5b9a\u591a\u4e2a\u672f\u8bed\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u7528\u5b83\u6765\u6267\u884c\u5305\u542b\u540c\u4e49\u8bcd\u7684\u77ed\u8bed\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>Interval Queries<\/strong>\uff1a\u5728 <code>Queries<\/code> \u6a21\u5757\u4e2d\u4e5f\u63d0\u4f9b\u4e86\u533a\u95f4\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>PointRangeQuery<\/strong><\/h6>\n\n\n\n<p><code>PointRangeQuery<\/code> \u5339\u914d\u4f4d\u4e8e\u6570\u503c\u8303\u56f4\u5185\u7684\u6240\u6709\u6587\u6863\u3002\u8981\u4f7f\u7528 <code>PointRangeQuery<\/code>\uff0c\u5fc5\u987b\u5c06\u503c\u7d22\u5f15\u4e3a\u6570\u503c\u5b57\u6bb5\uff0c\u4f8b\u5982 <code>IntPoint<\/code>\u3001<code>LongPoint<\/code>\u3001<code>FloatPoint<\/code> \u6216 <code>DoublePoint<\/code>\u3002<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>PrefixQuery\u3001WildcardQuery\u3001RegexpQuery<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PrefixQuery<\/strong>\uff1a\u7528\u4e8e\u67e5\u627e\u6240\u6709\u672f\u8bed\u4ee5\u67d0\u4e2a\u5b57\u7b26\u4e32\u5f00\u5934\u7684\u6587\u6863\u3002<\/li>\n\n\n\n<li><strong>WildcardQuery<\/strong>\uff1a\u901a\u914d\u7b26\u67e5\u8be2\uff0c\u5141\u8bb8\u4f7f\u7528 <code>*<\/code>\uff08\u5339\u914d 0 \u4e2a\u6216\u591a\u4e2a\u5b57\u7b26\uff09\u548c <code>?<\/code>\uff08\u5339\u914d 1 \u4e2a\u5b57\u7b26\uff09\u901a\u914d\u7b26\u3002<\/li>\n\n\n\n<li><strong>RegexpQuery<\/strong>\uff1a\u6bd4 <code>WildcardQuery<\/code> \u66f4\u901a\u7528\uff0c\u5141\u8bb8\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f\u6a21\u5f0f\u7684\u6240\u6709\u672f\u8bed\u3002<\/li>\n<\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>FuzzyQuery<\/strong><\/h6>\n\n\n\n<p><code>FuzzyQuery<\/code> \u5339\u914d\u5305\u542b\u4e0e\u6307\u5b9a\u672f\u8bed\u76f8\u4f3c\u7684\u672f\u8bed\u7684\u6587\u6863\uff0c\u76f8\u4f3c\u5ea6\u901a\u8fc7 <strong>Levenshtein \u8ddd\u79bb<\/strong>\u6765\u786e\u5b9a\u3002\u8fd9\u79cd\u67e5\u8be2\u5728\u5904\u7406\u62fc\u5199\u53d8\u4f53\u65f6\u975e\u5e38\u6709\u7528\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6253\u5206<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Lucene \u6253\u5206\u673a\u5236<\/h5>\n\n\n\n<p>Lucene \u7684<strong>\u6253\u5206\u673a\u5236<\/strong>\u662f\u5176\u53d7\u6b22\u8fce\u7684<strong>\u6838\u5fc3\u539f\u56e0<\/strong>\u4e4b\u4e00\u3002Lucene \u652f\u6301\u591a\u79cd\u53ef\u63d2\u62d4\u7684\u4fe1\u606f\u68c0\u7d22\u6a21\u578b\uff0c\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5411\u91cf\u7a7a\u95f4\u6a21\u578b (Vector Space Model, VSM)<\/strong><\/li>\n\n\n\n<li><strong>\u6982\u7387\u6a21\u578b<\/strong>\uff0c\u5982 Okapi BM25 \u548c DFR<\/li>\n\n\n\n<li><strong>\u8bed\u8a00\u6a21\u578b<\/strong><\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u6253\u5206\u516c\u5f0f\u4e2d\u7684\u56e0\u7d20<\/h5>\n\n\n\n<p>\u4e3a\u4e86\u83b7\u5f97\u66f4\u9ad8\u7684\u5f97\u5206\uff0c\u5c3d\u91cf\u589e\u52a0\u67e5\u8be2\u8bcd\u5728\u91cd\u8981\u5b57\u6bb5\uff08\u5982\u6807\u9898\uff09\u4e2d\u7684\u9891\u7387\uff0c\u5e76\u4f7f\u7528\u7a00\u6709\u4e14\u76f8\u5173\u7684\u5173\u952e\u8bcd\uff0c\u540c\u65f6\u4fdd\u6301\u5b57\u6bb5\u5185\u5bb9\u7b80\u6d01\u4ee5\u63d0\u9ad8\u6743\u91cd\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-5.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"89\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-5.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-142\"  sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u56e0\u7d20<\/strong><\/th><th><strong>\u63cf\u8ff0<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>tf(t in d)<\/strong><\/td><td>\u672f\u8bed (<strong>t<\/strong>) \u5728\u6587\u6863 (<strong>d<\/strong>) \u4e2d\u7684\u8bcd\u9891\u56e0\u5b50\u3002\u8868\u793a\u8be5\u672f\u8bed\u5728\u6587\u6863\u4e2d\u51fa\u73b0\u7684\u9891\u7387\u3002<\/td><\/tr><tr><td><strong>idf(t)<\/strong><\/td><td>\u672f\u8bed\u7684\u9006\u6587\u6863\u9891\u7387\u3002\u8868\u793a\u8be5\u672f\u8bed\u5728\u6574\u4e2a\u6587\u6863\u96c6\u5408\u4e2d\u7684\u7a00\u6709\u7a0b\u5ea6\uff0c\u7a00\u6709\u7684\u672f\u8bed\u5bf9\u5f97\u5206\u5f71\u54cd\u66f4\u5927\u3002<\/td><\/tr><tr><td><strong>boost(t.field in d)<\/strong><\/td><td>\u5b57\u6bb5\u63d0\u5347\u56e0\u5b50\uff0c\u901a\u5e38\u5728\u7d22\u5f15\u65f6\u8bbe\u7f6e\uff0c\u7528\u4e8e\u63d0\u5347\u7279\u5b9a\u5b57\u6bb5\u7684\u6743\u91cd\u3002<\/td><\/tr><tr><td><strong>lengthNorm(t.field in d)<\/strong><\/td><td>\u5b57\u6bb5\u7684\u957f\u5ea6\u5f52\u4e00\u5316\u503c\uff0c\u6839\u636e\u5b57\u6bb5\u4e2d\u7684\u8bcd\u8bed\u6570\u91cf\u8fdb\u884c\u5f52\u4e00\u5316\u3002\u6b64\u503c\u5728\u7d22\u5f15\u65f6\u8ba1\u7b97\uff0c\u5e76\u5b58\u50a8\u5728\u7d22\u5f15\u4e2d\u3002<\/td><\/tr><tr><td><strong>coord(q, d)<\/strong><\/td><td>\u534f\u8c03\u56e0\u5b50\uff0c\u57fa\u4e8e\u6587\u6863\u4e2d\u5339\u914d\u67e5\u8be2\u9879\u7684\u6570\u91cf\u6765\u8ba1\u7b97\u3002\u5339\u914d\u7684\u67e5\u8be2\u9879\u8d8a\u591a\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002<\/td><\/tr><tr><td><strong>queryNorm(q)<\/strong><\/td><td>\u67e5\u8be2\u7684\u5f52\u4e00\u5316\u503c\uff0c\u6839\u636e\u67e5\u8be2\u9879\u7684\u52a0\u6743\u5e73\u65b9\u548c\u8ba1\u7b97\u3002\u786e\u4fdd\u67e5\u8be2\u9879\u66f4\u591a\u7684\u67e5\u8be2\u4e0d\u4f1a\u4e0d\u516c\u5e73\u5730\u5f71\u54cd\u5f97\u5206\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Solr<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u662f\u57fa\u4e8e<strong>Apache Lucene\u2122<\/strong>\u6784\u5efa\u7684\u6d41\u884c\u3001\u5feb\u901f\u3001\u5f00\u6e90\u7684\u4f01\u4e1a\u641c\u7d22\u5e73\u53f0\u3002<\/li>\n\n\n\n<li>\u5177\u6709\u9ad8\u5ea6\u53ef\u9760\u6027\u3001\u53ef\u6269\u5c55\u6027\u548c\u5bb9\u9519\u6027\uff0c\u63d0\u4f9b\u5206\u5e03\u5f0f\u7d22\u5f15\u3001\u590d\u5236\u548c\u8d1f\u8f7d\u5e73\u8861\u67e5\u8be2\u3001\u81ea\u52a8\u6545\u969c\u8f6c\u79fb\u548c\u6062\u590d\u3001\u96c6\u4e2d\u914d\u7f6e\u7b49\u3002<\/li>\n\n\n\n<li>Solr\u4e3a\u4e16\u754c\u4e0a\u8bb8\u591a\u6700\u5927\u7684\u4e92\u8054\u7f51\u7f51\u7ad9\u7684\u641c\u7d22\u548c\u5bfc\u822a\u529f\u80fd\u63d0\u4f9b\u652f\u6301\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">SolrJ<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp;SolrJ \u662f&nbsp;<a href=\"https:\/\/so.csdn.net\/so\/search?q=Solr&amp;spm=1001.2101.3001.7020\" target=\"_blank\" rel=\"noreferrer noopener\">Solr<\/a>&nbsp;\u5b98\u65b9\u63d0\u4f9b\u7684 Java \u5ba2\u6237\u7aef\u5e93\uff0c\u7528\u4e8e\u4e0e Solr \u670d\u52a1\u5668\u8fdb\u884c\u4ea4\u4e92\uff0c\u5305\u62ec\u7d22\u5f15\u6587\u6863\u3001\u6267\u884c\u641c\u7d22\u67e5\u8be2\u3001\u7ba1\u7406\u6838\u5fc3\uff08cores\uff09\u7b49\u64cd\u4f5c\u3002<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e5d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>WebService<\/strong><\/h2>\n\n\n\n<p>\u63d0\u4f9b\u8de8\u786c\u4ef6\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u7a0b\u8bed\u8a00\u548c\u5e94\u7528\u7a0b\u5e8f\u5b9e\u73b0\u771f\u6b63\u4e92\u64cd\u4f5c\u6027\u7684\u673a\u4f1a<\/p>\n\n\n\n<p>Web\uff1a\u76f8\u5bf9\u4e8eIPC\uff08\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff09\uff0c\u6bd4\u5982java\u4e2d\u7684RMI\uff08remote method invocation\uff09\u8fdc\u7a0b\u65b9\u6cd5\u8c03\u7528\uff0c\u6216\u8005\u5176\u4ed6\u8bed\u8a00\u4e2d\u7684RPC\uff08\u8fdc\u7a0b\u8fc7\u7a0b\u8c03\u7528\uff09\uff0cweb\u7684\u8bbf\u95ee\u80fd\u529b\u4f1a\u5f3a\u5f97\u591a\u2014\u2014\u53ea\u6709web\u624d\u80fd\u505a\u5230\u8bf4\u6bd4\u5982\u7f8e\u56fd\u5927\u5b66\u6709\u4e2a\u670d\u52a1\u5668\uff0c\u6211\u5728\u4e2d\u56fd\u4e5f\u53ef\u4ee5\u8bbf\u95ee\u5f97\u5230\u3002<\/p>\n\n\n\n<p>Services\uff1a\u72ec\u7acb\u4e8e\u5177\u4f53\u7684\u5b9e\u73b0\uff0c\u89e3\u51b3\u7684\u662f\u5f02\u6784\u7684\u95ee\u9898\uff08\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u7a0b\u8bed\u8a00\u7684\u5dee\u5f02\uff09\uff0c\u6bd4\u5982\u5ba2\u6237\u7aef\u662fC#\u5f00\u53d1\u7684\uff0c\u670d\u52a1\u7aef\u662fjava\u5f00\u53d1\u7684\uff0c\u90a3\u4e3a\u4e86\u65b9\u4fbf\u4ed6\u4eec\u4e4b\u95f4\u7684\u4ea4\u4e92\uff0c\u6211\u4eec\u5c31\u8981\u8d70\u7eaf\u6587\u672c\u7684\u8def\u7ebf\uff0c\u5927\u5bb6\u90fd\u80fd\u8ba4\u8bc6\u3002\u65e2\u7136\u662f\u7eaf\u6587\u672c\uff0c\u90a3\u9700\u8981\u4e00\u5b9a\u7684\u683c\u5f0f\uff0cSOAP\u4f20\u7684\u6570\u636e\u91cc\u9762\u5305\u62ec\u4e86\u4e00\u7cfb\u5217\u7684operation\u3001\u53c2\u6570\u7684\u540d\u79f0\u7c7b\u578b\uff0c\u4f46\u662f\u6570\u636e\u9a71\u52a8\u578b\u7684\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SOAP<\/h2>\n\n\n\n<p>SOAP\uff08Simple Object Access Protocol\uff0c\u7b80\u5355\u5bf9\u8c61\u8bbf\u95ee\u534f\u8bae\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u7f51\u7edc\u670d\u52a1\u7684\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u5e94\u7528\u7a0b\u5e8f\u4e4b\u95f4\u901a\u8fc7\u7f51\u7edc\u8fdb\u884c\u6570\u636e\u4ea4\u6362\u3002SOAP \u662f\u57fa\u4e8e XML \u7684\u4e00\u79cd\u534f\u8bae\uff0c\u53ef\u4ee5\u5728\u4e0d\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u7f16\u7a0b\u8bed\u8a00\u4e4b\u95f4\u4f20\u9012\u4fe1\u606f\uff0c\u5177\u6709\u826f\u597d\u7684\u517c\u5bb9\u6027\u548c\u6269\u5c55\u6027\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">SOAP \u7684\u57fa\u672c\u6982\u5ff5<\/h4>\n\n\n\n<p>SOAP \u662f\u4e00\u79cd\u57fa\u4e8e\u6d88\u606f\u4f20\u9012\u7684\u534f\u8bae\u3002\u6bcf\u6b21\u4ea4\u4e92\u90fd\u662f\u901a\u8fc7\u53d1\u9001\u201c\u8bf7\u6c42\u201d\u548c\u63a5\u6536\u201c\u54cd\u5e94\u201d\u7684\u5f62\u5f0f\u8fdb\u884c\u3002SOAP \u534f\u8bae\u89c4\u5b9a\u4e86\u6570\u636e\u5e94\u8be5\u5982\u4f55\u5728\u8bf7\u6c42\u548c\u54cd\u5e94\u4e2d\u88ab\u683c\u5f0f\u5316\uff0c\u4ece\u800c\u786e\u4fdd\u4e0d\u540c\u7684\u7cfb\u7edf\u53ef\u4ee5\u7406\u89e3\u548c\u5904\u7406\u8fd9\u4e9b\u6570\u636e\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">SOAP \u7684\u7ec4\u6210\u90e8\u5206<\/h4>\n\n\n\n<p><strong>SOAP \u6d88\u606f<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SOAP \u6d88\u606f\u901a\u5e38\u662f\u4e00\u4e2a XML \u6587\u6863\uff0c\u4e3b\u8981\u5305\u62ec\u56db\u90e8\u5206\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>Envelope<\/strong>\uff1a\u6d88\u606f\u7684\u5916\u5c42\uff0c\u5b9a\u4e49\u4e86\u6d88\u606f\u662f SOAP \u6d88\u606f\u3002<\/li>\n\n\n\n<li><strong>Header<\/strong>\uff1a\u53ef\u9009\u90e8\u5206\uff0c\u901a\u5e38\u5305\u542b\u4e00\u4e9b\u63a7\u5236\u4fe1\u606f\uff0c\u6bd4\u5982\u8eab\u4efd\u9a8c\u8bc1\u3001\u4f1a\u8bdd\u4fe1\u606f\u7b49\u3002<\/li>\n\n\n\n<li><strong>Body<\/strong>\uff1a\u4e3b\u8981\u5185\u5bb9\u90e8\u5206\uff0c\u5305\u542b\u4e86\u8bf7\u6c42\u6216\u54cd\u5e94\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>Fault<\/strong>\uff1a\u53ef\u9009\u90e8\u5206\uff0c\u7528\u4e8e\u8868\u793a\u51fa\u9519\u4fe1\u606f\uff0c\u6bd4\u5982\u670d\u52a1\u4e0d\u53ef\u7528\u3001\u6743\u9650\u4e0d\u8db3\u7b49\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>WSDL\uff08Web Services Description Language\uff09<\/strong>\uff1aWSDL \u662f\u4e00\u79cd\u63cf\u8ff0 SOAP \u670d\u52a1\u7684 XML \u6587\u4ef6\u3002\u5b83\u5b9a\u4e49\u4e86\u670d\u52a1\u7684\u6240\u6709\u63a5\u53e3\u3001\u65b9\u6cd5\u3001\u53c2\u6570\u4ee5\u53ca\u8fd4\u56de\u503c\u7684\u683c\u5f0f\uff0c\u5e2e\u52a9\u5ba2\u6237\u7aef\u77e5\u9053\u5982\u4f55\u4f7f\u7528\u8fd9\u4e2a\u670d\u52a1\u3002\u53ef\u4ee5\u7406\u89e3\u4e3a\u670d\u52a1\u7684\u201c\u8bf4\u660e\u4e66\u201d\u3002<\/p>\n\n\n\n<p><strong>SOAP \u4f20\u8f93\u534f\u8bae<\/strong>\uff1aSOAP \u901a\u5e38\u4f7f\u7528 HTTP \u6216 HTTPS \u4f5c\u4e3a\u4f20\u8f93\u5c42\u534f\u8bae\uff0c\u4e5f\u53ef\u4ee5\u7528\u5176\u4ed6\u534f\u8bae\uff08\u5982 SMTP\uff09\u3002HTTP \u662f\u6700\u5e38\u89c1\u7684\uff0c\u56e0\u4e3a\u5b83\u80fd\u7a7f\u900f\u5927\u591a\u6570\u9632\u706b\u5899\uff0c\u5b89\u5168\u6027\u9ad8\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">SOAP \u7684\u529f\u80fd\u548c\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8de8\u5e73\u53f0<\/strong>\uff1aSOAP \u4f7f\u7528\u6807\u51c6\u7684 XML \u683c\u5f0f\uff0c\u53ef\u4ee5\u5728\u4e0d\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u7a0b\u8bed\u8a00\u4e4b\u95f4\u4f20\u8f93\u6570\u636e\u3002\u6bd4\u5982\uff0c\u4e00\u4e2a Java \u670d\u52a1\u7aef\u7684\u5e94\u7528\u53ef\u4ee5\u901a\u8fc7 SOAP \u548c C# \u5ba2\u6237\u7aef\u7684\u5e94\u7528\u8fdb\u884c\u901a\u4fe1\u3002<\/li>\n\n\n\n<li><strong>\u4e25\u683c\u7684\u6807\u51c6\u5316<\/strong>\uff1aSOAP \u6709\u4e00\u5957\u975e\u5e38\u4e25\u683c\u7684\u6807\u51c6\u548c\u683c\u5f0f\u3002\u867d\u7136\u8fd9\u53ef\u80fd\u4f1a\u5bfc\u81f4 SOAP \u6d88\u606f\u7684\u4f53\u79ef\u8f83\u5927\uff0c\u4f46\u4e5f\u786e\u4fdd\u4e86\u6570\u636e\u7684\u51c6\u786e\u6027\u548c\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1aSOAP \u534f\u8bae\u901a\u5e38\u642d\u914d HTTPS \u4f7f\u7528\uff0c\u652f\u6301 WS-Security\uff0c\u53ef\u4ee5\u5728 SOAP \u6d88\u606f\u4e2d\u6dfb\u52a0\u6570\u5b57\u7b7e\u540d\u548c\u52a0\u5bc6\uff0c\u4fdd\u8bc1\u6570\u636e\u7684\u5b89\u5168\u4f20\u8f93\u3002\u56e0\u6b64\uff0cSOAP \u975e\u5e38\u9002\u7528\u4e8e\u94f6\u884c\u3001\u91d1\u878d\u7b49\u9700\u8981\u9ad8\u5b89\u5168\u6027\u7684\u573a\u666f\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u9760\u6027<\/strong>\uff1aSOAP \u652f\u6301 ACID\uff08Atomicity, Consistency, Isolation, Durability\uff09\u4e8b\u52a1\u7279\u6027\uff0c\u56e0\u6b64\u53ef\u4ee5\u786e\u4fdd\u6570\u636e\u7684\u4f20\u8f93\u548c\u64cd\u4f5c\u7684\u5b8c\u6574\u6027\uff0c\u975e\u5e38\u9002\u5408\u9700\u8981\u4fdd\u8bc1\u6570\u636e\u51c6\u786e\u6027\u7684\u4e1a\u52a1\u903b\u8f91\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">SOAP \u7684\u5de5\u4f5c\u6d41\u7a0b<\/h4>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u5929\u6c14\u67e5\u8be2\u670d\u52a1\u7684 SOAP \u670d\u52a1\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u8bf7\u6c42\u5929\u6c14\u4fe1\u606f\uff0c\u670d\u52a1\u7aef\u4f1a\u8fd4\u56de\u76f8\u5e94\u7684\u7ed3\u679c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49 WSDL<\/strong>\uff1a\u670d\u52a1\u63d0\u4f9b\u65b9\u4f1a\u53d1\u5e03 WSDL\uff0c\u5b9a\u4e49\u4e86\u8be5\u670d\u52a1\u7684\u63a5\u53e3\u3001\u65b9\u6cd5\u3001\u53c2\u6570\u7b49\u4fe1\u606f\u3002\u5ba2\u6237\u7aef\u53ef\u4ee5\u67e5\u770b WSDL \u4e86\u89e3\u670d\u52a1\u7684\u4f7f\u7528\u65b9\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u6784\u5efa SOAP \u8bf7\u6c42<\/strong>\uff1a\u5ba2\u6237\u7aef\u4f1a\u6839\u636e WSDL \u6784\u5efa\u4e00\u4e2a SOAP \u8bf7\u6c42\u6d88\u606f\u3002\u5047\u8bbe\u5ba2\u6237\u7aef\u60f3\u67e5\u8be2\u67d0\u4e2a\u57ce\u5e02\u7684\u5929\u6c14\uff0c\u5b83\u4f1a\u53d1\u9001\u5305\u542b\u57ce\u5e02\u4fe1\u606f\u7684 SOAP \u8bf7\u6c42\u6d88\u606f\u3002<\/li>\n\n\n\n<li><strong>\u53d1\u9001\u8bf7\u6c42<\/strong>\uff1a\u5ba2\u6237\u7aef\u5c06 SOAP \u6d88\u606f\u901a\u8fc7 HTTP\uff08\u6216 HTTPS\uff09\u53d1\u9001\u7ed9\u670d\u52a1\u7aef\u3002<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u7aef\u5904\u7406\u8bf7\u6c42<\/strong>\uff1a\u670d\u52a1\u7aef\u63a5\u6536\u5230 SOAP \u6d88\u606f\u540e\uff0c\u4f1a\u89e3\u6790\u6d88\u606f\u5185\u5bb9\uff0c\u63d0\u53d6\u51fa\u8bf7\u6c42\u7684\u57ce\u5e02\u4fe1\u606f\uff0c\u7136\u540e\u67e5\u8be2\u5929\u6c14\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6784\u5efa\u54cd\u5e94<\/strong>\uff1a\u670d\u52a1\u7aef\u5c06\u67e5\u8be2\u5230\u7684\u5929\u6c14\u4fe1\u606f\u5c01\u88c5\u6210 SOAP \u54cd\u5e94\u6d88\u606f\uff0c\u7136\u540e\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\u3002<\/li>\n\n\n\n<li><strong>\u5ba2\u6237\u7aef\u89e3\u6790\u54cd\u5e94<\/strong>\uff1a\u5ba2\u6237\u7aef\u63a5\u6536\u5230\u670d\u52a1\u7aef\u7684\u54cd\u5e94 SOAP \u6d88\u606f\u540e\uff0c\u89e3\u6790\u6d88\u606f\u4f53\uff0c\u83b7\u53d6\u5929\u6c14\u4fe1\u606f\u5e76\u663e\u793a\u7ed9\u7528\u6237\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">SOAP \u4e0e REST \u7684\u6bd4\u8f83<\/h4>\n\n\n\n<p>SOAP \u548c REST \u662f\u4e24\u79cd\u5e38\u7528\u7684\u7f51\u7edc\u670d\u52a1\u534f\u8bae\uff0c\u5b83\u4eec\u7684\u533a\u522b\u5728\u4e8e\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u683c\u5f0f<\/strong>\uff1aSOAP \u4f7f\u7528 XML\uff0c\u683c\u5f0f\u4e25\u683c\uff1bREST \u901a\u5e38\u4f7f\u7528 JSON \u6216 XML\uff0c\u683c\u5f0f\u8f83\u4e3a\u7075\u6d3b\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u8f93\u534f\u8bae<\/strong>\uff1aSOAP \u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u4f20\u8f93\u534f\u8bae\uff08\u5982 HTTP\u3001SMTP\uff09\uff0c\u800c REST \u901a\u5e38\u53ea\u4f7f\u7528 HTTP\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1aSOAP \u6709\u8f83\u9ad8\u7684\u5b89\u5168\u6027\uff0c\u9002\u5408\u9ad8\u5b89\u5168\u6027\u7684\u5e94\u7528\u573a\u666f\uff1bREST \u5728\u5b89\u5168\u6027\u4e0a\u5219\u76f8\u5bf9\u7b80\u5355\u4e00\u4e9b\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd<\/strong>\uff1aSOAP \u6d88\u606f\u6bd4\u8f83\u5e9e\u5927\uff0c\u6027\u80fd\u8f83\u6162\uff1bREST \u56e0\u4e3a\u6d88\u606f\u683c\u5f0f\u7075\u6d3b\uff0c\u4f20\u8f93\u6548\u7387\u901a\u5e38\u66f4\u9ad8\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u9002\u7528\u573a\u666f<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f01\u4e1a\u5e94\u7528<\/strong>\uff1aSOAP \u9002\u5408\u90a3\u4e9b\u9700\u8981\u590d\u6742\u4e8b\u52a1\u7ba1\u7406\u548c\u9ad8\u5b89\u5168\u6027\u7684\u5e94\u7528\u573a\u666f\uff0c\u6bd4\u5982\u94f6\u884c\u3001\u653f\u5e9c\u90e8\u95e8\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u8de8\u5e73\u53f0<\/strong>\uff1a\u5728\u9700\u8981\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u548c\u5e73\u53f0\u7684\u73af\u5883\u4e2d\uff0cSOAP \u53ef\u4ee5\u63d0\u4f9b\u7edf\u4e00\u7684\u63a5\u53e3\u548c\u6807\u51c6\u5316\u7684\u901a\u4fe1\u65b9\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u5b89\u5168\u6027\u9700\u6c42<\/strong>\uff1a\u5982\u91d1\u878d\u670d\u52a1\u3001\u652f\u4ed8\u7f51\u5173\u7b49\u9700\u8981\u52a0\u5bc6\u548c\u7b7e\u540d\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<p>SOAP \u662f\u4e00\u79cd\u57fa\u4e8e XML \u7684\u7f51\u7edc\u670d\u52a1\u534f\u8bae\uff0c\u63d0\u4f9b\u4e86\u8de8\u5e73\u53f0\u3001\u9ad8\u5b89\u5168\u6027\u548c\u53ef\u9760\u7684\u901a\u4fe1\u65b9\u5f0f\uff0c\u7279\u522b\u9002\u7528\u4e8e\u4f01\u4e1a\u7ea7\u5e94\u7528\u548c\u9700\u8981\u9ad8\u6570\u636e\u5b8c\u6574\u6027\u7684\u573a\u666f\u3002\u5c3d\u7ba1\u5b83\u7684\u6d88\u606f\u683c\u5f0f\u6bd4\u8f83\u590d\u6742\uff0c\u4f46\u6807\u51c6\u5316\u7684\u683c\u5f0f\u4e5f\u8ba9\u5b83\u6210\u4e3a\u4e00\u79cd\u7a33\u5b9a\u548c\u5b89\u5168\u7684\u7f51\u7edc\u670d\u52a1\u9009\u62e9\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SOAP \u7f3a\u70b9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e0e\u6d88\u606f\u683c\u5f0f\u8026\u5408<\/strong>\uff1aSOAP \u5f3a\u5236\u4f7f\u7528\u7279\u5b9a\u7684 XML \u6d88\u606f\u683c\u5f0f\u3002\u7531\u4e8e\u4e25\u683c\u7684\u683c\u5f0f\u8981\u6c42\uff0c\u4e0d\u540c\u7cfb\u7edf\u4e4b\u95f4\u7684\u901a\u4fe1\u9700\u8981\u5728\u683c\u5f0f\u4e0a\u4fdd\u6301\u4e00\u81f4\uff0c\u8fd9\u5bfc\u81f4\u670d\u52a1\u548c\u5ba2\u6237\u7aef\u5728\u6570\u636e\u683c\u5f0f\u4e0a\u6709\u5f88\u5f3a\u7684\u8026\u5408\u6027\u3002<\/li>\n\n\n\n<li><strong>\u4e0e\u7f16\u7801\u65b9\u5f0f\u8026\u5408<\/strong>\uff1aSOAP \u7684\u6d88\u606f\u7f16\u7801\u65b9\u5f0f\u4e5f\u5f88\u56fa\u5b9a\uff0c\u4e0d\u540c\u7cfb\u7edf\u95f4\u5fc5\u987b\u4f7f\u7528\u76f8\u540c\u7684\u7f16\u7801\u65b9\u5f0f\u3002\u8fd9\u589e\u52a0\u4e86\u590d\u6742\u6027\uff0c\u4e5f\u4f7f\u5f97\u670d\u52a1\u53d8\u5f97\u66f4\u52a0\u50f5\u5316\u548c\u96be\u4ee5\u9002\u5e94\u4e0d\u540c\u9700\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u6790\u548c\u7ec4\u88c5 SOAP \u6d88\u606f<\/strong>\uff1aSOAP \u6d88\u606f\u662f\u57fa\u4e8e XML \u7684\uff0c\u56e0\u6b64\u9700\u8981\u989d\u5916\u7684\u89e3\u6790\u548c\u7ec4\u88c5\u8fc7\u7a0b\u3002\u8fd9\u4e9b\u64cd\u4f5c\u4f1a\u6d88\u8017\u8d44\u6e90\uff0c\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u8d1f\u62c5\uff0c\u7279\u522b\u662f\u5f53\u6d88\u606f\u5185\u5bb9\u8f83\u5927\u65f6\uff0c\u6548\u7387\u95ee\u9898\u4f1a\u66f4\u52a0\u7a81\u51fa\u3002<\/li>\n\n\n\n<li><strong>\u9700\u8981 WSDL \u6765\u63cf\u8ff0\u670d\u52a1\u7ec6\u8282<\/strong>\uff1aWSDL\uff08Web Services Description Language\uff09\u662f\u7528\u6765\u63cf\u8ff0 SOAP \u670d\u52a1\u7684\u63a5\u53e3\u3001\u65b9\u6cd5\u3001\u53c2\u6570\u7b49\u4fe1\u606f\u7684 XML \u6587\u4ef6\u3002\u4f7f\u7528 SOAP \u670d\u52a1\u7684\u5ba2\u6237\u7aef\u9700\u8981\u901a\u8fc7 WSDL \u6765\u4e86\u89e3\u670d\u52a1\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8fd9\u4f7f\u5f97\u6574\u4e2a\u6d41\u7a0b\u66f4\u4e3a\u590d\u6742\u548c\u4f9d\u8d56\u6587\u6863\u3002<\/li>\n\n\n\n<li><strong>\u9700\u8981\u751f\u6210\u4ee3\u7406<\/strong>\uff1a\u5728\u57fa\u4e8e SOAP \u7684\u7f51\u7edc\u670d\u52a1\u4e2d\uff0c\u5ba2\u6237\u7aef\u901a\u5e38\u9700\u8981\u751f\u6210\u4ee3\u7406\uff08Proxy\uff09\u6765\u4e0e\u670d\u52a1\u7aef\u4ea4\u4e92\u3002\u4ee3\u7406\u662f\u57fa\u4e8e WSDL \u81ea\u52a8\u751f\u6210\u7684\u4ee3\u7801\uff0c\u8fd9\u4e00\u8fc7\u7a0b\u65e2\u589e\u52a0\u4e86\u7cfb\u7edf\u5f00\u53d1\u7684\u590d\u6742\u6027\uff0c\u53c8\u589e\u52a0\u4e86\u7ef4\u62a4\u6210\u672c\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u7531\u4e8e\u4e0a\u8ff0\u8fd9\u4e9b\u8026\u5408\u6027\u548c\u590d\u6742\u6027\uff0c\u4f7f\u7528 SOAP \u5b9e\u73b0\u7f51\u7edc\u670d\u52a1\u4f1a\u8017\u8d39\u8f83\u591a\u7684\u65f6\u95f4\u548c\u7cbe\u529b\uff0c\u56e0\u6b64\u5efa\u8bae\u8003\u8651\u5bfb\u627e\u65b0\u7684\u65b9\u5f0f\u6765\u5b9e\u73b0\u7f51\u7edc\u670d\u52a1\u3002\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u8fd1\u5e74\u6765 REST\uff08Representational State Transfer\uff09\u7b49\u66f4\u8f7b\u91cf\u7ea7\u7684\u7f51\u7edc\u670d\u52a1\u65b9\u5f0f\u9010\u6e10\u6d41\u884c\u7684\u539f\u56e0\uff0cREST \u66f4\u7075\u6d3b\u3001\u683c\u5f0f\u66f4\u81ea\u7531\uff0c\u5e76\u4e14\u66f4\u5bb9\u6613\u7406\u89e3\u548c\u5b9e\u73b0\u3002\u56e0\u6b64\u6211\u4eec\u9700\u8981<strong>\u6570\u636e\u9a71\u52a8\u578b<\/strong>\u7684\u65b9\u5f0f\u6765\uff0cRestful Web Service\u5e94\u8fd0\u800c\u751f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">REST\uff08Representational State Transfer\uff09<\/h2>\n\n\n\n<p>REST \u662f\u4e00\u79cd\u8f7b\u91cf\u7ea7\u7684\u67b6\u6784\u98ce\u683c\uff0c\u7528\u4e8e\u8bbe\u8ba1\u7f51\u7edc\u670d\u52a1\u3002\u5b83\u57fa\u4e8e HTTP \u534f\u8bae\uff0c\u901a\u8fc7 URI \u8bbf\u95ee\u8d44\u6e90\uff0c\u4f7f\u7528\u7edf\u4e00\u7684\u63a5\u53e3\u5b9e\u73b0\u6570\u636e\u7684\u4f20\u8f93\u548c\u64cd\u4f5c\u3002\u76f8\u6bd4\u4e8e SOAP\uff0cREST \u66f4\u52a0\u7075\u6d3b\u3001\u9ad8\u6548\uff0c\u662f\u73b0\u4ee3 Web \u5f00\u53d1\u548c\u5fae\u670d\u52a1\u67b6\u6784\u7684\u9996\u9009\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Representational\uff08\u8868\u8ff0\uff09<\/strong>\uff1a\u6240\u6709\u6570\u636e\u90fd\u662f\u8d44\u6e90\uff0c\u6bcf\u4e2a\u8d44\u6e90\u90fd\u6709\u5176\u4e0d\u540c\u7684\u8868\u8ff0\u3002\u8d44\u6e90\u53ef\u4ee5\u6709\u591a\u79cd\u8868\u793a\u65b9\u5f0f\uff0c\u4f8b\u5982 JSON\u3001XML \u7b49\u3002\u6bcf\u4e2a\u8d44\u6e90\u90fd\u6709\u4e00\u4e2a\u552f\u4e00\u7684 URI \u6765\u6807\u8bc6\uff0c\u901a\u8fc7 URI\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u8bbf\u95ee\u5e76\u64cd\u4f5c\u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>State\uff08\u72b6\u6001\uff09<\/strong>\uff1a\u6307\u5ba2\u6237\u7aef\u7684\u72b6\u6001\uff0c\u670d\u52a1\u5668\u662f\u65e0\u72b6\u6001\u7684\u3002\u8d44\u6e90\u7684\u8868\u8ff0\uff08Representation\uff09\u662f\u5ba2\u6237\u7aef\u7684\u72b6\u6001\u7684\u4e00\u90e8\u5206\u3002\u6bcf\u6b21\u8bf7\u6c42\u540e\uff0c\u5ba2\u6237\u7aef\u63a5\u6536\u5230\u8d44\u6e90\u7684\u8868\u8ff0\u5e76\u66f4\u65b0\u81ea\u8eab\u72b6\u6001\uff0c\u800c\u670d\u52a1\u5668\u65e0\u9700\u4fdd\u5b58\u8bf7\u6c42\u4e4b\u95f4\u7684\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>Transfer\uff08\u4f20\u8f93\uff09<\/strong>\uff1a\u5ba2\u6237\u7aef\u901a\u8fc7\u8bf7\u6c42 URI \u83b7\u53d6\u8d44\u6e90\u7684\u8868\u8ff0\u5e76\u66f4\u65b0\u81ea\u8eab\u72b6\u6001\u3002\u6bcf\u5f53\u5ba2\u6237\u7aef\u8bf7\u6c42\u4e0d\u540c\u7684\u8d44\u6e90\u65f6\uff0c\u72b6\u6001\u4fe1\u606f\u901a\u8fc7\u8d44\u6e90\u7684\u8868\u8ff0\u88ab\u4f20\u8f93\u5230\u5ba2\u6237\u7aef\uff0c\u8fd9\u5c31\u662f\u201c\u8868\u8ff0\u6027\u72b6\u6001\u8f6c\u79fb\u201d\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">REST \u7684\u6838\u5fc3\u6982\u5ff5<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u65e0\u72b6\u6001\u6027<\/strong>\uff08Stateless\uff09REST \u662f\u65e0\u72b6\u6001\u7684\uff0c\u670d\u52a1\u5668\u4e0d\u4fdd\u5b58\u5ba2\u6237\u7aef\u7684\u72b6\u6001\u3002\u6bcf\u4e2a\u8bf7\u6c42\u90fd\u662f\u72ec\u7acb\u7684\uff0c\u5ba2\u6237\u7aef\u5fc5\u987b\u5728\u8bf7\u6c42\u4e2d\u5305\u542b\u6240\u6709\u5fc5\u8981\u7684\u4fe1\u606f\u3002\u65e0\u72b6\u6001\u7684\u8bbe\u8ba1\u8ba9\u7cfb\u7edf\u66f4\u6613\u4e8e\u6269\u5c55\u548c\u7ef4\u62a4\u3002<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u5bfc\u5411<\/strong>\uff08Resource-Oriented\uff09\u5728 REST \u4e2d\uff0c\u6bcf\u4e2a URL \u90fd\u8868\u793a\u4e00\u4e2a\u8d44\u6e90\uff0c\u5982\u7528\u6237\u3001\u8ba2\u5355\u3001\u5546\u54c1\u7b49\u3002\u6bcf\u4e2a\u8d44\u6e90\u6709\u4e00\u4e2a\u552f\u4e00\u7684 URI\uff08Uniform Resource Identifier\uff09\uff0c\u4f8b\u5982 <code>\/users\/123<\/code> \u8868\u793a ID \u4e3a 123 \u7684\u7528\u6237\u3002<\/li>\n\n\n\n<li><strong>\u6807\u51c6\u7684 HTTP \u65b9\u6cd5<\/strong>\uff1aREST \u4f7f\u7528 HTTP \u65b9\u6cd5\u6765\u5b9a\u4e49\u64cd\u4f5c\u7c7b\u578b\uff0c\u4e3b\u8981\u5305\u62ec\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>GET<\/strong>\uff1a\u83b7\u53d6\u8d44\u6e90 READ<\/li>\n\n\n\n<li><strong>POST<\/strong>\uff1a\u521b\u5efa\u8d44\u6e90 CREATE<\/li>\n\n\n\n<li><strong>PUT<\/strong>\uff1a\u66f4\u65b0\u8d44\u6e90 UPDATE<\/li>\n\n\n\n<li><strong>DELETE<\/strong>\uff1a\u5220\u9664\u8d44\u6e90 DELETE<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6570\u636e\u683c\u5f0f\u7075\u6d3b<\/strong>\n<ul class=\"wp-block-list\">\n<li>REST \u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u6570\u636e\u683c\u5f0f\uff0c\u6700\u5e38\u89c1\u7684\u662f JSON \u548c XML\uff0c\u4f46 JSON \u66f4\u8f7b\u91cf\uff0c\u4fbf\u4e8e\u89e3\u6790\uff0c\u5e38\u7528\u4e8e\u524d\u540e\u7aef\u4ea4\u4e92\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7edf\u4e00\u63a5\u53e3<\/strong>\uff08Uniform Interface\uff09\n<ul class=\"wp-block-list\">\n<li>REST \u4f7f\u7528\u6807\u51c6\u5316\u7684\u63a5\u53e3\uff0c\u6240\u6709\u8d44\u6e90\u8bbf\u95ee\u548c\u64cd\u4f5c\u90fd\u901a\u8fc7\u6807\u51c6 HTTP \u65b9\u6cd5\u8fdb\u884c\uff0c\u964d\u4f4e\u4e86\u7cfb\u7edf\u590d\u6742\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">REST \u7684\u529f\u80fd\u548c\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8f7b\u91cf\u7ea7\u548c\u7b80\u5355<\/strong>REST \u7684\u6d88\u606f\u683c\u5f0f\u7b80\u5355\uff0c\u901a\u5e38\u4e0d\u9700\u8981\u590d\u6742\u7684 XML \u89e3\u6790\uff0c\u4f20\u8f93\u901f\u5ea6\u66f4\u5feb\uff0c\u8d44\u6e90\u6d88\u8017\u66f4\u5c11\u3002<\/li>\n\n\n\n<li><strong>\u7075\u6d3b\u6027<\/strong>REST \u652f\u6301\u591a\u79cd\u6570\u636e\u683c\u5f0f\uff0c\u5141\u8bb8\u6839\u636e\u9700\u6c42\u9009\u62e9\u6700\u5408\u9002\u7684\u683c\u5f0f\uff08JSON\u3001XML\u3001\u7eaf\u6587\u672c\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u6269\u5c55\u6027<\/strong>REST \u6ca1\u6709\u4e25\u683c\u7684\u6807\u51c6\u548c\u8026\u5408\uff0c\u670d\u52a1\u7aef\u548c\u5ba2\u6237\u7aef\u53ef\u4ee5\u72ec\u7acb\u6f14\u5316\u3002\u65b0\u529f\u80fd\u53ef\u4ee5\u968f\u65f6\u589e\u52a0\uff0c\u4e0d\u5f71\u54cd\u73b0\u6709\u63a5\u53e3\u3002<\/li>\n\n\n\n<li><strong>\u6d4f\u89c8\u5668\u53cb\u597d<\/strong>REST \u5229\u7528 HTTP \u534f\u8bae\uff0c\u9002\u5408\u5728\u6d4f\u89c8\u5668\u73af\u5883\u4e2d\u4f7f\u7528\uff0c\u5c24\u5176\u9002\u7528\u4e8e\u524d\u540e\u7aef\u5206\u79bb\u7684\u5355\u9875\u5e94\u7528\uff08SPA\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>RESTFul\u98ce\u683c\u793a\u4f8b<\/strong><\/p>\n\n\n\n<p>RESTful\u98ce\u683c\u7684Web\u670d\u52a1\u662f\u4e00\u79cd\u57fa\u4e8eREST\uff08Representational State Transfer\uff0c\u8868\u73b0\u5c42\u72b6\u6001\u8f6c\u79fb\uff09\u67b6\u6784\u8bbe\u8ba1\u7684Web\u670d\u52a1\uff0c\u5b83\u901a\u8fc7\u6807\u51c6\u7684HTTP\u65b9\u6cd5\uff08GET\u3001POST\u3001PUT\u3001DELETE\u7b49\uff09\u63d0\u4f9bWeb\u8d44\u6e90\u7684\u64cd\u4f5c\u63a5\u53e3\uff0c\u5229\u7528\u7edf\u4e00\u8d44\u6e90\u6807\u8bc6\u7b26\uff08URI\uff09\u8fdb\u884c\u8d44\u6e90\u7684\u5b9a\u4f4d\u3002\u901a\u8fc7Http\u7684\u8fd4\u56de\u7801\u8868\u793a\u8fd4\u56de\u7684\u7ed3\u679c\uff0c\u6bd4\u5982201\u6210\u529f\uff0c404\u4ee3\u8868\u4e0d\u5b58\u5728\uff0c500\u4ee3\u8868\u670d\u52a1\u5668\u5185\u90e8\u7684\u9519 \u8bef\u3002RESTful\u670d\u52a1\u4ee5\u8f7b\u91cf\u3001\u65e0\u72b6\u6001\u3001\u7b80\u5355\u4e14\u7b26\u5408HTTP\u534f\u8bae\u4e3a\u7279\u70b9\uff0c\u5728\u4e92\u8054\u7f51\u548c\u73b0\u4ee3\u5e94\u7528\u7a0b\u5e8f\u7684\u5f00\u53d1\u4e2d\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5047\u8bbe\u6211\u4eec\u8981\u8bbe\u8ba1\u4e00\u4e2aRESTful\u98ce\u683c\u7684Web\u670d\u52a1\u6765\u7ba1\u7406\u201c\u4e66\u7c4d\u201d\u8d44\u6e90\uff0c\u8d44\u6e90\u8def\u5f84\uff1a<code>\/books<\/code><\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u8bf7\u6c42\u65b9\u6cd5<\/th><th>URI<\/th><th>\u64cd\u4f5c<\/th><\/tr><\/thead><tbody><tr><td>GET<\/td><td><code>\/books<\/code><\/td><td>\u83b7\u53d6\u6240\u6709\u4e66\u7c4d<\/td><\/tr><tr><td>GET<\/td><td><code>\/books\/{id}<\/code><\/td><td>\u83b7\u53d6\u67d0\u4e00\u672c\u4e66\u7c4d\uff08\u901a\u8fc7ID\uff09<\/td><\/tr><tr><td>POST<\/td><td><code>\/books<\/code><\/td><td>\u6dfb\u52a0\u4e00\u672c\u65b0\u4e66<\/td><\/tr><tr><td>PUT<\/td><td><code>\/books\/{id}<\/code><\/td><td>\u66f4\u65b0\u67d0\u4e00\u672c\u4e66\u7c4d\u7684\u4fe1\u606f<\/td><\/tr><tr><td>DELETE<\/td><td><code>\/books\/{id}<\/code><\/td><td>\u5220\u9664\u67d0\u4e00\u672c\u4e66\u7c4d<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">REST \u4e0e SOAP \u7684\u5bf9\u6bd4<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u70b9<\/th><th>REST<\/th><th>SOAP<\/th><\/tr><\/thead><tbody><tr><td><strong>\u6d88\u606f\u683c\u5f0f<\/strong><\/td><td>JSON\uff08\u5e38\u7528\uff09\u3001XML\u3001\u7eaf\u6587\u672c\u7b49<\/td><td>XML<\/td><\/tr><tr><td><strong>\u534f\u8bae\u4f9d\u8d56<\/strong><\/td><td>\u57fa\u4e8e HTTP\uff0c\u8f7b\u91cf\u7ea7<\/td><td>\u57fa\u4e8e XML\uff0c\u534f\u8bae\u590d\u6742<\/td><\/tr><tr><td><strong>\u6027\u80fd<\/strong><\/td><td>\u9ad8\u6548\uff0c\u6d88\u606f\u4f53\u79ef\u5c0f<\/td><td>\u6d88\u606f\u5927\uff0c\u4f20\u8f93\u901f\u5ea6\u6162<\/td><\/tr><tr><td><strong>\u7075\u6d3b\u6027<\/strong><\/td><td>\u7075\u6d3b\uff0c\u53ef\u4ee5\u9002\u5e94\u591a\u79cd\u573a\u666f<\/td><td>\u4e25\u683c\uff0c\u683c\u5f0f\u548c\u534f\u8bae\u4e0d\u7075\u6d3b<\/td><\/tr><tr><td><strong>\u5b89\u5168\u6027<\/strong><\/td><td>HTTP \u81ea\u5e26\u7684 HTTPS \u52a0\u5bc6<\/td><td>\u652f\u6301 WS-Security\uff0c\u9ad8\u5b89\u5168\u6027<\/td><\/tr><tr><td><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td>\u79fb\u52a8\u5e94\u7528\u3001Web \u5e94\u7528\u3001\u5fae\u670d\u52a1\u7b49<\/td><td>\u94f6\u884c\u3001\u91d1\u878d\u3001\u4f01\u4e1a\u7ea7\u5e94\u7528<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">REST \u7684\u9002\u7528\u573a\u666f<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u79fb\u52a8\u5e94\u7528\u548c Web \u5e94\u7528<\/strong>\uff1aREST \u662f\u8f7b\u91cf\u7ea7\u7684\uff0c\u975e\u5e38\u9002\u5408\u9700\u8981\u5b9e\u65f6\u6570\u636e\u4ea4\u4e92\u7684\u79fb\u52a8\u5e94\u7528\u548c Web \u5e94\u7528\u3002<\/li>\n\n\n\n<li><strong>\u5fae\u670d\u52a1\u67b6\u6784<\/strong>\uff1a\u5fae\u670d\u52a1\u67b6\u6784\u4e2d\u591a\u4e2a\u72ec\u7acb\u670d\u52a1\u95f4\u9700\u8981\u9891\u7e41\u4ea4\u4e92\uff0cREST \u7684\u7075\u6d3b\u6027\u548c\u4f4e\u8026\u5408\u975e\u5e38\u9002\u5408\u3002<\/li>\n\n\n\n<li><strong>\u516c\u5171 API<\/strong>\uff1aREST API \u5e38\u7528\u4e8e\u516c\u5f00\u7684\u6570\u636e\u670d\u52a1\uff0c\u5982\u5929\u6c14\u3001\u5730\u56fe\u3001\u793e\u4ea4\u5a92\u4f53\uff0c\u9002\u5408\u5904\u7406\u5927\u91cf\u8bf7\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u7269\u8054\u7f51\uff08IoT\uff09<\/strong>\uff1aREST \u7684\u8f7b\u91cf\u548c\u7075\u6d3b\u6027\u4f7f\u5176\u9002\u5408 IoT \u8bbe\u5907\u95f4\u7684\u6570\u636e\u4ea4\u6362\u3002<\/li>\n<\/ul>\n\n\n\n<p>Restful Web Service\u7279\u70b9\uff1a1. \u5178\u578b\u7684\u5ba2\u6237\u7aef\u3001\u670d\u52a1\u7aef\u67b6\u6784\uff0c\u4f46\u662f\u662f\u65e0\u72b6\u6001\u7684\u30022. \u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u4e4b\u95f4\u4f20\u9012\u7684\u90fd\u662f\u6570\u636e\uff08\u6570\u636e\uff01\u7eaf\u7684\uff01\uff093. \u670d\u52a1\u7aef\u53ea\u5904\u7406\u6570\u636e\uff0c\u6570\u636e\u7684\u5c55\u793a\u5b8c\u5168\u4f9d\u8d56\u4e8e\u5ba2\u6237\u7aef<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u603b\u7ed3<\/h4>\n\n\n\n<p>REST \u662f\u4e00\u79cd\u57fa\u4e8e HTTP \u7684\u65e0\u72b6\u6001\u67b6\u6784\uff0c\u901a\u8fc7\u4f20\u8f93\u8d44\u6e90\u7684\u4e0d\u540c\u8868\u8ff0\u6765\u5e2e\u52a9\u5ba2\u6237\u7aef\u4fdd\u6301\u72b6\u6001\u3002\u5176\u7075\u6d3b\u6027\u3001\u53ef\u6269\u5c55\u6027\u548c\u7b80\u5355\u6027\u4f7f\u5f97 REST \u6210\u4e3a\u73b0\u4ee3 Web \u5f00\u53d1\u3001\u5fae\u670d\u52a1\u548c\u79fb\u52a8\u5e94\u7528\u5f00\u53d1\u7684\u9996\u9009\u65b9\u6cd5\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WS \u7684\u4f18\u7f3a\u70b9\uff08Trade-off of WS\uff09<\/h2>\n\n\n\n<p>WS : web Service<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u4f18\u70b9\uff08Advantages\uff09\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8de8\u5e73\u53f0\uff08Across platforms\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u57fa\u4e8e XML\uff0c\u4e0e\u4f9b\u5e94\u5546\u65e0\u5173\uff08XML-based, independent of vendors\uff09\u3002<\/li>\n\n\n\n<li>\u8868\u793a WS \u4e0d\u53d7\u7279\u5b9a\u5e73\u53f0\u6216\u4f9b\u5e94\u5546\u7684\u9650\u5236\uff0c\u56e0\u5176\u57fa\u4e8e XML \u683c\u5f0f\uff0c\u53ef\u4ee5\u5728\u4e0d\u540c\u5e73\u53f0\u4e4b\u95f4\u4e92\u901a\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u81ea\u63cf\u8ff0\uff08Self-described\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u901a\u8fc7 WSDL\uff08Web Services Description Language\uff09\u63cf\u8ff0\u64cd\u4f5c\u3001\u53c2\u6570\u3001\u7c7b\u578b\u548c\u8fd4\u56de\u503c\u3002<\/li>\n\n\n\n<li>WSDL \u662f\u4e00\u79cd\u6807\u51c6\u5316\u7684 XML \u683c\u5f0f\uff0c\u7528\u4e8e\u63cf\u8ff0 Web \u670d\u52a1\u7684\u63a5\u53e3\uff0c\u56e0\u6b64\u5ba2\u6237\u7aef\u53ef\u4ee5\u901a\u8fc7\u5b83\u7406\u89e3\u670d\u52a1\u7684\u529f\u80fd\u548c\u5982\u4f55\u8c03\u7528\u3002<\/li>\n\n\n\n<li>Restful\u5c31\u662f\u5b8c\u5168\u57fa\u4e8eURL<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6a21\u5757\u5316\uff08Modulization\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5c01\u88c5\u7ec4\u4ef6\uff08Encapsulate components\uff09\u3002<\/li>\n\n\n\n<li>Web \u670d\u52a1\u5141\u8bb8\u5c06\u529f\u80fd\u5206\u5272\u6210\u72ec\u7acb\u6a21\u5757\uff0c\u4f7f\u4e0d\u540c\u7684\u7ec4\u4ef6\u53ef\u4ee5\u72ec\u7acb\u5f00\u53d1\u3001\u6d4b\u8bd5\u548c\u7ef4\u62a4\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8de8\u9632\u706b\u5899\uff08Across Firewall\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 HTTP \u534f\u8bae\u3002\u56e0\u4e3a\u5927\u591a\u6570\u9632\u706b\u5899\u5141\u8bb8 HTTP \u901a\u4fe1\uff0c\u6240\u4ee5 Web \u670d\u52a1\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u7a7f\u900f\u9632\u706b\u5899\u8fdb\u884c\u6570\u636e\u4ea4\u6362\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u7f3a\u70b9\uff08Disadvantages\uff09\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8f83\u4f4e\u7684\u751f\u4ea7\u529b\uff08Lower productivity\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u9002\u5408\u72ec\u7acb\u5e94\u7528\uff08Not suitable for stand-alone applications\uff09\u3002<\/li>\n\n\n\n<li>\u8868\u660e Web \u670d\u52a1\u53ef\u80fd\u4e0d\u9002\u5408\u5355\u673a\u5e94\u7528\u7a0b\u5e8f\u7684\u573a\u666f\uff0c\u56e0\u4e3a\u5176\u8bbe\u8ba1\u662f\u4e3a\u4e86\u8de8\u5e73\u53f0\u3001\u5206\u5e03\u5f0f\u7684\u670d\u52a1\u8c03\u7528\uff0c\u800c\u4e0d\u662f\u672c\u5730\u5e94\u7528\u7684\u6548\u7387\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8f83\u4f4e\u7684\u6027\u80fd\uff08Lower performance\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u89e3\u6790\u548c\u7ec4\u88c5\uff08Parse and assembly\uff09\uff0c\u9700\u8981\u628ajava\u5bf9\u8c61\u8f6c\u5316\u4e3a\u4e00\u4e2a\u7eaf\u6587\u672c\u7684\uff0c\u6216\u8005\u89e3\u6790\u6587\u672c\u4f5c\u4e3a\u4e00\u4e2ajava\u5bf9\u8c61\u3002<\/li>\n\n\n\n<li>\u7531\u4e8e Web \u670d\u52a1\u57fa\u4e8e XML \u683c\u5f0f\u7684\u6570\u636e\u4ea4\u6362\uff0c\u89e3\u6790\u548c\u7ec4\u88c5\u6570\u636e\u7684\u8fc7\u7a0b\u76f8\u5bf9\u590d\u6742\uff0c\u53ef\u80fd\u5bfc\u81f4\u6027\u80fd\u964d\u4f4e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027\uff08Security\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f9d\u8d56\u5176\u4ed6\u673a\u5236\uff0c\u4f8b\u5982 HTTP \u548c SSL\uff08Depend on other mechanism, such as HTTP+SSL\uff09\u3002<\/li>\n\n\n\n<li>Web \u670d\u52a1\u81ea\u8eab\u6ca1\u6709\u5185\u5efa\u5b89\u5168\u673a\u5236\uff0c\u901a\u5e38\u9700\u8981\u4f9d\u8d56\u5176\u4ed6\u534f\u8bae\uff08\u5982 SSL\/TLS\uff09\u6765\u4fdd\u8bc1\u6570\u636e\u4f20\u8f93\u7684\u5b89\u5168\u6027\uff0c\u56e0\u4e3awebService\u7684\u5730\u57df\u6027\u5e7f\uff0c\u5c31\u6bd4\u8f83\u5bb9\u6613\u53d7\u5230\u653b\u51fb\uff0c\u6216\u8005\u4e2d\u95f4\u4eba\u622a\u83b7\u4e86\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u4f7f\u7528\u573a\u666f\uff1a\u652f\u6301\u8de8\u9632\u706b\u5899\u7684\u901a\u8baf\u3001\u652f\u6301\u8de8\u9632\u706b\u5899\u7684\u901a\u4fe1\u3001\u652f\u6301\u5e94\u7528\u96c6\u6210\u3001\u652f\u6301B2B\u96c6\u6210\u3001\u9f13\u52b1\u91cd\u7528\u8f6f\u4ef6\uff1b \u4e0d\u5e94\u8be5\u4f7f\u7528WS\u65f6\uff1a\u72ec\u7acb\u5e94\u7528\u7a0b\u5e8f\u3001\u5982MS Office\uff08\u8bbf\u95ee\u8303\u56f4\u5c0f\uff09\u3001\u5c40\u57df\u7f51\u4e2d\u7684\u540c\u6784\u5e94\u7528\uff08\u90fd\u662fjava\u63a5 \u53e3\uff0c\u76f4\u63a5\u4e0ajava\u5c31\u5b8c\u4e8b\u4e86\uff09\uff1a\u4f8b\u5982COM+\u6216EJB\u4e4b\u95f4\u7684\u901a\u4fe1\uff08\u518d\u6bd4\u5982spring\u8bbf\u95eemysql\u3001redis\u3001kafka\u3001 elasticSearch\uff09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SOA\uff1a\u9762\u5411\u670d\u52a1\u7684\u67b6\u6784<\/h2>\n\n\n\n<p><strong>SOA<\/strong>\u6307\u7684\u662fService-oriented architecture \uff08\u9762\u5411\u670d\u52a1\u7684\u67b6\u6784\uff09\u3002\u6211\u4eec\u5173\u6ce8\u7684\u95ee\u9898\u662f\uff1a\u6211\u4eec\u5728\u7cfb\u7edf\u5f00\u53d1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5f02\u6784\u6027\u548c\u9700\u6c42\u7684\u53d8\u5316\u662f\u6211\u4eec\u6c38\u8fdc\u90fd\u4f1a\u9047\u5230\u7684\uff0c\u90a3\u4e48\u6211\u4eec\u5982\u4f55\u8ba9\u81ea\u5df1\u7684\u7cfb\u7edf\u53bb\u5feb\u901f\u54cd\u5e94\u8fd9\u4e9b\u95ee\u9898\u5462\uff1f<strong>\u5c31\u662f\u7f51\u4e0a\u53bb\u627e\u522b\u4eba\u5199\u597d\u7684\u4e1c\u897f\uff0c\u5982\u679c\u522b\u4eba\u5199\u7684\u90fd\u662f\u548c\u8bed\u8a00\u65e0\u5173\u7684\u670d\u52a1\uff0c\u6211\u4eec\u5c31\u76f4\u63a5\u62ff\u6765\u96c6\u6210<\/strong>\uff01 <\/p>\n\n\n\n<p>\u5047\u5982\u6211\u8981\u6784\u5efa\u4e00\u4e2a\u7535\u5b50\u4e66\u5e97\u3001\u91cc\u9762\u5305\u62ec\u4e86\u8ba4\u8bc1\u767b\u5f55\u7cfb\u7edf\u3001\u8d22\u52a1\u7cfb\u7edf\u3001\u7edf\u8ba1\u7cfb\u7edf\u3001\u8ba2\u5355\u7cfb\u7edf\uff0c\u8fd9\u4e48\u591a\u7cfb\u7edf\u5f00\u53d1\u4e0b\u6765\u5f88\u590d\u6742\uff0c\u800c\u4e14\u5047\u5982\u6211\u662f\u5356\u5bb6\uff0c\u5356\u7ed9\u4e861000\u4e2a\u65b0\u534e\u4e66\u5e97\u7684\u7528\u6237\uff0c\u7136\u540e\u7a81\u7136\u53d1\u73b0\u67d0\u4e2a\u7cfb\u7edf\u5b58\u5728\u6f0f\u6d1e\uff0c\u5c31\u8981\u544a\u8bc9\u4e00\u5343\u4e2a\u7528\u6237\uff0c\u8fd9\u5f88\u9ebb\u70e6\u3002 <\/p>\n\n\n\n<p>\u6240\u4ee5\u5c31\u6709\u4e00\u4e2a\u65b0\u65b9\u6cd5\u3001\u767b\u5f55\u7cfb\u7edf\u7528\u7b2c\u4e09\u65b9\u7684\u6bd4\u5982\u767e\u5ea6\u7684\uff0c\u8ba2\u5355\u7cfb\u7edf\u7528\u7b2c\u4e09\u65b9\u7684\uff0c\u7136\u540e\u6211\u81ea\u5df1\u5c31\u53ea\u505a\u4e00\u4e2a \u96c6\u6210\u3002\u5982\u679c\u53d1\u73b0\u767b\u5f55\u7cfb\u7edf\u6709bug\uff0c\u5c31\u544a\u8bc9\u767e\u5ea6\u7684\u95ee\u9898\uff0c\u767e\u5ea6\u53ea\u8981\u66f4\u65b0\u81ea\u5df1\u7684\u5c31\u53ef\u4ee5\u4e86\uff0c\u6211\u4eec\u4e0d\u7528\u628a\u66f4\u65b0 \u5305\u5206\u53d1\u7ed91000\u4e2a\u7528\u6237\uff0c\u56e0\u4e3a\u5b83\u4eec\u90fd\u662f\u76f4\u63a5\u8c03\u7528\u767e\u5ea6\u7684\u670d\u52a1\uff08\u6bd4\u5982\u4f60\u8c03\u767e\u5ea6\u5730\u56fe\uff0c\u4f60\u5f53\u7136\u4e0d\u662f\u628a\u767e\u5ea6\u7684\u526f \u672c\u653e\u5230\u672c\u5730\u8fd0\u884c\uff0c\u800c\u662f\u8c03\u7528\u4eba\u5bb6\u7684api\uff09\u3002\u8fd9\u6837\u5c31\u53ef\u4ee5\u5feb\u901f\u6784\u5efa\u4e00\u4e2a\u5e94\u7528\uff0c\u8282\u7ea6\u5f00\u53d1\u6210\u672c\u3002<\/p>\n\n\n\n<p>\u7279\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u4e4b\u95f4\u677e\u6563\u8026\u5408\uff0c\u4e5f\u5c31\u662f\u662f\u767b\u5f55\u7cfb\u7edf\u3001\u8d22\u52a1\u7cfb\u7edf\u3001\u7edf\u8ba1\u7cfb\u7edf\u3001\u8ba2\u5355\u7cfb\u7edf\u8fd9\u4e9b\u7cfb\u7edf\u901a\u8fc7\u6211\u5f00\u53d1\u7684\u4e2d \u95f4\u4ef6\u8054\u7cfb\uff0c\u800c\u4e0d\u662fproducer&amp;consumer\u4e4b\u95f4\u76f4\u63a5\u4e92\u76f8\u901a\u4fe1\uff0c\u8fd9\u6837\u7684\u597d\u5904\u5c31\u662f\u5047\u5982\u6211\u53d1\u73b0\u767b\u5f55\u7cfb\u7edf\u4e0d \u597d\u6216\u8005\u592a\u8d35\u4e86\uff0c\u6211\u53ef\u4ee5\u6362\u4e00\u4e0b\uff0c\u6362\u4e4b\u540e\u522b\u7684\u7cfb\u7edf\u4e5f\u4e0d\u4f1a\u53d7\u5230\u5f71\u54cd\uff08\u5f53\u7136\u677e\u8026\u5408\u7684\u4ee3\u4ef7\u5c31\u662f\u6027\u80fd\u4f1a\u5dee \u4e00\u70b9\uff09 <\/li>\n\n\n\n<li>\u4f4d\u7f6e\u900f\u660e\uff0c\u4e2d\u4ecb\u8005\u8d1f\u8d23\u8def\u7531<\/li>\n\n\n\n<li>\u534f\u8bae\u72ec\u7acb\uff0c\u4ecehttp\u5207\u6362\u5230ftp\uff0c\u4f46\u662f\u4e0d\u8981\u8ba9\u5ba2\u6237\u7aef\u6765\u5b9e\u73b0<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Micorservice<\/h2>\n\n\n\n<p>\u5fae\u670d\u52a1\uff08Microservices\uff09\u662f\u4e00\u79cd<strong>\u67b6\u6784\u98ce\u683c<\/strong>\uff0c\u5b83\u5c06\u5e94\u7528\u7a0b\u5e8f\u5206\u89e3\u4e3a\u4e00\u7cfb\u5217\u5c0f\u7684\u3001\u72ec\u7acb\u7684\u670d\u52a1\uff0c\u6bcf\u4e2a\u670d\u52a1\u90fd\u6709\u5176\u7279\u5b9a\u7684\u4e1a\u52a1\u529f\u80fd\u548c\u76ee\u6807\u3002\u8fd9\u4e9b\u670d\u52a1\u76f8\u5bf9\u72ec\u7acb\uff0c\u53ef\u4ee5\u5404\u81ea\u5f00\u53d1\u3001\u90e8\u7f72\u3001\u6269\u5c55\u548c\u7ef4\u62a4\u3002\u8fd9\u79cd\u67b6\u6784\u7684\u6838\u5fc3\u7279\u70b9\u5728\u4e8e<strong>\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4ee5\u72ec\u7acb\u7684\u5c0f\u5757\u5f62\u5f0f\u4ea4\u4ed8<\/strong>\uff0c\u6bcf\u4e2a\u5757\u90fd\u53ef\u4ee5\u5355\u72ec\u5f00\u53d1\u548c\u7ef4\u62a4\uff0c\u4e0d\u4f9d\u8d56\u4e8e\u5176\u4ed6\u90e8\u5206\u3002\u8fd9\u4e0e\u4f20\u7edf\u7684\u5355\u4f53\u67b6\u6784\u5f62\u6210\u4e86\u9c9c\u660e\u7684\u5bf9\u6bd4\uff0c\u540e\u8005\u662f\u5c06\u5e94\u7528\u7a0b\u5e8f\u7684\u6240\u6709\u90e8\u5206\u7d27\u5bc6\u8026\u5408\u5728\u4e00\u8d77\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-264.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"782\" height=\"661\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-264.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1341\" style=\"width:634px;height:auto\"  sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/div><\/figure>\n\n\n\n<p>\u5fae\u670d\u52a1\u67b6\u6784\u7684\u5173\u952e\u8981\u70b9<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u72ec\u7acb\u90e8\u7f72<\/strong>\uff1a\u6bcf\u4e2a\u5fae\u670d\u52a1\u90fd\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u5e94\u7528\u7a0b\u5e8f\u6a21\u5757\uff0c\u53ef\u4ee5<strong>\u5355\u72ec\u8fdb\u884c\u90e8\u7f72\u548c\u6269\u5c55<\/strong>\uff0c\u800c\u4e0d\u4f1a\u5f71\u54cd\u5230\u5176\u4ed6\u670d\u52a1\u3002\u8fd9\u4f7f\u5f97\u56e2\u961f\u53ef\u4ee5\u5728\u4e0d\u5e72\u6270\u6574\u4f53\u7cfb\u7edf\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u5feb\u901f\u8fed\u4ee3\u3002<\/li>\n\n\n\n<li><strong>\u677e\u8026\u5408<\/strong>\uff1a\u5fae\u670d\u52a1\u4e4b\u95f4\u901a\u8fc7API\u6216\u6d88\u606f\u4f20\u9012\u7cfb\u7edf\u8fdb\u884c\u901a\u4fe1\uff0c\u4fdd\u8bc1\u4e86\u670d\u52a1\u4e4b\u95f4\u7684\u4f4e\u8026\u5408\u6027\u3002\u8fd9\u6837\uff0c\u5373\u4fbf\u4e00\u4e2a\u5fae\u670d\u52a1\u51fa\u73b0\u6545\u969c\uff0c\u4e5f\u4e0d\u4f1a\u5f71\u54cd\u5230\u5176\u4ed6\u670d\u52a1\u7684\u8fd0\u884c\uff0c\u63d0\u9ad8\u4e86\u7cfb\u7edf\u7684\u5bb9\u9519\u6027\u3002<\/li>\n\n\n\n<li><strong>\u4e1a\u52a1\u72ec\u7acb\u6027<\/strong>\uff1a\u6bcf\u4e2a\u5fae\u670d\u52a1\u8d1f\u8d23\u4e00\u4e2a\u7279\u5b9a\u7684\u4e1a\u52a1\u529f\u80fd\uff0c\u53ef\u4ee5\u7531\u4e0d\u540c\u7684\u56e2\u961f\u8fdb\u884c\u5f00\u53d1\u548c\u7ba1\u7406\u3002\u8fd9\u4e0d\u4ec5\u63d0\u9ad8\u4e86\u5f00\u53d1\u6548\u7387\uff0c\u8fd8\u8ba9\u56e2\u961f\u53ef\u4ee5\u66f4\u5feb\u901f\u5730\u54cd\u5e94\u4e1a\u52a1\u9700\u6c42\u7684\u53d8\u5316\uff0c\u5b9e\u73b0\u66f4\u597d\u7684\u4e1a\u52a1\u4e0e\u6280\u672f\u7684\u5bf9\u9f50\u3002<\/li>\n\n\n\n<li><strong>\u6280\u672f\u591a\u6837\u6027<\/strong>\uff1a\u7531\u4e8e\u6bcf\u4e2a\u670d\u52a1\u662f\u72ec\u7acb\u7684\uff0c\u56e2\u961f\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u670d\u52a1\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u6280\u672f\u6808\u548c\u5f00\u53d1\u8bed\u8a00\uff0c\u800c\u4e0d\u5fc5\u5c40\u9650\u4e8e\u5355\u4e00\u7684\u6280\u672f\u9009\u62e9\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u5fae\u670d\u52a1\u7684\u4f18\u52bf<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u66f4\u5bb9\u6613\u7ef4\u62a4<\/strong>\uff1a\u7531\u4e8e\u670d\u52a1\u88ab\u5206\u89e3\u4e3a\u5c0f\u578b\u6a21\u5757\uff0c\u4ee3\u7801\u5e93\u53d8\u5f97\u66f4\u5c0f\uff0c\u5bb9\u6613\u7406\u89e3\u548c\u7ef4\u62a4\u3002<\/li>\n\n\n\n<li><strong>\u751f\u4ea7\u529b\u63d0\u5347<\/strong>\uff1a\u56e2\u961f\u53ef\u4ee5\u5e76\u884c\u5730\u5f00\u53d1\u548c\u90e8\u7f72\u4e0d\u540c\u7684\u670d\u52a1\uff0c\u51cf\u5c11\u4e86\u5f00\u53d1\u5468\u671f\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u9519\u6027\u66f4\u9ad8<\/strong>\uff1a\u5355\u4e2a\u670d\u52a1\u7684\u6545\u969c\u4e0d\u4f1a\u5bfc\u81f4\u6574\u4e2a\u7cfb\u7edf\u762b\u75ea\uff0c\u7cfb\u7edf\u5177\u6709\u66f4\u9ad8\u7684\u53ef\u9760\u6027\u3002<\/li>\n\n\n\n<li><strong>\u66f4\u8d34\u8fd1\u4e1a\u52a1<\/strong>\uff1a\u56e2\u961f\u53ef\u4ee5\u4e3a\u7279\u5b9a\u7684\u4e1a\u52a1\u9700\u6c42\u521b\u5efa\u548c\u4f18\u5316\u5fae\u670d\u52a1\uff0c\u4f7f\u5f97\u6280\u672f\u4e0e\u4e1a\u52a1\u66f4\u52a0\u8d34\u5408\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u7f3a\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5fae\u670d\u52a1\u67b6\u6784\u6574\u4e2a\u5e94\u7528\u5206\u6563\u6210\u591a\u4e2a\u670d\u52a1\uff0c\u5b9a\u4f4d\u6545\u969c\u70b9\u975e\u5e38\u56f0\u96be\u3002<\/li>\n\n\n\n<li>\u7a33\u5b9a\u6027\u4e0b\u964d\u3002\u670d\u52a1\u6570\u91cf\u53d8\u591a\u5bfc\u81f4\u5176\u4e2d\u4e00\u4e2a\u670d\u52a1\u51fa\u73b0\u6545\u969c\u7684\u6982\u7387\u589e\u5927\uff0c\u5e76\u4e14\u4e00\u4e2a\u670d\u52a1\u6545\u969c\u53ef\u80fd\u5bfc\u81f4\u6574\u4e2a\u7cfb\u7edf\u6302\u6389\u3002\u4e8b\u5b9e\u4e0a\uff0c\u5728\u5927\u8bbf\u95ee\u91cf\u7684\u751f\u4ea7\u573a\u666f\u4e0b\uff0c\u6545\u969c\u603b\u662f\u4f1a\u51fa\u73b0\u7684\u3002\u4e14\u5982\u679cGateWay\u5d29\u6e83\u4e86\u90a3\u4e48\u5c31\u6709\u4e9b\u56f0\u96be\uff0c\u4ec0\u4e48\u4e8b\u60c5\u90fd\u505a\u4e0d\u4e86\u4e86\uff1b<\/li>\n\n\n\n<li>\u670d\u52a1\u6570\u91cf\u975e\u5e38\u591a\uff0c\u90e8\u7f72\u3001\u7ba1\u7406\u7684\u5de5\u4f5c\u91cf\u5f88\u5927\u3002\u6210\u672c\u589e\u52a0\uff0c\u8fd0\u7ef4\u7684\u590d\u6742\u5ea6\u589e\u52a0\u3002<\/li>\n\n\n\n<li>\u5f00\u53d1\u65b9\u9762\uff1a\u5982\u4f55\u4fdd\u8bc1\u5404\u4e2a\u670d\u52a1\u5728\u6301\u7eed\u5f00\u53d1\u7684\u60c5\u51b5\u4e0b\u4ecd\u7136\u4fdd\u6301\u534f\u540c\u5408\u4f5c\u3002<\/li>\n\n\n\n<li>\u6d4b\u8bd5\u65b9\u9762\uff1a\u670d\u52a1\u62c6\u5206\u540e\uff0c\u51e0\u4e4e\u6240\u6709\u529f\u80fd\u90fd\u4f1a\u6d89\u53ca\u591a\u4e2a\u670d\u52a1\u3002\u539f\u672c\u5355\u4e2a\u7a0b\u5e8f\u7684\u6d4b\u8bd5\u53d8\u4e3a\u670d\u52a1\u95f4\u8c03\u7528\u7684\u6d4b\u8bd5\u3002\u6d4b\u8bd5\u53d8\u5f97\u66f4\u52a0\u590d\u6742\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5fae\u670d\u52a1\u67b6\u6784\u9002\u5408\u90a3\u4e9b\u9700\u8981\u9891\u7e41\u66f4\u65b0\u548c\u6269\u5c55\u7684\u5927\u578b\u590d\u6742\u7cfb\u7edf\uff0c\u901a\u8fc7\u89e3\u8026\u548c\u6a21\u5757\u5316\uff0c\u5fae\u670d\u52a1\u53ef\u4ee5\u5927\u5927\u63d0\u9ad8\u7cfb\u7edf\u7684\u654f\u6377\u6027\u548c\u53ef\u7ef4\u62a4\u6027\u3002\u7136\u800c\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u4f01\u4e1a\u9700\u8981\u5e73\u8861\u5176\u4f18\u52bf\u548c\u5b9e\u65bd\u6210\u672c\uff0c\u786e\u4fdd\u6280\u672f\u67b6\u6784\u4e0e\u4e1a\u52a1\u9700\u6c42\u5339\u914d\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GateWay<\/h2>\n\n\n\n<p>\u4f5c\u4e3a\u4e00\u4e2a\u7edf\u4e00\u8bbf\u95ee\u7684\u7f51\u5173\u3002\u5e94\u7528\u7a0b\u5e8f\uff08\u524d\u7aef\uff09\u4e0d\u9700\u8981\u77e5\u9053\u5177\u4f53\u7684\u662f\u54ea\u4e2a\u670d\u52a1\u5668\u5904\u7406\u5bf9\u5e94 \u7684\u670d\u52a1\uff0c\u53ea\u9700\u8981\u5bf9GateWay\u53d1\u9001\u8bf7\u6c42\u5c31\u53ef\u4ee5\u3002\u6b64\u5916\uff0cGateWay\u8fd8\u53ef\u4ee5\u8d77\u5230\u8d1f\u8f7d\u5747\u8861\u7684\u4f5c\u7528\uff0c\u6bd4\u5982\u767b\u5f55\u670d\u52a1\u6709\u4e09\u4e2a\u670d\u52a1\u5668\uff0c\u4ed6\u4eec\u7684key\u540d\u5b57\u90fd\u662f\u5b8c\u5168\u4e00\u6837\u7684\uff0cGateWay\u5c31\u4f1a\u91c7\u7528\u76f8\u5173\u7684\u8d1f\u8f7d\u5747\u8861\u7684\u7b56\u7565\uff0c\u63d0\u9ad8\u5e76\u53d1\u6027\u80fd\u3002<\/p>\n\n\n\n<p>Gateway \u505a\u7684\u4e8b\u60c5\u662f\uff1a \u5ba2\u6237\u7aef\u53d1\u8fc7\u6765\u7684\u8bf7\u6c42\uff0c\u6bd4\u5982 8080\/user\/login \uff0c\u6216\u8005 8080\/book\/buyBook \uff0c Gateway \u4f1a\u77e5\u9053\u8bf4\u6839\u636e \/user \u6216\u8005 \/book \u6765\u8f6c\u53d1\u5230\u5bf9\u5e94\u7684\u5fae\u670d\u52a1\u4e0a\u9762\u53bb\uff0c\u81f3\u4e8e\u90a3\u4e2a\u5fae\u670d\u52a1\u7684ip\u548c\u7aef\u53e3\uff0c Gateway \u4e0d\u9700\u8981\u77e5\u9053\uff0c\u56e0\u4e3a Gateway \u4f1a\u53bb Eureka \u4e0a\u9762\u53bb\u627e\uff0c\u7136\u540e\u8f6c\u53d1\u8fc7\u53bb\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Eureka<\/h2>\n\n\n\n<p><strong>Eureka \u662f\u4ec0\u4e48\uff1f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eureka \u662f\u4e00\u79cd\u57fa\u4e8e REST\uff08\u8868\u73b0\u5c42\u72b6\u6001\u8f6c\u6362\uff09\u7684\u670d\u52a1\uff0c\u4e3b\u8981\u7528\u4e8e AWS \u4e91\u4e2d\uff0c\u5e2e\u52a9\u5b9a\u4f4d\u670d\u52a1\uff0c\u5b9e\u73b0\u4e2d\u95f4\u5c42\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u5747\u8861\u548c\u6545\u969c\u8f6c\u79fb\u3002<\/li>\n\n\n\n<li>\u6838\u5fc3\u7ec4\u4ef6\uff1aEureka Server\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Eureka \u7684\u7528\u9014<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u670d\u52a1\u53d1\u73b0\uff1a\u5e2e\u52a9\u5fae\u670d\u52a1\u67b6\u6784\u4e2d\u7684\u670d\u52a1\u627e\u5230\u5f7c\u6b64\u3002<\/li>\n\n\n\n<li>\u57fa\u7840\u8d1f\u8f7d\u5747\u8861\uff1a\u9ed8\u8ba4\u652f\u6301\u8f6e\u8be2\u8d1f\u8f7d\u5747\u8861\uff0c\u9002\u5408\u7b80\u5355\u7684\u8d1f\u8f7d\u5206\u914d\u9700\u6c42\u3002<\/li>\n\n\n\n<li>\u9ad8\u7ea7\u8d1f\u8f7d\u5747\u8861\uff08Netflix\uff09\uff1a\u652f\u6301\u6839\u636e\u591a\u79cd\u6761\u4ef6\u8fdb\u884c\u52a0\u6743\u5206\u914d\uff0c\u786e\u4fdd\u66f4\u5e73\u7a33\u7684\u670d\u52a1\u54cd\u5e94\u3002<\/li>\n<\/ul>\n\n\n\n<p>Eureka \u662f\u5fae\u670d\u52a1\u67b6\u6784\u4e2d\u7528\u4e8e<strong>\u670d\u52a1\u53d1\u73b0<\/strong>\u548c<strong>\u8d1f\u8f7d\u5747\u8861<\/strong>\u7684\u91cd\u8981\u7ec4\u4ef6\uff0c\u901a\u8fc7 Eureka Server \u6ce8\u518c\u670d\u52a1\u3001\u901a\u8fc7 Eureka Client \u8fdb\u884c\u4ea4\u4e92\u548c\u5206\u914d\u3002Netflix \u7684\u7248\u672c\u8fdb\u4e00\u6b65\u589e\u5f3a\u4e86\u5f39\u6027\u548c\u7a33\u5b9a\u6027\u3002<\/p>\n\n\n\n<p><strong>\u9ad8\u5c42\u67b6\u6784<\/strong><\/p>\n\n\n\n<p>\u6bcf\u4e2a region\uff08\u533a\u57df\uff09 \u6709\u4e00\u4e2a\u72ec\u7acb\u7684 Eureka \u96c6\u7fa4\uff0c\u8fd9\u4e2a\u96c6\u7fa4\u53ea\u77e5\u9053\u81ea\u5df1\u533a\u57df\u5185\u7684\u5b9e\u4f8b\u4fe1\u606f\u3002\u6bcf\u4e2a zone\uff08\u53ef\u7528\u533a\uff09 \u81f3\u5c11\u6709\u4e00\u4e2a Eureka \u670d\u52a1\u5668\uff0c\u4ee5\u5e94\u5bf9\u533a\u57df\u5185\u7684\u6545\u969c\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-265.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"468\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-265.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1342\"  sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/div><\/figure>\n\n\n\n<p>\u5728\u8fd9\u4e2a\u9ad8\u5c42\u67b6\u6784\u4e2d\uff0cEureka \u4f5c\u4e3a\u670d\u52a1\u6ce8\u518c\u4e2d\u5fc3\uff0c\u7528\u4e8e\u7ba1\u7406\u548c\u53d1\u73b0\u670d\u52a1\u5b9e\u4f8b\u3002\u4e3b\u8981\u7684\u8bbe\u8ba1\u539f\u5219\u5305\u62ec\uff1a<\/p>\n\n\n\n<p><strong>Eureka \u670d\u52a1\u5668\u7684\u533a\u57df\u5212\u5206<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eureka \u88ab\u8bbe\u8ba1\u4e3a\u5728\u4e0d\u540c\u7684 <strong>region\uff08\u533a\u57df\uff09<\/strong> \u4e2d\u8fd0\u884c\uff0c\u6bcf\u4e2a\u533a\u57df\u6709\u4e00\u4e2a\u72ec\u7acb\u7684 Eureka \u96c6\u7fa4\u3002\u8fd9\u610f\u5473\u7740\u67d0\u4e00\u533a\u57df\u5185\u7684 Eureka \u96c6\u7fa4\u53ea\u5173\u5fc3\u5e76\u5b58\u50a8\u8be5\u533a\u57df\u5185\u7684\u5b9e\u4f8b\u4fe1\u606f\uff0c\u800c\u4e0d\u4f1a\u6d89\u53ca\u5176\u4ed6\u533a\u57df\u7684\u670d\u52a1\u5b9e\u4f8b\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Zone\uff08\u53ef\u7528\u533a\uff09\u5185\u7684\u6545\u969c\u5904\u7406<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u9ad8\u53ef\u7528\u6027\uff0c\u6bcf\u4e2a <strong>zone<\/strong> \u81f3\u5c11\u6709\u4e00\u4e2a Eureka \u670d\u52a1\u5668\u3002\u5f53\u67d0\u4e2a zone \u53d1\u751f\u6545\u969c\u65f6\uff0c\u5176\u4ed6 zone \u7684 Eureka \u670d\u52a1\u5668\u4ecd\u7136\u53ef\u4ee5\u6b63\u5e38\u63d0\u4f9b\u670d\u52a1\u3002\u8fd9\u79cd\u8bbe\u8ba1\u5206\u6563\u4e86\u5355\u70b9\u6545\u969c\u7684\u98ce\u9669\uff0c\u63d0\u9ad8\u4e86\u7cfb\u7edf\u7684\u53ef\u9760\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u670d\u52a1\u6ce8\u518c\u4e0e\u53d1\u73b0\u8fc7\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Application Service\uff08\u5e94\u7528\u670d\u52a1\uff09<\/strong> \u4f5c\u4e3a Eureka \u5ba2\u6237\u7aef\uff0c\u901a\u8fc7\u6ce8\u518c\u548c\u7eed\u7ea6\u7684\u64cd\u4f5c\u5c06\u81ea\u8eab\u5b9e\u4f8b\u4fe1\u606f\u53d1\u9001\u5230 Eureka \u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li><strong>Application Client\uff08\u5e94\u7528\u5ba2\u6237\u7aef\uff09<\/strong> \u4ece Eureka \u670d\u52a1\u5668\u83b7\u53d6\u670d\u52a1\u5b9e\u4f8b\u5217\u8868\uff0c\u4ee5\u4fbf\u8fdb\u884c\u8fdc\u7a0b\u8c03\u7528\uff08\u6bd4\u5982\u8bbf\u95ee\u5176\u4ed6\u670d\u52a1\uff09\u3002\u5e94\u7528\u5ba2\u6237\u7aef\u5b9a\u671f\u4ece Eureka \u670d\u52a1\u5668\u83b7\u53d6\u6700\u65b0\u7684\u6ce8\u518c\u4fe1\u606f\uff0c\u4ee5\u4fbf\u59cb\u7ec8\u62e5\u6709\u6700\u65b0\u7684\u670d\u52a1\u5b9e\u4f8b\u5217\u8868\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Eureka \u670d\u52a1\u5668\u95f4\u7684\u590d\u5236<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u540c\u7684 Eureka \u670d\u52a1\u5668\u4e4b\u95f4\u5b58\u5728\u6570\u636e\u590d\u5236\uff08replicate\uff09\u673a\u5236\u3002\u4f8b\u5982\uff0c\u5728 <code>us-east-1c<\/code>\u3001<code>us-east-1d<\/code> \u548c <code>us-east-1e<\/code> \u8fd9\u4e09\u4e2a zone \u7684 Eureka \u670d\u52a1\u5668\u4e4b\u95f4\uff0c\u6ce8\u518c\u4fe1\u606f\u4f1a\u76f8\u4e92\u590d\u5236\u3002\u8fd9\u6837\u786e\u4fdd\u4e86\u5373\u4f7f\u67d0\u4e00\u53f0 Eureka \u670d\u52a1\u5668\u51fa\u73b0\u95ee\u9898\uff0c\u5176\u4ed6 Eureka \u670d\u52a1\u5668\u4ecd\u7136\u53ef\u4ee5\u63d0\u4f9b\u6700\u65b0\u7684\u670d\u52a1\u6ce8\u518c\u4fe1\u606f\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u79cd\u67b6\u6784\u8bbe\u8ba1\u7684\u5173\u952e\u5728\u4e8e\u5206\u533a\u548c\u9ad8\u53ef\u7528\u6027\uff0c\u786e\u4fdd\u6bcf\u4e2a\u533a\u57df\u5185\u7684 Eureka \u96c6\u7fa4\u76f8\u4e92\u9694\u79bb\uff0c\u51cf\u5c11\u6545\u969c\u7684\u4f20\u64ad\u3002\u540c\u65f6\uff0c\u6bcf\u4e2a\u533a\u57df\u5185\u6709\u591a\u4e2a\u53ef\u7528\u533a\u7684\u5197\u4f59\uff0c\u4ee5\u4fdd\u8bc1\u670d\u52a1\u7684\u6301\u7eed\u6027\u3002<\/p>\n\n\n\n<p>\u5728 Spring Boot \u4e2d\u96c6\u6210\u548c\u4f7f\u7528 <strong>Eureka<\/strong> \u4f5c\u4e3a\u670d\u52a1\u6ce8\u518c\u4e0e\u53d1\u73b0\u7ec4\u4ef6\uff0c\u901a\u5e38\u4f7f\u7528 Spring Cloud Netflix \u63d0\u4f9b\u7684\u652f\u6301\u3002\u4ee5\u4e0b\u662f\u5b9e\u73b0\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"serverless\">Serverless<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">\u4ec0\u4e48\u662f\u65e0\u670d\u52a1\u5668\uff08Serverless\uff09\uff1f<\/h4>\n\n\n\n<p>\u65e0\u670d\u52a1\u5668\u662f\u4e00\u79cd\u4e91\u8ba1\u7b97\u6a21\u5f0f\uff0c\u5f00\u53d1\u8005\u4e13\u6ce8\u4e8e\u7f16\u5199\u5e94\u7528\u903b\u8f91\u4ee3\u7801\uff0c\u800c\u4e0d\u9700\u8981\u5173\u5fc3\u5e95\u5c42\u7684\u670d\u52a1\u5668\u57fa\u7840\u8bbe\u65bd\u7ba1\u7406\u3002\u901a\u8fc7\u65e0\u670d\u52a1\u5668\u67b6\u6784\uff0c\u50cf<strong>\u51fd\u6570\u5373\u670d\u52a1\uff08Function as a Service, FaaS\uff09<\/strong>\u8fd9\u6837\u7684\u5e73\u53f0\u4f1a\u81ea\u52a8\u5904\u7406\u6269\u5c55\u3001\u8fd0\u884c\u65f6\u3001\u8d44\u6e90\u5206\u914d\u3001\u5b89\u5168\u6027\u7b49\u670d\u52a1\u5668\u7ec6\u8282\u3002<\/p>\n\n\n\n<p>\u5728\u65e0\u670d\u52a1\u5668\u73af\u5883\u4e2d\uff0c\u5e94\u7528\u7684\u6267\u884c\u662f<strong>\u4e8b\u4ef6\u9a71\u52a8\u7684<\/strong>\uff0c\u5373\u6839\u636e\u7279\u5b9a\u7684\u89e6\u53d1\u6761\u4ef6\uff08\u5982HTTP\u8bf7\u6c42\u3001\u6570\u636e\u5e93\u66f4\u65b0\u7b49\uff09\u6765\u542f\u52a8\u4ee3\u7801\uff0c\u800c\u4e0d\u662f\u9700\u8981\u6301\u7eed\u8fd0\u884c\u7684\u670d\u52a1\u5668\u3002\u6b64\u5916\uff0c\u65e0\u670d\u52a1\u5668\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u7406\u89e3\u4e3a<strong>\u201c\u4e0d\u5173\u6ce8\u901a\u5e38\u7531\u670d\u52a1\u5668\u57fa\u7840\u8bbe\u65bd\u5904\u7406\u7684\u65b9\u9762\u7684\u4e8b\u4ef6\u9a71\u52a8\u5de5\u4f5c\u8d1f\u8f7d\u201d<\/strong>\uff0c\u6bd4\u5982<strong>\u201c\u8981\u8fd0\u884c\u591a\u5c11\u5b9e\u4f8b\u201d<\/strong>\u548c<strong>\u201c\u4f7f\u7528\u4ec0\u4e48\u64cd\u4f5c\u7cfb\u7edf\u201d<\/strong>\u7b49\u95ee\u9898\u90fd\u7531FaaS\u5e73\u53f0\u7ba1\u7406\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u65e0\u670d\u52a1\u5668\u5e94\u7528\u7684\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e8b\u4ef6\u9a71\u52a8\u7684\u4ee3\u7801\u6267\u884c<\/strong>\uff1a\u4ee3\u7801\u6267\u884c\u4f9d\u8d56\u7279\u5b9a\u7684\u89e6\u53d1\u6761\u4ef6\uff08\u5982\u8bf7\u6c42\u3001\u6570\u636e\u5e93\u53d8\u5316\u3001\u5b9a\u65f6\u4efb\u52a1\u7b49\uff09\uff0c\u53ea\u6709\u5728\u4e8b\u4ef6\u53d1\u751f\u65f6\u624d\u4f1a\u8fd0\u884c\uff0c\u8fd9\u79cd\u6a21\u5f0f\u63d0\u9ad8\u4e86\u8d44\u6e90\u5229\u7528\u7387\u3002<\/li>\n\n\n\n<li><strong>\u5e73\u53f0\u81ea\u52a8\u7ba1\u7406\u64cd\u4f5c<\/strong>\uff1a\u4e91\u5e73\u53f0\u4f1a\u8d1f\u8d23\u5e94\u7528\u7684\u542f\u52a8\u3001\u505c\u6b62\u548c\u6269\u5c55\u5de5\u4f5c\uff0c\u4ece\u800c\u51cf\u5c11\u5f00\u53d1\u8005\u5728\u670d\u52a1\u5668\u7ba1\u7406\u4e0a\u7684\u8d1f\u62c5\uff0c\u5141\u8bb8\u4ed6\u4eec\u4e13\u6ce8\u4e8e\u4ee3\u7801\u7f16\u5199\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u7f29\u653e\u81f3\u96f6<\/strong>\uff1a\u65e0\u670d\u52a1\u5668\u5e94\u7528\u5728\u7a7a\u95f2\u65f6\u53ef\u4ee5\u7f29\u653e\u5230\u96f6\u5b9e\u4f8b\uff0c\u8fd9\u610f\u5473\u7740\u5f53\u5e94\u7528\u4e0d\u4f7f\u7528\u65f6\u51e0\u4e4e\u4e0d\u4f1a\u4ea7\u751f\u8d39\u7528\u3002\u8fd9\u79cd\u7279\u6027\u4f7f\u5f97\u65e0\u670d\u52a1\u5668\u67b6\u6784\u5bf9\u8d1f\u8f7d\u4e0d\u89c4\u5219\u6216\u9700\u6c42\u4e0d\u53ef\u9884\u6d4b\u7684\u5e94\u7528\u975e\u5e38\u7ecf\u6d4e\u9ad8\u6548\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u72b6\u6001\u6027<\/strong>\uff1a\u6bcf\u6b21\u51fd\u6570\u8c03\u7528\u90fd\u662f\u72ec\u7acb\u7684\uff0c\u4e0d\u4f1a\u5728\u4e0d\u540c\u8c03\u7528\u4e4b\u95f4\u4fdd\u7559\u72b6\u6001\u3002\u65e0\u72b6\u6001\u7684\u7279\u6027\u7b80\u5316\u4e86\u6269\u5c55\uff0c\u4f7f\u5e73\u53f0\u53ef\u4ee5\u5e76\u884c\u6267\u884c\u591a\u4e2a\u51fd\u6570\u5b9e\u4f8b\u800c\u4e0d\u4f1a\u4ea7\u751f\u51b2\u7a81\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u7f3a\u70b9\uff1a\u7b2c\u4e00\u6b21\u5524\u9192\u5e76\u8fd4\u56de\u54cd\u5e94\u9700\u8981\u4e00\u70b9\u65f6\u95f4\u3002\u56e0\u4e3a\u4e00\u4e9b\u65e0\u670d\u52a1\u5668\u529f\u80fd\u4f1a\u6309\u9700\u8fd0\u884c\uff0c\u8c03\u8bd5\u96c6\u6210\u6bd4\u8f83\u56f0\u96be\u3002<\/p>\n\n\n\n<p><strong>\u51fd\u6570\u5f0f\u670d\u52a1<\/strong>\uff1a\u7c7b\u6bd4 y = f(x)\uff0c\u7ed9\u5b9a\u4e00\u4e2a\u8f93\u5165\uff0c\u5f97\u5230\u4e00\u4e2a\u8f93\u51fa\u7ed3\u679c\u3002\u6b64\u5916\u4e24\u6b21\u6216\u8005\u591a\u6b21\u7684\u51fd\u6570\u8ba1\u7b97\u4e4b\u95f4\u6ca1\u6709\u5173 \u7cfb\uff0c\u4e0a\u6b21\u8bf7\u6c42\u8ba1\u7b97\u7684\u7ed3\u679c\u8ba1\u7b97\u5b8c\u8fd4\u56de\u5c31\u7ed3\u675f\uff0c\u8ddf\u540e\u9762\u7684\u6ca1\u6709\u4efb\u4f55\u5173\u7cfb\uff0c\u4f53\u73b0\u51fa\u4e00\u4e2a\u65e0\u72b6\u6001\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u56fe\u793a\u89e3\u91ca\u65e0\u670d\u52a1\u5668\u4e0e\u4f20\u7edf\u57fa\u7840\u8bbe\u65bd\u7684\u533a\u522b<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-266.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"741\" height=\"431\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-266.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1344\"  sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/div><\/figure>\n\n\n\n<p>\u56fe\u4e2d\u7684\u5de6\u4fa7\u663e\u793a\u4e86<strong>\u65e0\u670d\u52a1\u5668\uff08FaaS\uff09<\/strong>\uff0c\u53f3\u4fa7\u662f<strong>\u4f20\u7edf\u57fa\u7840\u8bbe\u65bd<\/strong>\u3002\u4f20\u7edf\u7684\u57fa\u7840\u8bbe\u65bd\u9700\u8981\u5f00\u53d1\u8005\u7ba1\u7406\u8bb8\u591a\u7cfb\u7edf\u65b9\u9762\uff0c\u6bd4\u5982\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u670d\u52a1\u5668<\/strong>\uff1a\u9700\u8981\u7ba1\u7406\u548c\u6269\u5c55\u7684\u7269\u7406\u6216\u865a\u62df\u673a\u3002<\/li>\n\n\n\n<li><strong>\u5b89\u5168\u6027<\/strong>\uff1a\u7f51\u7edc\u5b89\u5168\u3001\u9632\u706b\u5899\u7b49\u4fdd\u62a4\u673a\u5236\u3002<\/li>\n\n\n\n<li><strong>\u4e8b\u52a1\u7ba1\u7406<\/strong>\uff1a\u4fdd\u8bc1\u4e8b\u52a1\u7684\u5b8c\u6574\u6027\u548c\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u8c03\u5ea6\u5668<\/strong>\uff1a\u4efb\u52a1\u8c03\u5ea6\u6216\u961f\u5217\u7ba1\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u800c\u5728FaaS\u7684\u65e0\u670d\u52a1\u5668\u6a21\u578b\u4e2d\uff0c\u5f00\u53d1\u8005\u53ea\u9700\u4e13\u6ce8\u4e8e<strong>\u51fd\u6570<\/strong>\u548c<strong>\u5e94\u7528<\/strong>\u7684\u5f00\u53d1\uff0c\u5e95\u5c42\u7684\u57fa\u7840\u8bbe\u65bd\u7531\u4e91\u63d0\u4f9b\u5546\u81ea\u52a8\u7ba1\u7406\uff0c\u5305\u62ec\u6269\u5c55\u548c\u5b89\u5168\u6027\u3002\u8fd9\u79cd\u65b9\u5f0f\u51cf\u5c11\u4e86\u7ba1\u7406\u7684\u590d\u6742\u5ea6\uff0c\u4f7f\u5f00\u53d1\u8005\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72\u548c\u6269\u5c55\u5e94\u7528\u3002\u8fd9\u79cd\u6a21\u5f0f\u975e\u5e38\u9002\u5408\u8d1f\u8f7d\u4e0d\u53ef\u9884\u6d4b\u6216\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e94\u7528\uff0c\u80fd\u591f\u8fc5\u901f\u6269\u5c55\uff0c\u5e76\u4e14\u4ec5\u5728\u5b9e\u9645\u4f7f\u7528\u65f6\u4ea7\u751f\u8d39\u7528\uff0c\u4ece\u800c\u663e\u8457\u964d\u4f4e\u4e86\u6210\u672c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Spring Cloud Function<\/h3>\n\n\n\n<p><strong>Spring Cloud Function<\/strong>&nbsp;\u662f\u4e00\u4e2a\u5e2e\u52a9 Spring \u5f00\u53d1\u8005\u4f7f\u7528\u65e0\u670d\u52a1\u5668\u67b6\u6784\u6216 FaaS\uff08Function as a Service\uff09\u5e73\u53f0\u7684\u6846\u67b6\u3002\u901a\u8fc7 Spring Cloud Function\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5c06\u4e1a\u52a1\u903b\u8f91\u4ee5\u51fd\u6570\u7684\u5f62\u5f0f\u5b9e\u73b0\uff0c\u5e76\u80fd\u591f\u5728\u5e38\u89c1\u7684 FaaS \u670d\u52a1\uff08\u5982 Amazon Lambda\u3001Apache OpenWhisk\u3001Microsoft Azure\u3001Project Riff \u7b49\uff09\u4e0a\u8fd0\u884c\u8fd9\u4e9b\u51fd\u6570\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Spring Cloud Function \u7684\u4e3b\u8981\u76ee\u6807<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u63a8\u5e7f\u901a\u8fc7\u51fd\u6570\u5b9e\u73b0\u4e1a\u52a1\u903b\u8f91<\/strong>\uff1a\u5c06\u4e1a\u52a1\u903b\u8f91\u5c01\u88c5\u5728\u51fd\u6570\u4e2d\uff0c\u7b80\u5316\u5f00\u53d1\uff0c\u589e\u5f3a\u7075\u6d3b\u6027\u3002<\/li>\n\n\n\n<li><strong>\u89e3\u8026\u4e1a\u52a1\u903b\u8f91\u7684\u5f00\u53d1\u548c\u7279\u5b9a\u8fd0\u884c\u65f6\u73af\u5883<\/strong>\uff1a\u76f8\u540c\u7684\u4ee3\u7801\u53ef\u4ee5\u4f5c\u4e3a Web \u7aef\u70b9\u3001\u6d41\u5904\u7406\u5668\u6216\u4efb\u52a1\u8fd0\u884c\uff0c\u72ec\u7acb\u4e8e\u5177\u4f53\u7684\u6267\u884c\u73af\u5883\u3002<\/li>\n\n\n\n<li><strong>\u63d0\u4f9b\u7edf\u4e00\u7684\u7f16\u7a0b\u6a21\u578b<\/strong>\uff1aSpring Cloud Function \u652f\u6301\u591a\u79cd\u65e0\u670d\u52a1\u5668\u63d0\u4f9b\u5546\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u672c\u5730\uff08Standalone\uff09\u6216 PaaS \u73af\u5883\u4e2d\u8fd0\u884c\uff0c\u5b9e\u73b0\u4e86\u8de8\u5e73\u53f0\u7684\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u542f\u7528 Spring Boot \u7279\u6027<\/strong>\uff1a\u5728\u65e0\u670d\u52a1\u5668\u73af\u5883\u4e2d\u4ecd\u7136\u53ef\u4ee5\u4f7f\u7528 Spring Boot \u7684\u81ea\u52a8\u914d\u7f6e\u3001\u4f9d\u8d56\u6ce8\u5165\u548c\u6307\u6807\u76d1\u63a7\u7b49\u529f\u80fd\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u5177\u4f53\u90e8\u7f72<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u542f\u52a8\u6ce8\u518c\u8868\uff1a\u5176\u4ed6\u7684\u670d\u52a1\u5668\u542f\u52a8\u7684\u65f6\u5019\u90fd\u8981\u5230\u670d\u52a1\u6ce8\u518c\u8fd9\u91cc\u6765\u6ce8\u518c\u4e00\u4e0b\uff0c\u6240\u4ee5\u5fc5\u987b\u8981\u6700\u5148\u542f\u52a8Eureka\u7684\u8fd9\u4e2a\u670d\u52a1\u3002<\/li>\n\n\n\n<li>\u542f\u52a8\u5fae\u670d\u52a1\u5177\u4f53\u7684\u670d\u52a1\u5668\uff1a\u5728\u8fd9\u4e2a\u670d\u52a1\u5668\u542f\u52a8\u7684\u65f6\u5019\u4f1a\u81ea\u52a8\u5230\u6ce8\u518c\u8868\u670d\u52a1\u5668\u91cc\u9762\u6ce8\u518c\u4e00\u4e0b\uff0c\u4fbf\u4e8e\u540e\u9762\u7684GateWay\u80fd\u591f\u627e\u5f97\u5230\u3002<\/li>\n\n\n\n<li>\u542f\u52a8GateWay\uff0c\u56e0\u4e3a\u5177\u4f53\u7684\u4e1a\u52a1\u670d\u52a1\u5668\u5df2\u7ecf\u542f\u52a8\u4e86\uff0c\u542f\u52a8GateWay\u4e4b\u540e\uff0c\u7528\u6237\u7684\u8bf7\u6c42\u5c31\u53ef\u4ee5\u8f6c\u53d1\u5230\u5bf9\u5e94\u7684\u5fae\u670d\u52a1\uff0c\u5982\u679c\u5148\u542f\u52a8GateWay\u800c\u6ca1\u6709\u542f\u52a8\u5177\u4f53\u7684\u4e1a\u52a1\u670d\u52a1\u5668\uff0c\u5982\u679c\u6709\u8bf7\u6c42\u53d1\u6765\u5c31\u4f1a\u5bfc\u81f4GateWay\u627e\u4e0d\u5230\u5bf9\u5e94\u7684\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5668\uff0c\u7136\u540e\u51fa\u73b0\u62a5\u9519\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5fae\u670d\u52a1\u72b6\u6001<\/h2>\n\n\n\n<p>\u80af\u5b9a\u4e0d\u80fd\u7528session\uff0c\u6bd4\u5982\u5fae\u670d\u52a1\u96c6\u7fa4\u91cc\u9762\u4e00\u4e2a\u670d\u52a1\u5668\u7528\u6765\u767b\u5f55\uff0c\u5982\u679c\u7528\u8fd9\u4e2a\u670d\u52a1\u5668\u5b58\u50a8session\uff0c\u90a3\u4e48\u4ed6\u4e0b\u6b21\u4e0b\u5355\u7684\u65f6\u5019\uff0c\u53ef\u80fd\u662f\u53e6\u5916\u4e00\u4e2a\u670d\u52a1\u5668\u5904\u7406\u7684\uff0c\u800c\u53e6\u5916\u7684\u670d\u52a1\u5668\u4e0d\u77e5\u9053\u7528\u6237\u7684\u767b\u5f55\u72b6\u6001\uff0c\u56e0\u6b64\u89e3\u51b3\u65b9\u6848\u5c31\u662fjwt\u3002<\/p>\n\n\n\n<p>\u7528\u6237\u4f7f\u7528\u4e00\u4e2ajwt token\u4f20\u5165\uff0c\u670d\u52a1\u5668\u7684GateWay\u5bf9\u4e8e\u9700\u8981\u767b\u5f55\u6388\u6743\u7684\u8bf7\u6c42\u52a0\u4e00\u4e2a\u8fc7\u6ee4\u5668\uff0c\u7136\u540e\u89e3\u6790\u548c\u8fd9\u4e2ajwt\uff0c\u518d\u628a\u89e3\u6790\u83b7\u53d6\u5230\u7684\u7528\u6237\u4fe1\u606f\u653e\u5165\u8bf7\u6c42\u7684header\u91cc\u9762\uff0c\u5982\u679c\u89e3\u6790\u5931\u8d25\u5c31\u76f4\u63a5\u62e6\u622a\u4e0d\u8f6c\u53d1\u7ed9\u540e\u9762\u7684\uff0c\u8fd9\u6837\u4e5f\u589e\u52a0\u4e86\u5b89\u5168\u6027\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u4e00\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">MYSQL\u4f18\u5316<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8868\u7ed3\u6784\u662f\u5426\u5408\u7406\uff0c\u8303\u5f0f\u5316\uff1f\u6570\u636e\u7c7b\u578b\uff1f <\/li>\n\n\n\n<li>\u62c6\u8868\uff1f\u5bf9\u4e8e\u4e00\u5f20\u8868\u4e2d\u7684\u6570\u636e\uff0c\u6211\u4eec\u66f4\u5e0c\u671b\u662f\u6574\u5f20\u8868\u4e2d\u7684\u6570\u636e\u5168\u90e8\u88ab\u8bbf\u95ee\u6216\u8005\u5168\u90e8\u4e0d\u88ab\u8bbf\u95ee\uff1b\u82e5\u4e0d\u7136\uff0c\u5c31\u9700\u8981\u8003\u8651\u62c6\u8868\u3002 <\/li>\n\n\n\n<li>varchar\uff08\u53ef\u53d8\u957f\uff0c\u4fbf\u4e8e\u538b\u7f29\uff09\u548cchar\u8fd8\u6709text\uff08\u5b58\u50a8\u4e00\u4e2a\u6307\u9488\uff0c\u6267\u884c\u5916\u90e8\u5b58\u50a8\u7684\u539f\u6587\uff09\uff1bchar(N)\u5360 \u7528\u7684\u5b57\u8282\u5f97\u770b\u5b57\u7b26\u96c6\uff0c\u5360\u7528\u7684\u662f\u5b57\u7b26\u96c6\u4e2d\u6700\u957f\u7684\u5b57\u8282\u6570\uff1b <\/li>\n\n\n\n<li>\u8bfb\u53d6\u8bb0\u5f55\u7684\u65f6\u5019\uff0c\u8003\u8651\u5230page\u7684\u5927\u5c0f\u6709\u9650\uff0c\u5982\u679c\u4e00\u6761\u8bb0\u5f55\u7684\u5927\u5c0f\u5c31\u5360\u7528\u4e86\u597d\u51e0\u4e2apage\u663e\u7136\u662f\u4e0d\u5408\u7406\u7684\uff0c\u6240\u4ee5\u7279\u522b\u957f\u7684\u6587\u672c\u9700\u8981\u4f7f\u7528text\u7c7b\u578b\uff0c\u8fd9\u6837\u8bfb\u53d6\u51fa\u6765\u7684text\u90e8\u5206\u5c31\u662f\u4e00\u4e2a\u6307\u9488\uff0c\u6027\u80fd\u66f4\u597d\u3002<\/li>\n\n\n\n<li> \u4ec0\u4e48\u6837\u7684\u7d22\u5f15\u79d1\u5b66\uff1f \u4ec0\u4e48\u6837\u7684\u5b58\u50a8\u5f15\u64ce\u597d\uff1f\uff08\u6ce8\uff1aMySQL\u5176\u5b9e\u5206\u4e3a\u4e24\u90e8\u5206\uff1aServer\u5c42\u548c\u5b58\u50a8\u5f15\u64ce\u5c42\uff0cServer\u5c42\u7684\u4f5c\u7528\u662f \u8ddf\u5ba2\u6237\u7aef\u4ea4\u4e92\uff0c\u89e3\u6790SQL\uff0c\u8fdb\u884c\u67e5\u8be2\u4f18\u5316\uff0c\u5b58\u50a8\u5f15\u64ce\u5c42\u8d1f\u8d23\u6570\u636e\u7684\u5b58\u50a8\u548c\u63d0\u53d6\uff09 <\/li>\n\n\n\n<li>\u9501\u3001\u9694\u79bb\u673a\u5236\uff1f\u6240\u6709\u7684\u5185\u5b58\u7528\u5230\u7f13\u5b58\u5408\u9002\u5417\uff1f <\/li>\n\n\n\n<li>\u5f53\u786c\u4ef6\u8d76\u4e0d\u4e0a\u4e1a\u52a1\u7684\u65f6\u5019\uff0c\u8be5\u600e\u4e48\u8c03\u6574\u670d\u52a1\u5668\u6027\u80fd\uff1f <\/li>\n\n\n\n<li>\u5217\u6700\u597d\u76f4\u63a5\u8bbe\u7f6e\u4e3anot null\uff1b\u5426\u5219\uff0c\u5728\u5b58\u50a8\u7684\u65f6\u5019\uff0c\u5728\u8fd9\u4e00\u5217\u4e0a\u591a\u5360\u7528\u4e00\u4e2abit\uff0c\u6765\u8868\u793a\u662f\u5426\u4e3anull\uff0c \u8fd9\u6837\u4f1a\u6d6a\u8d39\u7a7a\u95f4\uff1b\u540c\u65f6\uff0cSQL\u5728\u6267\u884c\u7684\u65f6\u5019\u8fd8\u4f1a\u591a\u6267\u884c\u4e00\u53e5\u6765\u5224\u65ad\u4f60\u8fd9\u4e00\u4e2a\u5b57\u6bb5\u5230\u5e95\u662f\u4e0d\u662f\u7a7a\u7684\uff0c \u6d6a\u8d39\u65f6\u95f4\u3002\u89e3\u51b3\u65b9\u6848\uff1a\u5373\u4f7f\u662f\u7a7a\u7684\uff0c\u6211\u4e5f\u5199\u4e00\u4e2a\u7279\u6b8a\u503c\u8fdb\u53bb\uff0c\u5c31\u4e0d\u4e3a\u7a7a\u4e86\u3002 <\/li>\n\n\n\n<li>\u80fd\u9009\u6570\u5b57\u5c31\u9009\u6570\u5b57\uff0c\u6570\u5b57\u7c7b\u578b\u5c11\u5f88\u591a\u5b57\u8282\uff0c\u800c\u4e0d\u662f\u9009\u62e9\u5b57\u7b26\u7c7b\u578b\uff0c\u8fd9\u6837\u6027\u80fd\u4f1a\u66f4\u597d\u3002<\/li>\n\n\n\n<li>join\u7684\u65f6\u5019\u8981\u6ce8\u610f\uff1a\u4e24\u4e2a\u8868\u91cc\u9762\u7684\u90a3\u4e24\u4e2a\u5217\uff0c\u9996\u5148\u6570\u636e\u7c7b\u578b\u6700\u597d\u4e00\u81f4\uff1b\u5176\u6b21\u4e24\u4e2a\u5217\u7684\u540d\u79f0\u6700\u597d\u4e5f\u662f \u4e00\u81f4\u7684\uff0c\u4e0d\u8981\u4e00\u4e2a\u662f\u201cstudent-id\u201d\uff0c\u4e00\u4e2a\u662f\u201cstudent-number\u201d\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u786c\u4ef6\u5c42\u7ea7\u7684\u4f18\u5316<\/h3>\n\n\n\n<p>\u968f\u7740\u6570\u636e\u5e93\u8d1f\u8f7d\u7684\u589e\u52a0\uff0c\u4efb\u4f55\u6570\u636e\u5e93\u5e94\u7528\u6700\u7ec8\u90fd\u4f1a\u9047\u5230\u786c\u4ef6\u74f6\u9888\u3002\u6570\u636e\u5e93\u7ba1\u7406\u5458\uff08DBA\uff09\u9700\u8981\u8bc4\u4f30\u662f\u5426\u53ef\u4ee5\u901a\u8fc7\u8c03\u4f18\u5e94\u7528\u7a0b\u5e8f\u6216\u91cd\u65b0\u914d\u7f6e\u670d\u52a1\u5668\u6765\u907f\u514d\u8fd9\u4e9b\u74f6\u9888\uff0c\u6216\u8005\u662f\u5426\u9700\u8981\u589e\u52a0\u786c\u4ef6\u8d44\u6e90\u3002<\/p>\n\n\n\n<p>\u5e38\u89c1\u7684\u7cfb\u7edf\u74f6\u9888\u6765\u6e90\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u78c1\u76d8\u5bfb\u9053<\/strong>\uff1a\u78c1\u76d8\u5b9a\u4f4d\u6570\u636e\u7684\u901f\u5ea6\u53d7\u9650\u65f6\uff0c\u4f1a\u5bfc\u81f4\u6027\u80fd\u4e0b\u964d\u3002<\/li>\n\n\n\n<li><strong>\u78c1\u76d8\u8bfb\u5199<\/strong>\uff1a\u9891\u7e41\u7684\u6570\u636e\u8bfb\u5199\u64cd\u4f5c\u4f1a\u5bfc\u81f4\u78c1\u76d8\u7684\u8d1f\u8f7d\u8fc7\u9ad8\uff0c\u5f71\u54cd\u6570\u636e\u8bbf\u95ee\u901f\u5ea6\u3002<\/li>\n\n\n\n<li><strong>CPU \u5468\u671f<\/strong>\uff1a\u590d\u6742\u67e5\u8be2\u548c\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u4f1a\u8017\u8d39\u5927\u91cf CPU \u8d44\u6e90\u3002<\/li>\n\n\n\n<li><strong>\u5185\u5b58\u5e26\u5bbd<\/strong>\uff1a\u5185\u5b58\u5e26\u5bbd\u4e0d\u8db3\u4f1a\u5f71\u54cd\u6570\u636e\u4ece\u5185\u5b58\u4e2d\u8bfb\u53d6\u548c\u5199\u5165\u7684\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u4f18\u5316\u786c\u4ef6\u8d44\u6e90\u4f7f\u7528\u80fd\u591f\u5e2e\u52a9\u7f13\u89e3\u8fd9\u4e9b\u74f6\u9888\uff0c\u63d0\u5347\u6570\u636e\u5e93\u5e94\u7528\u7684\u6574\u4f53\u6027\u80fd\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7d22\u5f15<\/h2>\n\n\n\n<p>\u63d0\u9ad8select\u6027\u80fd\u6700\u597d\u7684\u529e\u6cd5\u5c31\u662f\u5728\u7ecf\u5e38\u67e5\u8be2\u7684\u5217\u4e0a\u9762\u5efa\u7acb\u7d22\u5f15\u3002\u7d22\u5f15\u6761\u76ee\u5145\u5f53\u6307\u5411\u8868\u884c\u7684\u6307\u9488\uff0c\u5141\u8bb8\u67e5\u8be2\u5feb\u901f\u786e\u5b9a\u54ea\u4e9b\u884c\u7b26\u5408WHERE\u5b50\u53e5\u4e2d\u7684\u6761\u4ef6\uff0c\u5e76\u68c0\u7d22\u8fd9\u4e9b\u884c\u7684 \u5176\u4ed6\u5217\u503c\u3002<\/p>\n\n\n\n<p>\u7d22\u5f15\u5c3d\u53ef\u80fd\u5efa\u7acb\u5728\u53d6\u503c\u4e3a\u4e0d\u4e3a\u7a7a\uff08\u5426\u5219\u8bf7\u7528\u4e00\u4e2a\u7279\u6b8a\u7684\u503c\u586b\u5145\u7a7a\u503c\uff09\uff0c\u800c\u4e14\u503c\u552f\u4e00\uff08\u6216\u8005\u5f88\u5c11\u6709\u91cd\u590d\u7684\uff09\u5217\u4e0a\u9762\u3002 <\/p>\n\n\n\n<p>\u5e76\u4e0d\u662f\u7d22\u5f15\u5efa\u7acb\u7684\u8d8a\u591a\u8d8a\u597d\uff0c\u4e0d\u5fc5\u8981\u7684\u7d22\u5f15\u5efa\u7acb\u4f1a\u6d6a\u8d39\u65f6\u95f4\u6765\u51b3\u5b9a\u7528\u4ec0\u4e48\u7d22\u5f15\u641c\u7d22\uff1b\u540c\u65f6\u7d22\u5f15\u672c\u8eab\u5360\u636e\u7a7a\u95f4\uff01\uff08\u6211\u6bcf\u5efa\u7acb\u4e00\u4e2a\u7d22\u5f15\uff0c\u5c31\u76f8\u5f53\u4e8e\u7528\u8fd9\u4e2akey\u6765\u5efa\u7acb\u4e86\u4e00\u68f5B+\u6811\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u5efa\u7acb\u4e86\u4e00\u5806\u7d22\u5f15\uff0c\u5bf9\u4e8e\u6570\u636e\u66f4\u65b0\u7684\u65f6\u5019\uff0c\u7d22\u5f15\u6539\u53d8\u9700\u8981\u8c03\u6574\uff0c\u90a3\u4e48\u7531\u4e8e\u5927\u91cf\u7684\u7d22\u5f15\u5efa\u7acb\uff0c\u5bfc\u81f4\u8c03\u6574b+ tree\u9700\u8981\u6d88\u8017\u5927\u91cf\u7684\u65f6\u95f4\uff08\u6240\u4ee5\u9700\u8981\u7ba1\u7406\u8005\u6743\u8861\u8003\u8651\uff01\uff09 <\/li>\n\n\n\n<li>\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5728\u81ea\u589e\u7684\u4e3b\u952e\u5efa\u7acb\u7d22\u5f15\uff08\u662f\u805a\u7c07\u7d22\u5f15\uff0c\u4e5f\u5373\u7d22\u5f15\u5728\u53f6\u5b50\u8282\u70b9\u7684\u6307\u9488\u6307\u5411\u7684\u4f4d\u7f6e\u5728\u78c1\u76d8\u4e0a\u662f\u8fde\u7eed\u7684\uff09\uff0c\u8fd9\u6837\u6700\u5927\u7684\u597d\u5904\u5c31\u662f\u5728join\u64cd\u4f5c\u7684\u65f6\u5019\uff0c\u53ef\u4ee5\u5feb\u901f\u5b9a\u4f4d\u5230\u76ee\u6807\u3002 <\/li>\n\n\n\n<li>\u5f53\u8868\u683c\u6bd4\u8f83\u5c0f\u7684\u65f6\u5019\uff0c\u5efa\u7acb\u7d22\u5f15\u5f88\u6d6a\u8d39\uff0c\u4e0d\u5982\u5168\u8868\u626b\u63cf\u3002 <\/li>\n\n\n\n<li>\u83b7\u53d6\u8981find all\u7684\u65f6\u5019\uff0c\u7d22\u5f15\u4e5f\u5f88\u6d6a\u8d39\uff0c\u672c\u6765\u5c31\u662f\u8981\u628a\u6574\u4e2a\u8868\u6570\u636e\u8bfb\u53d6\u51fa\u6765\uff0c\u7d22\u5f15\u5931\u53bb\u610f\u4e49\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u9009\u62e9\u81ea\u589e\u4e3b\u952e\u505a\u7d22\u5f15\u7684\u597d\u5904\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u8868\u5185\u7684\u67d0\u51e0\u5217\u90fd\u5f88\u91cd\u8981\uff0c\u4f46\u662f\u62ff\u4e0d\u51c6\u54ea\u51e0\u5217\u505a\u7d22\u5f15\u7684\u65f6\u5019\uff0c\u4e0d\u59a8\u76f4\u63a5\u4f7f\u7528\u81ea\u589e\u4e3b\u952e <\/li>\n\n\n\n<li>\u81ea\u589e\u4e3b\u952e\u7684\u552f\u4e00\u6027\u7531\u6570\u636e\u5e93\u4fdd\u8bc1\uff0c\u66f4\u52a0\u53ef\u9760<\/li>\n\n\n\n<li>\u540c\u65f6\u8fd9\u4e2a\u4e3b\u952e\u4f5c\u4e3a\u5916\u952e\u4e5f\u6bd4\u8f83\u65b9\u4fbf <\/li>\n\n\n\n<li>\u56e0\u4e3a\u7d22\u5f15\u662f\u8981\u628a\u8fd9\u5217\u590d\u5236\u51fa\u6765\u7684\uff0c\u56e0\u6b64\u7ed3\u6784\u7b80\u5355\u7684\u8bdd\uff0c\u751f\u6210\u7684\u7d22\u5f15\u6bd4\u8f83\u5c0f\uff0c\u540c\u65f6\u751f\u6210\u7684B+\u6811\u7684\u6548\u7387 \u4e5f\u6bd4\u8f83\u9ad8<\/li>\n<\/ul>\n\n\n\n<p><strong>1. \u7d22\u5f15\u7684\u4f5c\u7528<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5feb\u901f\u67e5\u627e\u7279\u5b9a\u5217\u503c\u7684\u884c<\/strong>\uff1a\u5982\u679c\u6ca1\u6709\u7d22\u5f15\uff0cMySQL \u9700\u8981\u4ece\u5934\u8bfb\u53d6\u6574\u4e2a\u8868\uff0c\u5bfc\u81f4\u8868\u8d8a\u5927\uff0c\u8bfb\u53d6\u6210\u672c\u8d8a\u9ad8\u3002\u6709\u4e86\u7d22\u5f15\u540e\uff0cMySQL \u53ef\u4ee5\u76f4\u63a5\u5b9a\u4f4d\u5230\u6570\u636e\u6587\u4ef6\u4e2d\u7684\u4f4d\u7f6e\uff0c\u800c\u4e0d\u5fc5\u8bfb\u53d6\u6bcf\u4e00\u884c\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316 WHERE \u5b50\u53e5\u67e5\u8be2<\/strong>\uff1a\u7d22\u5f15\u53ef\u4ee5\u5e2e\u52a9\u5feb\u901f\u627e\u5230\u7b26\u5408 <code>WHERE<\/code> \u6761\u4ef6\u7684\u884c\u3002<\/li>\n\n\n\n<li><strong>\u6392\u9664\u65e0\u6548\u884c<\/strong>\uff1a\u901a\u8fc7\u7d22\u5f15\uff0c\u53ef\u4ee5\u5728\u65e9\u671f\u7b5b\u9009\u6389\u4e0d\u7b26\u5408\u6761\u4ef6\u7684\u884c\uff0c\u52a0\u901f\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>\u591a\u5217\u7d22\u5f15\u548c\u524d\u7f00\u4f18\u5316<\/strong>\uff1a\u5bf9\u4e8e\u591a\u5217\u7d22\u5f15\uff0c\u4f18\u5316\u5668\u53ef\u4ee5\u5229\u7528\u7d22\u5f15\u7684\u5de6\u4fa7\u524d\u7f00\uff08\u5373\u5de6\u8fb9\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u5217\uff09\uff0c\u76f4\u63a5\u67e5\u627e\u5339\u914d\u7684\u884c\u3002<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u8868\u65f6\u5feb\u901f\u67e5\u627e\u884c<\/strong>\uff1a\u7d22\u5f15\u52a0\u901f\u4e86\u8868\u8054\u63a5\u8fc7\u7a0b\u4e2d\u5176\u4ed6\u8868\u7684\u884c\u68c0\u7d22\u3002<\/li>\n\n\n\n<li><strong>\u67e5\u8be2\u6700\u5c0f\u503c\u6216\u6700\u5927\u503c<\/strong>\uff1a\u5bf9\u6307\u5b9a\u7d22\u5f15\u5217\uff08\u4f8b\u5982 <code>MIN(key_col)<\/code> \u6216 <code>MAX(key_col)<\/code>\uff09\u7684\u503c\u68c0\u7d22\u65f6\uff0c\u7d22\u5f15\u53ef\u4ee5\u63d0\u4f9b\u5feb\u901f\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong>\u6392\u5e8f\u548c\u5206\u7ec4<\/strong>\uff1a\u5982\u679c\u6392\u5e8f\u6216\u5206\u7ec4\u5217\u662f\u7d22\u5f15\u7684\u5de6\u4fa7\u524d\u7f00\uff0cMySQL \u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7d22\u5f15\uff0c\u4ece\u800c\u4f18\u5316 <code>ORDER BY<\/code> \u548c <code>GROUP BY<\/code> \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u907f\u514d\u8bbf\u95ee\u6570\u636e\u884c<\/strong>\uff1a\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u67e5\u8be2\u53ef\u4ee5\u76f4\u63a5\u4ece\u7d22\u5f15\u4e2d\u83b7\u53d6\u7ed3\u679c\uff0c\u800c\u4e0d\u5fc5\u8bbf\u95ee\u6570\u636e\u884c\uff0c\u8fd9\u63d0\u9ad8\u4e86\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>2. \u7d22\u5f15\u7c7b\u578b<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>B-Tree \u7d22\u5f15<\/strong>\uff1aMySQL \u5927\u591a\u6570\u7d22\u5f15\u7c7b\u578b\uff08\u5982 <code>PRIMARY KEY<\/code>\u3001<code>UNIQUE<\/code>\u3001<code>INDEX<\/code>\u3001<code>FULLTEXT<\/code>\uff09\u57fa\u4e8e B \u6811\u5b58\u50a8\u3002<\/li>\n\n\n\n<li><strong>R-Tree \u7d22\u5f15<\/strong>\uff1a\u7528\u4e8e\u7a7a\u95f4\u6570\u636e\u7c7b\u578b\u3002<\/li>\n\n\n\n<li><strong>Hash \u7d22\u5f15<\/strong>\uff1a<code>MEMORY<\/code> \u8868\u652f\u6301\u54c8\u5e0c\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u5012\u6392\u7d22\u5f15<\/strong>\uff1aInnoDB \u7684 <code>FULLTEXT<\/code> \u7d22\u5f15\u4f7f\u7528\u5012\u6392\u5217\u8868\u6765\u52a0\u901f\u6587\u672c\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>3. \u7d22\u5f15\u7684\u9002\u7528\u6027<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5c0f\u8868\u6216\u5927\u8868\u7684\u62a5\u8868\u67e5\u8be2<\/strong>\uff1a\u5982\u679c\u67e5\u8be2\u9700\u8981\u8bbf\u95ee\u5927\u90e8\u5206\u6216\u5168\u90e8\u884c\uff0c\u987a\u5e8f\u8bfb\u53d6\u4f1a\u66f4\u5feb\u3002\u987a\u5e8f\u8bfb\u53d6\u80fd\u51cf\u5c11\u78c1\u76d8\u5bfb\u9053\u6b21\u6570\uff0c\u751a\u81f3\u5728\u4e0d\u5b8c\u5168\u4f7f\u7528\u6240\u6709\u884c\u65f6\u4e5f\u6709\u52a9\u4e8e\u63d0\u5347\u6027\u80fd\u3002<\/li>\n\n\n\n<li><strong>\u4e3b\u952e\u5217<\/strong>\uff1a\u4e3b\u952e\u5217\uff08\u6216\u5217\u7ec4\u5408\uff09\u4e0a\u81ea\u52a8\u521b\u5efa\u7d22\u5f15\uff0c\u8fd9\u4e9b\u7d22\u5f15\u901a\u8fc7 <code>NOT NULL<\/code> \u9650\u5236\u4f18\u5316\u67e5\u8be2\u6027\u80fd\u3002\u4f7f\u7528 <code>InnoDB<\/code> \u5b58\u50a8\u5f15\u64ce\u65f6\uff0c\u8868\u6570\u636e\u4f1a\u6309\u7167\u4e3b\u952e\u5217\u987a\u5e8f\u8fdb\u884c\u7269\u7406\u5b58\u50a8\uff0c\u4ece\u800c\u52a0\u901f\u57fa\u4e8e\u4e3b\u952e\u7684\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>4. \u6ca1\u6709\u663e\u8457\u4e3b\u952e\u65f6\u7684\u89e3\u51b3\u65b9\u6848<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u81ea\u52a8\u9012\u589e\u4e3b\u952e<\/strong>\uff1a\u5f53\u4e00\u4e2a\u8868\u6ca1\u6709\u81ea\u7136\u4e3b\u952e\u65f6\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u9012\u589e\u7684\u5217\u4f5c\u4e3a\u4e3b\u952e\u3002\u8fd9\u6837\u751f\u6210\u7684\u552f\u4e00 ID \u53ef\u5728\u8868\u8054\u63a5\u65f6\u4f5c\u4e3a\u5916\u952e\u6307\u9488\u6307\u5411\u5176\u4ed6\u8868\u4e2d\u7684\u5bf9\u5e94\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u7d22\u5f15\u662f\u4f18\u5316 MySQL \u67e5\u8be2\u6027\u80fd\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4f46\u5728\u5c0f\u8868\u6216\u9700\u5927\u89c4\u6a21\u8bfb\u53d6\u7684\u5927\u8868\u4e2d\u610f\u4e49\u6709\u9650\u3002\u9009\u62e9\u5408\u9002\u7684\u7d22\u5f15\u7c7b\u578b\u548c\u5e03\u5c40\u80fd\u663e\u8457\u63d0\u5347\u6570\u636e\u5e93\u7684\u67e5\u627e\u3001\u6392\u5e8f\u548c\u8054\u63a5\u6027\u80fd\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MySQL \u7d22\u5f15\u4f18\u5316<\/h3>\n\n\n\n<p><strong>\u805a\u7c07\u7d22\u5f15<\/strong>\u548c\u6570\u636e\u5728\u78c1\u76d8\u4e0a\u5b58\u50a8\u7684\u987a\u5e8f\u4e00\u81f4\uff0c\u6240\u4ee5\u4f1a\u8bfb\u4e00\u6b21\u5c31\u662f\u4e00\u6574\u9875\uff0c\u4e00\u4e2a\u8868\u53ea\u80fd\u6709\u4e00\u4e2a\uff0c\u9ed8\u8ba4\u4e3b\u952e\u4e0a\u5c31\u662f\u805a\u7c07\u7d22\u5f15<\/p>\n\n\n\n<p>\u5982\u679c\u5141\u8bb8<strong>\u7d22\u5f15\u4e3a\u7a7a<\/strong>\uff1a\u6d6a\u8d391bit\uff1b\u8fd0\u884c\u65f6\u4e00\u76f4\u505a\u68c0\u67e5\uff1b\u6811\u9000\u5316\u6210\u94fe\u8868<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>SPATIAL \u7d22\u5f15\u4f18\u5316<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SPATIAL \u7d22\u5f15\u8981\u6c42<\/strong>\uff1aMySQL \u652f\u6301\u5728 <code>NOT NULL<\/code> \u7684\u51e0\u4f55\u503c\u5217\u4e0a\u521b\u5efa <code>SPATIAL<\/code> \u7d22\u5f15\u3002\u4e3a\u4e86\u786e\u4fdd\u6bd4\u8f83\u64cd\u4f5c\u6b63\u5e38\uff0c\u6bcf\u4e2a <code>SPATIAL<\/code> \u7d22\u5f15\u7684\u5217\u5fc5\u987b\u5177\u6709\u9650\u5b9a\u7684 SRID\uff08\u7a7a\u95f4\u53c2\u8003\u7cfb\u7edf\u6807\u8bc6\u7b26\uff09\u3002<\/li>\n\n\n\n<li><strong>SRID \u9650\u5236\u7684\u4f5c\u7528<\/strong>\uff1a\u4f18\u5316\u5668\u4ec5\u5728 SRID \u9650\u5236\u7684\u5217\u4e0a\u8003\u8651 <code>SPATIAL<\/code> \u7d22\u5f15\u3002\n<ul class=\"wp-block-list\">\n<li><strong>Cartesian SRID \u7d22\u5f15<\/strong>\uff1a\u652f\u6301\u7b1b\u5361\u5c14\u8fb9\u754c\u6846\u8ba1\u7b97\u3002<\/li>\n\n\n\n<li><strong>Geographic SRID \u7d22\u5f15<\/strong>\uff1a\u652f\u6301\u5730\u7406\u8fb9\u754c\u6846\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. <strong>\u5916\u952e\u4f18\u5316<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5206\u8868\u7b56\u7565<\/strong>\uff1a\u5bf9\u4e8e\u62e5\u6709\u5927\u91cf\u5217\u7684\u8868\uff0c\u5982\u679c\u67e5\u8be2\u65f6\u6d89\u53ca\u591a\u79cd\u5217\u7ec4\u5408\uff0c\u53ef\u4ee5\u5c06\u4e0d\u5e38\u7528\u7684\u6570\u636e\u62c6\u5206\u5230\u5c11\u5217\u7684\u72ec\u7acb\u8868\u4e2d\uff0c\u540c\u65f6\u5728\u4e3b\u8868\u4e2d\u590d\u5236\u8be5\u8868\u7684\u4e3b\u952e ID \u5217\u6765\u5173\u8054\u8fd9\u4e9b\u8868\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd\u63d0\u5347<\/strong>\uff1a\u5c0f\u8868\u62e5\u6709\u4e3b\u952e\uff0c\u4fbf\u4e8e\u5feb\u901f\u67e5\u627e\u6570\u636e\u3002\u901a\u8fc7\u8054\u63a5\u64cd\u4f5c\u53ef\u4ee5\u67e5\u8be2\u6240\u9700\u7684\u5217\u7ec4\u5408\uff0c\u4ece\u800c\u51cf\u5c11 I\/O \u5e76\u4f18\u5316\u7f13\u5b58\u5229\u7528\u7387\u3002\u5c0f\u8868\u5728\u6bcf\u4e2a\u6570\u636e\u5757\u4e2d\u80fd\u5b58\u50a8\u66f4\u591a\u884c\uff0c\u8fd9\u4f7f\u67e5\u8be2\u66f4\u9ad8\u6548\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3. <strong>\u5217\u7d22\u5f15\u4f18\u5316<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7d22\u5f15\u524d\u7f00<\/strong>\uff1a\u4f7f\u7528 <code>col_name(N)<\/code> \u8bed\u6cd5\uff0c\u53ef\u4ee5\u5bf9\u5b57\u7b26\u4e32\u5217\u7684\u524d <code>N<\/code> \u4e2a\u5b57\u7b26\u521b\u5efa\u7d22\u5f15\u3002\u5bf9\u8f83\u957f\u7684\u5b57\u7b26\u4e32\u5217\u8fdb\u884c\u524d\u7f00\u7d22\u5f15\uff0c\u80fd\u663e\u8457\u51cf\u5c11\u7d22\u5f15\u6587\u4ef6\u5927\u5c0f\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u793a\u4f8b<\/strong>\uff1a<code>CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));<\/code><\/li>\n\n\n\n<li><strong>\u524d\u7f00\u957f\u5ea6\u9650\u5236<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>InnoDB<\/code> \u8868\u7684 <code>REDUNDANT<\/code> \u6216 <code>COMPACT<\/code> \u884c\u683c\u5f0f\uff1a\u6700\u591a 767 \u5b57\u8282\u3002<\/li>\n\n\n\n<li><code>InnoDB<\/code> \u8868\u7684 <code>DYNAMIC<\/code> \u6216 <code>COMPRESSED<\/code> \u884c\u683c\u5f0f\uff1a\u6700\u591a 3072 \u5b57\u8282\u3002<\/li>\n\n\n\n<li><code>MyISAM<\/code> \u8868\uff1a\u6700\u591a 1000 \u5b57\u8282\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8d85\u51fa\u524d\u7f00\u957f\u5ea6\u7684\u641c\u7d22<\/strong>\uff1a\u82e5\u67e5\u8be2\u6761\u4ef6\u8d85\u51fa\u7d22\u5f15\u524d\u7f00\u957f\u5ea6\uff0c\u7d22\u5f15\u4ecd\u53ef\u7528\u4e8e\u6392\u9664\u4e0d\u5339\u914d\u7684\u884c\uff0c\u4f59\u4e0b\u884c\u4f1a\u8fdb\u4e00\u6b65\u68c0\u67e5\u5339\u914d\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. <strong>FULLTEXT \u7d22\u5f15<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9002\u7528\u8303\u56f4<\/strong>\uff1a<code>FULLTEXT<\/code> \u7d22\u5f15\u7528\u4e8e\u5168\u6587\u641c\u7d22\uff0c\u652f\u6301 <code>InnoDB<\/code> \u548c <code>MyISAM<\/code> \u5b58\u50a8\u5f15\u64ce\uff0c\u9002\u7528\u4e8e <code>CHAR<\/code>\u3001<code>VARCHAR<\/code> \u548c <code>TEXT<\/code> \u5217\u3002<code>FULLTEXT<\/code> \u7d22\u5f15\u4f5c\u7528\u4e8e\u6574\u4e2a\u5217\uff0c\u4e0d\u652f\u6301\u5217\u524d\u7f00\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316\u67e5\u8be2<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u67e5\u8be2\u6587\u6863 ID \u6216\u6587\u6863 ID \u548c\u6392\u5e8f<\/strong>\uff1a\u4ec5\u8fd4\u56de\u6587\u6863 ID \u6216\u5e26\u641c\u7d22\u8bc4\u5206\u7684 ID \u4f1a\u66f4\u9ad8\u6548\u3002<\/li>\n\n\n\n<li><strong>\u9650\u5b9a\u7ed3\u679c\u7684\u6392\u5e8f<\/strong>\uff1a<code>FULLTEXT<\/code> \u67e5\u8be2\u6309\u5f97\u5206\u964d\u5e8f\u6392\u5e8f\uff0c\u4e14\u4f7f\u7528 <code>LIMIT<\/code> \u9650\u5236\u8fd4\u56de\u884c\u6570\u3002<\/li>\n\n\n\n<li><strong>\u4ec5\u8ba1\u6570\u67e5\u8be2<\/strong>\uff1a\u5982\u53ea\u9700\u8fd4\u56de\u5339\u914d\u9879\u7684 <code>COUNT(*)<\/code>\uff0c<code>WHERE<\/code> \u5b50\u53e5\u683c\u5f0f\u5e94\u4e3a <code>WHERE MATCH(text) AGAINST ('search_text')<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5. <strong>\u7a7a\u95f4\u7d22\u5f15<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u652f\u6301\u7684\u5f15\u64ce\u4e0e\u7ed3\u6784<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>MyISAM<\/code> \u548c <code>InnoDB<\/code> \u652f\u6301\u7a7a\u95f4\u6570\u636e\u7c7b\u578b\u7684 <code>R-Tree<\/code> \u7d22\u5f15\u3002<\/li>\n\n\n\n<li>\u5176\u4ed6\u5b58\u50a8\u5f15\u64ce\uff08\u9664 <code>ARCHIVE<\/code> \u5916\uff09\u4f7f\u7528 <code>B-Tree<\/code> \u7d22\u5f15\u7a7a\u95f4\u7c7b\u578b\uff0c<code>ARCHIVE<\/code> \u4e0d\u652f\u6301\u7a7a\u95f4\u7c7b\u578b\u7d22\u5f15\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">6. <strong>MEMORY \u5b58\u50a8\u5f15\u64ce\u4e2d\u7684\u7d22\u5f15<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9ed8\u8ba4\u7d22\u5f15\u7c7b\u578b<\/strong>\uff1a<code>MEMORY<\/code> \u5b58\u50a8\u5f15\u64ce\u9ed8\u8ba4\u4f7f\u7528 <code>HASH<\/code> \u7d22\u5f15\uff0c\u4e5f\u652f\u6301 <code>BTREE<\/code> \u7d22\u5f15\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">7. <strong>\u591a\u5217\u590d\u5408\u7d22\u5f15<\/strong><\/h4>\n\n\n\n<p>\u6839\u636e\u591a\u4e2a\u5217\u5efa\u7acb\u7d22\u5f15\uff0c\u4f1a\u6709\u4e0d\u540c\u5217\u7684\u4f18\u5148\u7ea7\uff0c\u6bd4\u5982\u59d3\u540d\u76f8\u540c\u6309\u7167\u5e74\u9f84\u6392\u5e8f\uff0c\u5e74\u9f84\u76f8\u540c\u5b89\u88c5\u5b66\u53f7\u6392\u5e8f\u3002\u56e0\u6b64\uff0c\u7d22\u5f15\u7684\u987a\u5e8f\u975e\u5e38\u91cd\u8981\uff01<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u590d\u5408\u7d22\u5f15\u7684\u521b\u5efa<\/strong>\uff1aMySQL \u652f\u6301\u591a\u8fbe 16 \u5217\u7684\u590d\u5408\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u67e5\u8be2\u7c7b\u578b<\/strong>\uff1aMySQL \u53ef\u4ee5\u5bf9\u5305\u542b\u6240\u6709\u590d\u5408\u7d22\u5f15\u5217\u3001\u524d\u51e0\u5217\u3001\u6216\u524d\u51e0\u4e2a\u8fde\u7eed\u5217\u7684\u67e5\u8be2\u4f7f\u7528\u590d\u5408\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u5217\u987a\u5e8f\u4f18\u5316<\/strong>\uff1a\u6309\u6b63\u786e\u987a\u5e8f\u6307\u5b9a\u7d22\u5f15\u5217\u65f6\uff0c\u5355\u4e00\u590d\u5408\u7d22\u5f15\u53ef\u4ee5\u52a0\u901f\u591a\u4e2a\u4e0d\u540c\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">8. <strong>\u591a\u5217\u590d\u5408\u7d22\u5f15\u7684\u7279\u6027<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u672c\u8d28<\/strong>\uff1a\u591a\u5217\u590d\u5408\u7d22\u5f15\u53ef\u4ee5\u89c6\u4f5c\u4e00\u4e2a\u6709\u5e8f\u6570\u7ec4\uff0c\u5176\u4e2d\u6bcf\u884c\u662f\u901a\u8fc7\u5c06\u7d22\u5f15\u5217\u7684\u503c\u4e32\u8054\u521b\u5efa\u7684\u3002\u4f8b\u5982\uff0c\u4e0b\u8868\u901a\u8fc7\u5728 <code>last_name<\/code> \u548c <code>first_name<\/code> \u4e0a\u5efa\u7acb\u590d\u5408\u7d22\u5f15\uff1a<br><code>sql CREATE TABLE test ( id INT NOT NULL, last_name CHAR(30) NOT NULL, first_name CHAR(30) NOT NULL, PRIMARY KEY (id), INDEX name (last_name, first_name) );<\/code><\/li>\n\n\n\n<li><strong>\u7d22\u5f15\u4f7f\u7528\u573a\u666f<\/strong>\uff1a\u5bf9\u4e8e\u4f7f\u7528 <code>name<\/code> \u7d22\u5f15\u7684\u67e5\u8be2\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u51e0\u79cd\u60c5\u51b5\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u6309 <code>last_name<\/code> \u67e5\u8be2\uff1a<code>SELECT * FROM test WHERE last_name='Jones';<\/code><\/li>\n\n\n\n<li>\u540c\u65f6\u6309 <code>last_name<\/code> \u548c <code>first_name<\/code> \u67e5\u8be2\uff1a<code>SELECT * FROM test WHERE last_name='Jones' AND first_name='John';<\/code><\/li>\n\n\n\n<li>\u4f7f\u7528\u591a\u4e2a <code>first_name<\/code> \u503c\u67e5\u8be2\uff1a<code>SELECT * FROM test WHERE last_name='Jones' AND (first_name='John' OR first_name='Jon');<\/code><\/li>\n\n\n\n<li>\u8303\u56f4\u67e5\u8be2\uff1a<code>SELECT * FROM test WHERE last_name='Jones' AND first_name &gt;= 'M' AND first_name &lt; 'N';<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u672a\u4f7f\u7528\u7d22\u5f15\u573a\u666f<\/strong>\uff1a\u82e5\u67e5\u8be2\u6761\u4ef6\u4e0d\u7b26\u5408\u7d22\u5f15\u7684\u5de6\u4fa7\u524d\u7f00\uff0c\u5219\u65e0\u6cd5\u4f7f\u7528\u7d22\u5f15\u3002\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4ec5\u6309 <code>first_name<\/code> \u67e5\u8be2\uff1a<code>SELECT * FROM test WHERE first_name='John';<\/code><\/li>\n\n\n\n<li>\u4f7f\u7528 OR \u6761\u4ef6\uff08\u65e0\u6cd5\u5229\u7528\u7d22\u5f15\uff09\uff1a<code>SELECT * FROM test WHERE last_name='Jones' OR first_name='John';<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">9. <strong>\u5de6\u524d\u7f00\u539f\u5219<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u82e5\u5b58\u5728\u590d\u5408\u7d22\u5f15 <code>(col1, col2, col3)<\/code>\uff0c\u5219 MySQL \u4ec5\u5728\u67e5\u8be2\u6761\u4ef6\u4e2d\u5305\u542b\u7d22\u5f15\u7684\u5de6\u4fa7\u524d\u7f00\u65f6\u4f7f\u7528\u8be5\u7d22\u5f15\u3002<\/li>\n\n\n\n<li>\u793a\u4f8b\u67e5\u8be2\uff1a<\/li>\n\n\n\n<li><code>SELECT * FROM tbl_name WHERE col1=val1; -- \u4f7f\u7528 (col1, col2, col3) \u7d22\u5f15 <\/code><\/li>\n\n\n\n<li><code>SELECT * FROM tbl_name WHERE col1=val1 AND col2=val2; -- \u4f7f\u7528 (col1, col2, col3) \u7d22\u5f15 <\/code><\/li>\n\n\n\n<li><code>SELECT * FROM tbl_name WHERE col2=val2; -- \u4e0d\u4f7f\u7528 (col1, col2, col3) \u7d22\u5f15 <\/code><\/li>\n\n\n\n<li><code>SELECT * FROM tbl_name WHERE col2=val2 AND col3=val3; -- \u4e0d\u4f7f\u7528 (col1, col2, col3) \u7d22\u5f15<\/code><\/li>\n\n\n\n<li>\u7531\u4e8e <code>(col2)<\/code> \u548c <code>(col2, col3)<\/code> \u4e0d\u662f <code>(col1, col2, col3)<\/code> \u7684\u5de6\u524d\u7f00\uff0c\u56e0\u6b64\u540e\u4e24\u79cd\u67e5\u8be2\u4e0d\u80fd\u5229\u7528\u8be5\u7d22\u5f15\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">10. <strong>B-Tree \u7d22\u5f15\u7684\u7279\u6027<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u652f\u6301\u7684\u6bd4\u8f83\u64cd\u4f5c<\/strong>\uff1aB-Tree \u7d22\u5f15\u652f\u6301 <code>=<\/code>\u3001<code>&gt;<\/code>\u3001<code>&gt;=<\/code>\u3001<code>&lt;<\/code>\u3001<code>&lt;=<\/code>\u3001<code>BETWEEN<\/code> \u7b49\u8fd0\u7b97\u7b26\u7684\u5217\u6bd4\u8f83\u3002<\/li>\n\n\n\n<li><strong>LIKE \u8fd0\u7b97\u652f\u6301<\/strong>\uff1aB-Tree \u7d22\u5f15\u5728 <code>LIKE<\/code> \u8fd0\u7b97\u4e2d\u4ec5\u5728 <code>LIKE<\/code> \u6a21\u5f0f\u4e3a\u5e38\u91cf\u5b57\u7b26\u4e32\u4e14\u4e0d\u4ee5\u901a\u914d\u7b26\u5f00\u5934\u65f6\u751f\u6548\uff08\u672c\u8d28\u4ecd\u7136\u662fleftmost\uff09\u3002\n<ul class=\"wp-block-list\">\n<li>\u793a\u4f8b\uff08\u4f7f\u7528\u7d22\u5f15\uff09\uff1a<br><code>sql SELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%'; SELECT * FROM tbl_name WHERE key_col LIKE 'Pat%_ck%';<\/code><\/li>\n\n\n\n<li>\u975e\u5e38\u91cf\u5b57\u7b26\u4e32\u6216\u4ee5\u901a\u914d\u7b26\u5f00\u5934\u7684 <code>LIKE<\/code> \u6a21\u5f0f\u65e0\u6cd5\u4f7f\u7528\u7d22\u5f15\uff1a<br><code>sql SELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%'; -- \u4e0d\u4f7f\u7528\u7d22\u5f15 SELECT * FROM tbl_name WHERE key_col LIKE other_col; -- \u4e0d\u4f7f\u7528\u7d22\u5f15<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f18\u5316\u5efa\u8bae<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f7f\u7528\u5de6\u524d\u7f00\u89c4\u5219<\/strong>\uff1a\u521b\u5efa\u590d\u5408\u7d22\u5f15\u65f6\uff0c\u6309\u5e38\u7528\u67e5\u8be2\u6761\u4ef6\u7684\u5de6\u524d\u7f00\u987a\u5e8f\u6392\u5217\u5217\uff0c\u4ee5\u63d0\u9ad8\u7d22\u5f15\u5229\u7528\u7387\u3002<\/li>\n\n\n\n<li><strong>\u907f\u514d OR \u6761\u4ef6<\/strong>\uff1a\u5728\u590d\u5408\u7d22\u5f15\u67e5\u8be2\u4e2d\uff0c\u5c3d\u91cf\u907f\u514d OR \u6761\u4ef6\uff0c\u56e0\u5176\u65e0\u6cd5\u6709\u6548\u5229\u7528\u7d22\u5f15\u3002\n<ul class=\"wp-block-list\">\n<li>\u5f53where\u8bed\u53e5\u4e2d\u4f7f\u7528or\u64cd\u4f5c\u7b26\u5e76\u4e14or\u4e24\u8fb9\u7684\u6761\u4ef6\u6d89\u53ca\u5230\u81f3\u5c11\u4e24\u4e2a\u5b57\u6bb5\u65f6\uff0cMySQL\u65e0\u6cd5\u4f7f\u7528\u7d22\u5f15\uff0c\u4f1a\u8f6c\u5411\u5168\u8868\u626b\u63cf\u3002\u56e0\u6b64\uff0c\u5e94\u5c3d\u91cf\u907f\u514d\u4f7f\u7528or\u64cd\u4f5c\u7b26\u3002<\/li>\n\n\n\n<li>\u539f\u56e0\uff1a\u56e0\u4e3aMySQL\u4e2d\u7684\u7d22\u5f15\u662f\u6839\u636e\u67d0\u4e2a\u5b57\u6bb5\u8fdb\u884c\u6392\u5e8f\u5efa\u7acb\u7684\u3002\u5f53\u4f7f\u7528or\u64cd\u4f5c\u7b26\uff0c\u8bf4\u660e\u6709\u4e24\u4e2a\u6761\u4ef6\u5176\u4e2d\u67d0\u4e2a\u6761\u4ef6\u6210\u7acb\u5373\u53ef\uff0c\u800c\u6211\u4eec\u4f7f\u7528\u67d0\u4e2a\u7d22\u5f15\u65f6\u53ea\u80fd\u5224\u65ad\u51fa\u5bf9\u5e94\u5b57\u6bb5\u7684\u6761\u4ef6\u662f\u5426\u6210\u7acb\uff0c\u5373\u4f7f\u4e0d\u6210\u7acb\uff0c\u53e6\u4e00\u4e2a\u6761\u4ef6\u6210\u7acb\u65f6\u8be5\u8bb0\u5f55\u4e5f\u7b26\u5408\u6211\u4eec\u8981\u67e5\u8be2\u7684\u7ed3\u679c\u3002\u6240\u4ee5\u4f7f\u7528\u7d22\u5f15\u65e0\u6cd5\u505a\u51fa\u5224\u65ad\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5408\u7406\u4f7f\u7528 LIKE<\/strong>\uff1a\u5bf9\u5b57\u7b26\u4e32\u5339\u914d\u67e5\u8be2\uff0c\u786e\u4fdd LIKE \u6a21\u5f0f\u5e38\u91cf\u4e0d\u4ee5\u901a\u914d\u7b26\u5f00\u5934\u4ee5\u5145\u5206\u5229\u7528 B-Tree \u7d22\u5f15\u3002\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u4f7f\u7528\u4e86like\u4e14\u4ee5%\u5f00\u5934\uff0c\u5219\u7d22\u5f15\u4f1a\u5931\u6548\u3002\uff08\u53f3\u6a21\u7cca\u5931\u6548\uff09<\/li>\n\n\n\n<li>\u5982\u679c\u4f7f\u7528\u4e86like\u4e14\u4ee5%\u7ed3\u675f\uff0c\u5219\u7d22\u5f15\u751f\u6548\u3002\uff08\u5de6\u6a21\u7cca\u751f\u6548\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">B-\u6811Tree\u5f15\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53ef\u4ee5\u5229\u7528\u7d22\u5f15\u7684WHERE\u5b50\u53e5<\/strong>\uff1a<\/li>\n\n\n\n<li><code>WHERE index_part1=1 AND index_part2=2 AND other_column=3<\/code><\/li>\n\n\n\n<li><code>WHERE index_part1='hello' AND index_part3=5<\/code><\/li>\n\n\n\n<li>\u590d\u5408\u7d22\u5f15\u4ece\u6700\u5de6\u90e8\u5206\u5f00\u59cb\u65f6\u6700\u6709\u6548\u3002<\/li>\n\n\n\n<li><code>OR<\/code>\u8bed\u53e5\u53ef\u80fd\u4f1a\u5bfc\u81f4\u90e8\u5206\u6216\u5b8c\u5168\u4e0d\u4f7f\u7528\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u5229\u7528\u7d22\u5f15\u7684WHERE\u5b50\u53e5<\/strong>\uff1a<\/li>\n\n\n\n<li>\u975e\u6700\u5de6\u524d\u7f00\uff0c\u5982<code>index_part2=1 AND index_part3=2<\/code><\/li>\n\n\n\n<li><code>OR<\/code>\u6761\u4ef6\u4e0d\u5728\u6700\u5de6\u524d\u7f00\u7684\u7d22\u5f15\u4e0a\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u54c8\u5e0c\u7d22\u5f15\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ec5\u652f\u6301\u7b49\u503c\u67e5\u8be2<\/strong>\uff0c\u9002\u7528\u4e8e<code>=<\/code>\u6216<code>&lt;=&gt;<\/code>\u64cd\u4f5c\u7b26\uff0c\u4e0d\u652f\u6301\u8303\u56f4\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u6cd5\u4f18\u5316ORDER BY<\/strong>\uff0c\u53ea\u80fd\u7528\u4e8e\u5b8c\u6574\u952e\u503c\u7684\u67e5\u627e\uff0c\u5178\u578b\u4e8e\u201c\u952e\u503c\u5b58\u50a8\u201d\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">MySQL\u964d\u5e8f\u7d22\u5f15<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u652f\u6301DESC<\/strong>\u5b9a\u4e49\uff0c\u63d0\u5347\u6309\u964d\u5e8f\u626b\u63cf\u7684\u6548\u7387\u3002<\/li>\n\n\n\n<li><strong>\u591a\u5217\u4f18\u5316<\/strong>\uff1a\u652f\u6301\u6df7\u5408\u5347\u5e8f\u548c\u964d\u5e8f\u7684\u7d22\u5f15\u626b\u63cf\uff0c\u63d0\u9ad8\u68c0\u7d22\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u8868\u8bbe\u8ba1\u4f18\u5316\u7b56\u7565<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u8868\u5217\u8bbe\u8ba1<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u7c7b\u578b\u6700\u5c0f\u5316<\/strong>\uff1a\u4f18\u9009\u66f4\u5c0f\u7684\u6570\u636e\u7c7b\u578b\uff0c\u4f8b\u5982\u7528<code>MEDIUMINT<\/code>\u66ff\u4ee3<code>INT<\/code>\u3002<\/li>\n\n\n\n<li><strong>\u5c3d\u91cf\u907f\u514dNULL\u503c<\/strong>\uff0c\u53ef\u4ee5\u63d0\u5347\u7d22\u5f15\u6548\u7387\u5e76\u8282\u7701\u5b58\u50a8\u7a7a\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u884c\u683c\u5f0f<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<strong>\u7d27\u51d1\u884c\u683c\u5f0f<\/strong>\uff08\u5982<code>DYNAMIC<\/code>\u3001<code>COMPACT<\/code>\uff09\uff0c\u51cf\u5c11CHAR\u5217\u7684\u5b58\u50a8\u5360\u7528\u3002VARCHAR\uff08\u53ef\u538b\u7f29\uff0c\u5bf9\u4e8e\u53d8\u957f\u53ca\u53ef\u4e3a\u7a7a\u6570\u636e\u66f4\u597d\uff09<\/li>\n\n\n\n<li><strong>\u538b\u7f29\u5b58\u50a8<\/strong>\uff1a\u53ef\u4ee5\u4f7f\u7528<code>ROW_FORMAT=COMPRESSED<\/code>\u6765\u51cf\u5c11\u5b58\u50a8\u7a7a\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u7d22\u5f15\u8bbe\u8ba1<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u952e\u8bbe\u8ba1<\/strong>\uff1a\u4e3b\u952e\u8d8a\u77ed\u8d8a\u597d\uff0c\u8282\u7701\u6b21\u7ea7\u7d22\u5f15\u7684\u7a7a\u95f4\u3002<\/li>\n\n\n\n<li><strong>\u590d\u5408\u7d22\u5f15<\/strong>\uff1a\u6839\u636e\u67e5\u8be2\u9891\u7387\u8bbe\u8ba1\u590d\u5408\u7d22\u5f15\uff0c\u6700\u5e38\u7528\u7684\u5217\u653e\u5728\u524d\u9762\u3002<\/li>\n\n\n\n<li><strong>\u90e8\u5206\u524d\u7f00\u7d22\u5f15<\/strong>\uff1a\u5bf9\u4e8e\u957f\u5b57\u7b26\u4e32\u5217\uff0c\u53ef\u4f7f\u7528\u524d\u7f00\u7d22\u5f15\uff0c\u63d0\u9ad8\u7d22\u5f15\u547d\u4e2d\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u8fde\u63a5\u4e0e\u89c4\u8303\u5316<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u62c6\u8868<\/strong>\uff1a\u5c06\u4e0d\u5e38\u7528\u7684\u6570\u636e\u5206\u8868\u5b58\u50a8\uff0c\u63d0\u5347\u67e5\u8be2\u6548\u7387\u3002<\/li>\n\n\n\n<li><strong>\u89c4\u8303\u5316<\/strong>\uff1a\u51cf\u5c11\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u6301\u7b2c\u4e09\u8303\u5f0f\uff1b\u4f46\u5728\u7279\u5b9a\u573a\u666f\u53ef\u53cd\u89c4\u8303\u5316\u63d0\u9ad8\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u6570\u503c\u4f18\u5316<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u5148\u4f7f\u7528\u6570\u5b57ID<\/strong>\uff0c\u51cf\u5c11\u5b58\u50a8\u548c\u5185\u5b58\u5360\u7528\uff0c\u63d0\u5347\u5bf9\u6bd4\u901f\u5ea6\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5b57\u7b26\u4e32\u4f18\u5316<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<strong>\u4e8c\u8fdb\u5236\u6392\u5e8f<\/strong>\u52a0\u5feb\u5b57\u7b26\u4e32\u6bd4\u8f83\u3002<\/li>\n\n\n\n<li><strong>\u5206\u79bb\u957f\u5b57\u7b26\u4e32\u5217<\/strong>\u5230\u72ec\u7acb\u8868\u4e2d\uff0c\u51cf\u5c11\u4e3b\u8868\u7684\u884c\u5927\u5c0f\uff0c\u63d0\u9ad8\u5e38\u7528\u67e5\u8be2\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5927\u6570\u636e\u7c7b\u578b\u4f18\u5316<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>BLOB\u538b\u7f29<\/strong>\uff1a\u8003\u8651\u5bf9\u5927\u5757\u6587\u672c\u6570\u636e\u538b\u7f29\u5b58\u50a8\u3002<\/li>\n\n\n\n<li><strong>\u5206\u79bbBLOB\u5217<\/strong>\u5230\u5355\u72ec\u8868\u4e2d\uff0c\u901a\u8fc7\u8fde\u63a5\u67e5\u8be2\u65f6\u624d\u8bfb\u53d6\uff0c\u51cf\u5c11\u5185\u5b58\u548cI\/O\u8d1f\u62c5\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5728\u63d2\u5165\u5927\u91cf\u6570\u636e\u65f6\uff0c\u53ef\u4ee5\u5173\u95ed\u552f\u4e00\u952e\u68c0\u67e5\uff08\u4f46\u662f\u8981\u4eba\u4e3a\u4fdd\u8bc1\uff09\uff0c\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u552f\u4e00\u952e\u4e0d\u4e25\u683c\u6309\u987a\u5e8f\u9012\u589e\uff0c\u8fd9\u6837mysql\u4f1a\u4e3a\u6bcf\u4e2a\u7ebf\u7a0b\u5206\u914d\u4e00\u5757\u81ea\u589eid\uff1b\u6240\u4ee5\u5c31\u4e0d\u80fd\u901a\u8fc7\u6700\u540e\u4e00\u4e2aid\u5224\u65ad\u6570\u636e\u5e93\u7684\u5927\u5c0f<\/p>\n\n\n\n<p>\u9ed8\u8ba4\u6bcf\u6761\u8bed\u53e5\u90fd\u5728\u4e00\u4e2a\u4e8b\u52a1\u4e2d\u6267\u884c\uff0c\u6240\u4ee5\u53ef\u4ee5\u8bbe\u7f6e\u662f\u5426\u7acb\u523b\u63d0\u4ea4\uff1b\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u591a\u6761\u8bed\u53e5\u4f7f\u7528\u4e00\u4e2a\u4e8b\u52a1\uff0c\u4f46\u662f\u8981\u907f\u514d\u5927\u4e8b\u52a1\uff08\u56de\u6eda\u8017\u65f6\u957f\uff09\uff1b\u7f13\u5b58\u5237\u76d8\u8bbe\u7f6e\u3001\u9009\u62e9\u6027\u5237\u76d8\u3001\u5927\u4e8b\u52a1\u62c6\u5206\uff1b\u4e8b\u52a1\u9694\u79bb\u7ea7\u522b\u8bbe\u7f6e\uff1b\u53ea\u8bfb\u64cd\u4f5c\u4e0d\u4e0a\u9501<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MySQL \u5982\u4f55\u6253\u5f00\u548c\u5173\u95ed\u8868<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u8fd0\u884c <code>mysqladmin status<\/code> \u793a\u4f8b<\/h4>\n\n\n\n<p>\u6267\u884c <code>mysqladmin status<\/code> \u547d\u4ee4\u65f6\uff0c\u4f1a\u663e\u793a\u7c7b\u4f3c\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Uptime: 426 Running threads: 1 Questions: 11082 Reloads: 1 Open tables: 12<\/code><\/pre>\n\n\n\n<p><strong>Open tables<\/strong> \u6570\u503c\u53ef\u80fd\u4f1a\u5927\u4e8e\u5b9e\u9645\u8868\u7684\u6570\u91cf\uff0c\u56e0\u4e3a MySQL \u662f\u591a\u7ebf\u7a0b\u7684\u3002\u591a\u4e2a\u5ba2\u6237\u7aef\u53ef\u4ee5\u540c\u65f6\u67e5\u8be2\u540c\u4e00\u4e2a\u8868\uff0c\u6bcf\u4e2a\u5e76\u53d1\u4f1a\u8bdd\u4f1a\u72ec\u7acb\u6253\u5f00\u8868\uff0c\u4ee5\u4fbf\u4fdd\u6301\u5404\u4e2a\u4f1a\u8bdd\u72b6\u6001\u4e00\u81f4\u3002<br>\u8fd9\u79cd\u65b9\u5f0f\u6d88\u8017\u989d\u5916\u5185\u5b58\uff0c\u4f46\u901a\u5e38\u63d0\u9ad8\u4e86\u6027\u80fd\u3002\u5728 <strong>MyISAM<\/strong> \u8868\u4e2d\uff0c\u6bcf\u4e2a\u5ba2\u6237\u7aef\u9700\u8981\u4e00\u4e2a\u989d\u5916\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u6765\u6253\u5f00\u6570\u636e\u6587\u4ef6\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6253\u5f00\u548c\u5173\u95ed\u8868\u7684\u673a\u5236<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>table_open_cache<\/code> \u548c <code>max_connections<\/code><\/strong>\uff1a\u63a7\u5236\u670d\u52a1\u5668\u53ef\u4ee5\u4fdd\u6301\u6253\u5f00\u6587\u4ef6\u7684\u6700\u5927\u6570\u91cf\u3002<\/li>\n\n\n\n<li>\u82e5\u589e\u52a0\u5176\u4e2d\u4efb\u4f55\u4e00\u9879\uff0c\u53ef\u80fd\u4f1a\u53d7\u5230\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5355\u8fdb\u7a0b\u6587\u4ef6\u63cf\u8ff0\u7b26\u6570\u91cf\u7684\u9650\u5236\u3002<\/li>\n\n\n\n<li><strong>\u8ba1\u7b97\u7f13\u5b58\u5927\u5c0f<\/strong>\uff1a\u5bf9 200 \u4e2a\u5e76\u53d1\u8fde\u63a5\uff0c\u63a8\u8350\u8bbe\u7f6e <code>table_open_cache<\/code> \u81f3\u5c11\u4e3a <code>200 * N<\/code>\uff0c\u5176\u4e2d <code>N<\/code> \u662f\u67e5\u8be2\u4e2d\u6bcf\u4e2a\u8fde\u63a5\u6240\u7528\u7684\u6700\u5927\u8868\u6570\u91cf\u3002<\/li>\n\n\n\n<li><strong>\u6587\u4ef6\u63cf\u8ff0\u7b26\u9650\u5236<\/strong>\uff1a\u64cd\u4f5c\u7cfb\u7edf\u5fc5\u987b\u652f\u6301\u6240\u9700\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u6570\u91cf\uff0c\u5426\u5219 MySQL \u53ef\u80fd\u51fa\u73b0\u62d2\u7edd\u8fde\u63a5\u6216\u67e5\u8be2\u5931\u8d25\u7684\u60c5\u51b5\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u8868\u7f13\u5b58\u7ba1\u7406\u673a\u5236<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MySQL \u5173\u95ed\u672a\u4f7f\u7528\u7684\u8868\u5e76\u5c06\u5176\u79fb\u51fa\u7f13\u5b58<\/strong>\u7684\u60c5\u51b5\uff1a<\/li>\n\n\n\n<li>\u5f53\u7f13\u5b58\u5df2\u6ee1\u4e14\u7ebf\u7a0b\u5c1d\u8bd5\u6253\u5f00\u4e0d\u5728\u7f13\u5b58\u4e2d\u7684\u8868\u3002<\/li>\n\n\n\n<li>\u5f53\u7f13\u5b58\u4e2d\u7684\u8868\u6570\u91cf\u8d85\u8fc7 <code>table_open_cache<\/code> \u4e14\u67d0\u4e9b\u8868\u672a\u88ab\u4efb\u4f55\u7ebf\u7a0b\u4f7f\u7528\u3002<\/li>\n\n\n\n<li>\u5f53\u6267\u884c <code>FLUSH TABLES<\/code>\u3001<code>mysqladmin flush-tables<\/code> \u6216 <code>mysqladmin refresh<\/code> \u65f6\u53d1\u751f\u8868\u5237\u65b0\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u7f13\u5b58\u7ba1\u7406\u6d41\u7a0b<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7f13\u5b58\u6ee1\u65f6<\/strong>\uff1aMySQL \u4f18\u5148\u91ca\u653e\u5f53\u524d\u672a\u4f7f\u7528\u7684\u8868\uff0c\u4ece\u6700\u4e45\u672a\u4f7f\u7528\u7684\u8868\u5f00\u59cb\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u9700\u8981\u6253\u5f00\u65b0\u7684\u8868\u4e14\u7f13\u5b58\u6ee1\u4e14\u65e0\u53ef\u91ca\u653e\u8868\u65f6\uff0c\u7f13\u5b58\u5c06\u6682\u65f6\u6269\u5c55\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u5b58\u6269\u5c55\u671f\u95f4<\/strong>\uff1a\u82e5\u67d0\u8868\u4ece\u201c\u5df2\u7528\u201d\u8f6c\u4e3a\u201c\u672a\u7528\u201d\u72b6\u6001\uff0c\u8be5\u8868\u5c06\u88ab\u5173\u95ed\u5e76\u4ece\u7f13\u5b58\u4e2d\u79fb\u9664\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u68c0\u6d4b\u7f13\u5b58\u5927\u5c0f\u662f\u5426\u4e0d\u8db3<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u901a\u8fc7 <code>Opened_tables<\/code> \u72b6\u6001\u53d8\u91cf\uff0c\u67e5\u770b\u81ea\u670d\u52a1\u5668\u542f\u52a8\u4ee5\u6765\u7684\u8868\u6253\u5f00\u6b21\u6570\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  mysql&gt; SHOW GLOBAL STATUS LIKE 'Opened_tables';<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u8be5\u503c\u975e\u5e38\u5927\u6216\u589e\u52a0\u8fc5\u901f\uff0c\u5373\u4f7f\u672a\u6267\u884c\u8fc7\u591a\u7684 <code>FLUSH TABLES<\/code> \u64cd\u4f5c\uff0c\u5efa\u8bae\u5728\u670d\u52a1\u5668\u542f\u52a8\u65f6\u589e\u52a0 <code>table_open_cache<\/code>\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u540c\u4e00\u6570\u636e\u5e93\u4e2d\u521b\u5efa\u591a\u4e2a\u8868\u7684\u7f3a\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u540c\u4e00\u6570\u636e\u5e93\u76ee\u5f55\u4e2d\u5305\u542b\u5927\u91cf <strong>MyISAM<\/strong> \u8868\u4f1a\u5bfc\u81f4 <strong>\u6253\u5f00\u3001\u5173\u95ed\u548c\u521b\u5efa\u64cd\u4f5c\u53d8\u6162<\/strong>\u3002<\/li>\n\n\n\n<li>\u6267\u884c\u591a\u4e2a\u8868\u7684 <code>SELECT<\/code> \u8bed\u53e5\u65f6\uff0c\u82e5\u8868\u7f13\u5b58\u5df2\u6ee1\uff0c\u5219\u4f1a\u6709\u989d\u5916\u7684\u5f00\u9500\uff0c\u56e0\u4e3a\u6bcf\u6b21\u6253\u5f00\u4e00\u4e2a\u65b0\u8868\u90fd\u53ef\u80fd\u5bfc\u81f4\u5173\u95ed\u53e6\u4e00\u4e2a\u8868\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316\u65b9\u6cd5<\/strong>\uff1a\u589e\u52a0\u8868\u7f13\u5b58\u4e2d\u7684\u6761\u76ee\u6570\u4ee5\u51cf\u5c11\u9891\u7e41\u5f00\u5173\u8868\u7684\u5f00\u9500\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Limits<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">MySQL \u6570\u636e\u5e93\u548c\u8868\u6570\u91cf\u7684\u9650\u5236<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u6570\u636e\u5e93\u6570\u91cf<\/h5>\n\n\n\n<p><strong>MySQL \u672c\u8eab<\/strong>\u6ca1\u6709\u6570\u636e\u5e93\u6570\u91cf\u7684\u9650\u5236\uff0c\u4f46\u5e95\u5c42\u7684\u6587\u4ef6\u7cfb\u7edf\u53ef\u80fd\u4f1a\u5bf9\u76ee\u5f55\u6570\u91cf\u6709\u9650\u5236\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u8868\u6570\u91cf<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MySQL \u672c\u8eab<\/strong>\u4e5f\u6ca1\u6709\u8868\u6570\u91cf\u7684\u9650\u5236\uff0c\u4f46\u6587\u4ef6\u7cfb\u7edf\u53ef\u80fd\u4f1a\u9650\u5236\u7528\u4e8e\u8868\u793a\u8868\u7684\u6587\u4ef6\u6570\u91cf\u3002<\/li>\n\n\n\n<li>\u4e0d\u540c\u7684<strong>\u5b58\u50a8\u5f15\u64ce<\/strong>\u53ef\u80fd\u4f1a\u6709\u4e0d\u540c\u7684\u9650\u5236\uff0c\u4f8b\u5982\uff1a<\/li>\n\n\n\n<li><strong>InnoDB<\/strong> \u652f\u6301\u6700\u591a <strong>40 \u4ebf<\/strong>\u5f20\u8868\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u8868\u5927\u5c0f\u9650\u5236<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8868\u7684\u6700\u5927\u6709\u6548\u5927\u5c0f<\/strong>\u901a\u5e38\u7531\u64cd\u4f5c\u7cfb\u7edf\u7684\u6587\u4ef6\u5927\u5c0f\u9650\u5236\u51b3\u5b9a\uff0c\u800c\u4e0d\u662f MySQL \u7684\u5185\u90e8\u9650\u5236\u3002<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c\u7cfb\u7edf\u6587\u4ef6\u5927\u5c0f\u9650\u5236<\/strong>\u7684\u6700\u65b0\u4fe1\u606f\uff0c\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u7684\u5b98\u65b9\u6587\u6863\u3002<\/li>\n\n\n\n<li><strong>Windows \u7528\u6237\u6ce8\u610f<\/strong>\uff1aFAT \u548c VFAT (FAT32) \u4e0d\u9002\u5408\u751f\u4ea7\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u7528 <strong>NTFS<\/strong> \u6587\u4ef6\u7cfb\u7edf\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u9047\u5230\u201c\u8868\u5df2\u6ee1\u201d\u9519\u8bef\u7684\u539f\u56e0<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u78c1\u76d8\u5df2\u6ee1<\/strong>\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528 <strong>InnoDB<\/strong> \u8868\uff0c\u4e14 <strong>InnoDB \u8868\u7a7a\u95f4<\/strong>\u6587\u4ef6\u5df2\u6ee1\u3002\u8868\u7a7a\u95f4\u7684\u6700\u5927\u5927\u5c0f\u5373\u662f\u5355\u8868\u7684\u6700\u5927\u5927\u5c0f\uff0c\u63a8\u8350\u5c06\u5927\u4e8e <strong>1TB<\/strong> \u7684\u8868\u5212\u5206\u4e3a\u591a\u4e2a\u8868\u7a7a\u95f4\u6587\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u64cd\u4f5c\u7cfb\u7edf\u6587\u4ef6\u5927\u5c0f\u9650\u5236<\/strong>\u3002\u4f8b\u5982\uff0c\u4f7f\u7528 <strong>MyISAM<\/strong> \u8868\uff0c\u64cd\u4f5c\u7cfb\u7edf\u652f\u6301\u7684\u6700\u5927\u6587\u4ef6\u5927\u5c0f\u4e3a <strong>2GB<\/strong>\uff0c\u90a3\u4e48\u5f53\u6570\u636e\u6587\u4ef6\u6216\u7d22\u5f15\u6587\u4ef6\u8fbe\u5230\u6b64\u9650\u5236\u65f6\u5c31\u4f1a\u51fa\u9519\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528 <strong>MyISAM<\/strong> \u8868\uff0c\u4e14\u8868\u7a7a\u95f4\u5927\u5c0f\u8d85\u8fc7\u4e86\u5185\u90e8\u6307\u9488\u6240\u5141\u8bb8\u7684\u6700\u5927\u7a7a\u95f4\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c<strong>MyISAM<\/strong> \u652f\u6301\u6570\u636e\u6587\u4ef6\u548c\u7d22\u5f15\u6587\u4ef6\u7684\u6700\u5927\u5c3a\u5bf8\u4e3a <strong>256TB<\/strong>\uff0c\u53ef\u4ee5\u589e\u5927\u5230\u6700\u5927 <strong>65,536TB<\/strong>\uff08256\\^7 \u2212 1 \u5b57\u8282\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5217\u6570\u9650\u5236<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u6bcf\u8868\u7684\u6700\u5927\u5217\u6570<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MySQL \u5bf9\u5355\u8868\u7684<strong>\u6700\u5927\u5217\u6570<\/strong>\u9650\u5236\u4e3a <strong>4096<\/strong> \u5217\uff0c\u4f46\u5177\u4f53\u9650\u5236\u56e0\u4e0d\u540c\u56e0\u7d20\u800c\u5f02\uff1a<\/li>\n\n\n\n<li><strong>\u884c\u7684\u6700\u5927\u5927\u5c0f<\/strong>\u9650\u5236\u4e86\u5217\u7684\u603b\u6570\u548c\u5927\u5c0f\u3002\u6240\u6709\u5217\u7684\u957f\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7\u8be5\u9650\u5236\u3002<\/li>\n\n\n\n<li>\u5355\u5217\u7684\u5b58\u50a8\u9700\u6c42\u5f71\u54cd\u4e86\u7ed9\u5b9a\u6700\u5927\u884c\u5927\u5c0f\u5185\u53ef\u4ee5\u5bb9\u7eb3\u7684\u5217\u6570\u3002<\/li>\n\n\n\n<li><strong>\u5b58\u50a8\u5f15\u64ce\u9650\u5236<\/strong>\uff1a\u4f8b\u5982\uff0c<strong>InnoDB<\/strong> \u8868\u6bcf\u8868\u6700\u5927\u5217\u6570\u4e3a <strong>1017<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u529f\u80fd\u952e\u90e8\u5206<\/strong>\u4f5c\u4e3a\u865a\u62df\u751f\u6210\u7684\u9690\u85cf\u5217\u5b9e\u73b0\uff0c\u56e0\u6b64\u8868\u4e2d\u6bcf\u4e2a\u529f\u80fd\u952e\u90e8\u5206\u90fd\u8ba1\u7b97\u5728\u5217\u603b\u6570\u9650\u5236\u5185\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u884c\u5927\u5c0f\u9650\u5236<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u884c\u5927\u5c0f\u7684\u9650\u5236\u56e0\u7d20<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5185\u90e8\u8868\u793a<\/strong>\uff1aMySQL \u8868\u7684\u5185\u90e8\u8868\u793a\u6700\u5927\u884c\u5927\u5c0f\u9650\u5236\u4e3a <strong>65,535 \u5b57\u8282<\/strong>\uff0c\u5373\u4f7f\u5b58\u50a8\u5f15\u64ce\u80fd\u652f\u6301\u66f4\u5927\u884c\u6570\u3002<\/li>\n\n\n\n<li><strong>BLOB \u548c TEXT \u5217<\/strong>\u53ea\u5360\u7528 <strong>9 \u5230 12 \u5b57\u8282<\/strong>\uff0c\u56e0\u4e3a\u5176\u5185\u5bb9\u5b58\u50a8\u5728\u884c\u5916\u3002<\/li>\n\n\n\n<li><strong>InnoDB \u884c\u5927\u5c0f<\/strong>\uff1aInnoDB \u8868\u7684\u6570\u636e\u5728\u672c\u5730\u6570\u636e\u5e93\u9875\u4e2d\u5b58\u50a8\uff0c\u5bf9\u4e8e 4KB\u30018KB\u300116KB \u548c 32KB \u9875\u5927\u5c0f\uff0c\u884c\u5927\u5c0f\u9650\u5236\u7565\u5c0f\u4e8e\u4e00\u9875\u7684\u4e00\u534a\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u540c\u5b58\u50a8\u683c\u5f0f<\/strong>\u5360\u7528\u4e0d\u540c\u7684\u9875\u5934\u548c\u9875\u5c3e\u7a7a\u95f4\uff0c\u5f71\u54cd\u53ef\u7528\u4e8e\u884c\u5b58\u50a8\u7684\u7a7a\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<p>CHAR\u4e0d\u53ef\u538b\u7f29\uff0c\u5efa\u8868\u65f6\u8d85\u8fc7page\u7684\u4e00\u534a\u5c31\u62a5\u9519\uff1bVARCHAR\u53ef\u538b\u7f29\uff0c\u6240\u4ee5VARCHAR\u8fd8\u4f1a\u51fa\u73b0\u5efa\u8868\u4e0d\u62a5\u9519\u4f46\u63d2\u5165\u62a5\u9519\u7684\u60c5\u51b5\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7VARCHAR\u5efa\u4e00\u4e2a\u5927\u5c0f\u63a5\u8fd164KB\u7684\u8868\uff0c\u4f46\u662f\u63d2\u5165\u6570\u636e\u5230\u8fbepage\u5927\u5c0f\u7684\u4e00\u534a\u65f6\u5c31\u4f1a\u62a5\u9519<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u884c\u5927\u5c0f\u9650\u5236\u793a\u4f8b<\/h5>\n\n\n\n<p><strong>\u793a\u4f8b 1<\/strong>: \u7531\u4e8e\u884c\u5927\u5c0f\u8d85\u8fc7\u9650\u5236\uff0c\u9700\u5c06\u67d0\u4e9b\u5217\u66f4\u6539\u4e3a <code>TEXT<\/code> \u6216 <code>BLOB<\/code> \u7c7b\u578b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql&gt; CREATE TABLE t (\n       a VARCHAR(10000), b VARCHAR(10000),\n       c VARCHAR(10000), d VARCHAR(10000),\n       e VARCHAR(10000), f VARCHAR(10000),\n       g VARCHAR(6000)\n   ) ENGINE=InnoDB CHARACTER SET latin1;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9519\u8bef<\/strong>: \u8d85\u51fa InnoDB \u8868\u7c7b\u578b\u7684\u6700\u5927\u884c\u5927\u5c0f\u9650\u5236\uff0865535 \u5b57\u8282\uff09\uff0c\u5efa\u8bae\u5c06\u90e8\u5206\u5217\u66f4\u6539\u4e3a <code>TEXT<\/code> \u6216 <code>BLOB<\/code> \u7c7b\u578b\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b 2<\/strong>: \u66f4\u6539 <code>g<\/code> \u5217\u4e3a <code>TEXT<\/code>\uff0c\u89e3\u51b3\u4e86\u884c\u5927\u5c0f\u8d85\u9650\u7684\u95ee\u9898\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql&gt; CREATE TABLE t (\n       a VARCHAR(10000), b VARCHAR(10000),\n       c VARCHAR(10000), d VARCHAR(10000),\n       e VARCHAR(10000), f VARCHAR(10000),\n       g TEXT(6000)\n   ) ENGINE=InnoDB CHARACTER SET latin1;<\/code><\/pre>\n\n\n\n<p><strong>\u793a\u4f8b 3<\/strong>: \u884c\u5927\u5c0f\u9650\u5236\u7684\u8fdb\u4e00\u6b65\u6d4b\u8bd5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql&gt; CREATE TABLE t1 (\n       c1 VARCHAR(32765) NOT NULL,\n       c2 VARCHAR(32766) NOT NULL\n   ) ENGINE=InnoDB CHARACTER SET latin1;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6210\u529f<\/strong>: \u6ca1\u6709\u8d85\u8fc7 InnoDB \u7684\u884c\u5927\u5c0f\u9650\u5236\uff0c\u521a\u597d\u5269\u4e24\u4e2a\u5b57\u8282\u7528\u4e8e\u5b58\u50a8\u5f00\u9500\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b <\/strong>4: \u5f53\u628a\u975e\u7a7a\u6539\u4e3a\u7a7a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; CREATE TABLE t3 (\n     c1 VARCHAR(32765) NULL, \n     c2 VARCHAR(32766) NULL\n) ENGINE = MyISAM CHARACTER SET latin1; <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5931\u8d25<\/strong>: \u5f53\u53ef\u4ee5\u4e3a\u7a7a\u65f6\u9700\u8981\u6709\u989d\u5916\u7684\u5f00\u9500\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b <\/strong>5: \u5c1d\u8bd5\u5b9a\u4e49\u5355\u5217\u7684\u8d85\u5927 <code>VARCHAR<\/code> \u5b57\u7b26\u4e32\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql&gt; CREATE TABLE t2 (\n       c1 VARCHAR(65535) NOT NULL\n   ) ENGINE=InnoDB CHARACTER SET latin1;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9519\u8bef<\/strong>: \u884c\u5927\u5c0f\u8d85\u9650\uff0c\u56e0\u4e3a\u5305\u542b\u4e86\u5b58\u50a8\u5f00\u9500\uff0c\u5efa\u8bae\u6539\u7528 <code>TEXT<\/code> \u6216 <code>BLOB<\/code> \u7c7b\u578b\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b <\/strong>6: MyISAM \u5b58\u50a8\u683c\u5f0f\u7684\u884c\u5927\u5c0f\u6d4b\u8bd5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql&gt; CREATE TABLE t4 (\n       c1 CHAR(255), c2 CHAR(255), ..., c33 CHAR(255)\n   ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC DEFAULT CHARSET latin1;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9519\u8bef<\/strong>: 255 * 33 = 8415\u884c\u5927\u5c0f\u8d85\u9650 (&gt;8126 \u5b57\u8282)\uff0c\u5efa\u8bae\u5c06\u90e8\u5206\u5217\u6539\u4e3a <code>TEXT<\/code> \u6216 <code>BLOB<\/code> \u7c7b\u578b\u3002CHAR\u662f\u5bf9\u9f50\u7684\uff0cVARCHAR\u662f\u538b\u7f29\u7684<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u4f18\u5316 InnoDB \u8868<\/strong><\/h2>\n\n\n\n<p><strong>\u5b58\u50a8\u5e03\u5c40\u4f18\u5316<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5f53\u6570\u636e\u91cf\u7a33\u5b9a\u6216\u589e\u957f\u81f3\u4e00\u5b9a\u89c4\u6a21\u65f6\uff0c\u53ef\u4f7f\u7528 <code>OPTIMIZE TABLE<\/code> \u8bed\u53e5\u91cd\u65b0\u7ec4\u7ec7\u8868\u548c\u538b\u7f29\u7a7a\u95f4\uff0c\u51cf\u5c11\u7d22\u5f15\u7684\u788e\u7247\u5316\uff0c\u4ece\u800c\u63d0\u5347\u6027\u80fd\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u4e3b\u952e\u8fc7\u957f\uff08\u5982\u7ec4\u5408\u591a\u4e2a\u5217\u7ec4\u6210\u590d\u6742\u4e3b\u952e\uff09\uff0c\u5c06\u6d6a\u8d39\u5927\u91cf\u78c1\u76d8\u7a7a\u95f4\u3002\u63a8\u8350\u4f7f\u7528\u81ea\u589e\u5217 (<code>AUTO_INCREMENT<\/code>) \u4f5c\u4e3a\u4e3b\u952e\uff0c\u6216\u4ec5\u7d22\u5f15 <code>VARCHAR<\/code> \u5217\u7684\u524d\u7f00\u4ee5\u8282\u7701\u7a7a\u95f4\u3002<\/li>\n\n\n\n<li><code>CHAR<\/code> \u56fa\u5b9a\u957f\u5ea6\u4f1a\u5360\u7528\u66f4\u591a\u5b58\u50a8\u7a7a\u95f4\uff0c\u800c <code>VARCHAR<\/code> \u9002\u5408\u5b58\u50a8\u53ef\u53d8\u957f\u5ea6\u5b57\u7b26\u4e32\uff0c\u5c24\u5176\u662f\u5305\u542b\u5927\u91cf <code>NULL<\/code> \u503c\u7684\u5217\u3002<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u5305\u542b\u5927\u91cf\u91cd\u590d\u6587\u672c\u6216\u6570\u5b57\u7684\u8868\uff0c\u53ef\u8003\u8651\u4f7f\u7528 <code>COMPRESSED<\/code> \u884c\u683c\u5f0f\u6765\u538b\u7f29\u6570\u636e\u3002\u4f8b\u5982\u5b66\u53f75220319\u53ef\u4ee5\u538b\u7f29\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u4e8b\u52a1\u7ba1\u7406\u4f18\u5316<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>AUTOCOMMIT=1<\/code> \u662f MySQL \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u4f46\u5728\u7e41\u5fd9\u670d\u52a1\u5668\u4e0a\u53ef\u80fd\u9020\u6210\u6027\u80fd\u74f6\u9888\u3002\u5efa\u8bae\u5c06\u591a\u4e2a\u76f8\u5173\u7684\u6570\u636e\u64cd\u4f5c\u653e\u5165\u5355\u4e2a\u4e8b\u52a1\uff0c\u5e76\u5728\u64cd\u4f5c\u7ed3\u675f\u65f6\u6267\u884c <code>COMMIT<\/code>\u3002<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u4ec5\u5305\u542b <code>SELECT<\/code> \u67e5\u8be2\u7684\u4e8b\u52a1\uff0c\u53ef\u4ee5\u5f00\u542f <code>AUTOCOMMIT<\/code> \u4ee5\u8bc6\u522b\u4e3a\u53ea\u8bfb\u4e8b\u52a1\uff0c\u4ece\u800c\u63d0\u9ad8\u6027\u80fd\u3002<\/li>\n\n\n\n<li>\u907f\u514d\u5728\u63d2\u5165\u3001\u66f4\u65b0\u6216\u5220\u9664\u5927\u91cf\u6570\u636e\u540e\u6267\u884c\u56de\u6eda\uff0c\u8fd9\u6837\u4f1a\u4e25\u91cd\u5f71\u54cd\u6027\u80fd\uff0c\u5e76\u53ef\u80fd\u5bfc\u81f4\u6bd4\u539f\u59cb\u64cd\u4f5c\u66f4\u957f\u7684\u56de\u6eda\u65f6\u95f4\u3002\u5373\u4f7f\u5728\u56de\u6eda\u8fc7\u7a0b\u4e2d\u7ec8\u6b62\u6570\u636e\u5e93\u8fdb\u7a0b\uff0c\u670d\u52a1\u5668\u91cd\u542f\u65f6\u4e5f\u4f1a\u91cd\u65b0\u5f00\u59cb\u56de\u6eda\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u8bfb\u4e8b\u52a1\u4f18\u5316<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e\u53ea\u8bfb\u4e8b\u52a1\uff0c\u53ef\u4f7f\u7528 <code>START TRANSACTION READ ONLY<\/code> \u8bed\u53e5\uff0c\u51cf\u5c11\u4e8b\u52a1\u5904\u7406\u7684\u5f00\u9500\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u4e8b\u52a1\u53ea\u5305\u542b\u975e\u9501\u5b9a\u7684 <code>SELECT<\/code> \u8bed\u53e5\uff0c\u53ef\u4ee5\u5f00\u542f <code>AUTOCOMMIT<\/code> \u8bbe\u7f6e\uff0c\u4ee5\u7b80\u5316\u4e8b\u52a1\u7ba1\u7406\u5e76\u63d0\u5347\u67e5\u8be2\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u6279\u91cf\u6570\u636e\u5bfc\u5165<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u5bfc\u5165\u6570\u636e\u65f6\u5173\u95ed <code>autocommit<\/code> \u6a21\u5f0f\uff0c\u56e0\u4e3a\u6bcf\u6b21\u63d2\u5165\u90fd\u4f1a\u5237\u65b0\u65e5\u5fd7\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>   SET autocommit=0;\n   -- \u6279\u91cf\u5bfc\u5165 SQL \u8bed\u53e5\n   COMMIT;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e\u5177\u6709 <code>UNIQUE<\/code> \u7ea6\u675f\u7684\u4e8c\u7ea7\u7d22\u5f15\uff0c\u5bfc\u5165\u524d\u53ef\u6682\u65f6\u5173\u95ed\u552f\u4e00\u6027\u68c0\u67e5\uff0c\u907f\u514d\u5927\u91cf\u78c1\u76d8 I\/O\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>   SET unique_checks=0;\n   -- \u6279\u91cf\u5bfc\u5165 SQL \u8bed\u53e5\n   SET unique_checks=1;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u6709\u5916\u952e\u7ea6\u675f\uff0c\u5bfc\u5165\u65f6\u53ef\u5173\u95ed\u5916\u952e\u68c0\u67e5\uff0c\u8282\u7701\u78c1\u76d8 I\/O\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>   SET foreign_key_checks=0;\n   -- \u6279\u91cf\u5bfc\u5165 SQL \u8bed\u53e5\n   SET foreign_key_checks=1;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>InnoDB \u67e5\u8be2\u4f18\u5316<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a <code>InnoDB<\/code> \u8868\u90fd\u9700\u8981\u4e3b\u952e\uff0c\u4e0d\u5e94\u5305\u542b\u8fc7\u591a\u6216\u8fc7\u957f\u7684\u5217\uff0c\u4ee5\u514d\u91cd\u590d\u503c\u5728\u4e8c\u7ea7\u7d22\u5f15\u4e2d\u5360\u7528\u8fc7\u591a\u7a7a\u95f4\u3002<\/li>\n\n\n\n<li>\u4e0d\u8981\u4e3a\u6bcf\u5217\u521b\u5efa\u5355\u72ec\u7684\u4e8c\u7ea7\u7d22\u5f15\uff0c\u56e0\u4e3a\u67e5\u8be2\u53ea\u80fd\u4f7f\u7528\u4e00\u4e2a\u7d22\u5f15\u3002\u5bf9\u4e8e\u5e38\u7528\u7ec4\u5408\u67e5\u8be2\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u5217\u7ec4\u5408\u7d22\u5f15\uff0c\u800c\u975e\u5355\u5217\u7d22\u5f15\u3002<\/li>\n\n\n\n<li>\u82e5\u5217\u4e0d\u53ef\u5305\u542b <code>NULL<\/code> \u503c\uff0c\u5efa\u8bae\u5728\u521b\u5efa\u8868\u65f6\u58f0\u660e\u4e3a <code>NOT NULL<\/code>\uff08\u5360\u7528\u7a7a\u95f4\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5728 MySQL \u4e2d\uff0c\u5982\u679c\u8981\u4e00\u6b21\u63d2\u5165\u591a\u884c\u6570\u636e\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u884c <code>INSERT<\/code> \u8bed\u6cd5\uff0c\u8fd9\u79cd\u65b9\u5f0f\u4e0d\u4ec5\u80fd\u51cf\u5c11\u4e0e\u670d\u52a1\u5668\u7684\u901a\u4fe1\u5f00\u9500\uff0c\u8fd8\u53ef\u4ee5\u63d0\u9ad8\u63d2\u5165\u6548\u7387\u3002\u8bed\u6cd5\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO yourtable VALUES (1,2), (5,5), ...;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u591a\u884c <code>INSERT<\/code> \u8bed\u6cd5\u7684\u5de5\u4f5c\u539f\u7406<\/h4>\n\n\n\n<p>\u5728\u4e00\u6b21 <code>INSERT<\/code> \u64cd\u4f5c\u4e2d\u63d2\u5165\u591a\u884c\uff0c\u5ba2\u6237\u7aef\u4e0e\u6570\u636e\u5e93\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u901a\u4fe1\u4f1a\u51cf\u5c11\uff0c\u53ea\u9700\u8981\u4e00\u6b21\u547d\u4ee4\u5373\u53ef\u63d2\u5165\u591a\u884c\u6570\u636e\u3002\u8fd9\u79cd\u65b9\u6cd5\u80fd\u51cf\u5c11 SQL \u8bed\u53e5\u7684\u5904\u7406\u5f00\u9500\uff0c\u8282\u7701\u901a\u4fe1\u65f6\u95f4\uff0c\u63d0\u5347\u63d2\u5165\u901f\u5ea6\u3002\u8fd9\u79cd\u4f18\u5316\u5bf9\u4e8e <strong>\u4efb\u4f55\u5b58\u50a8\u5f15\u64ce\uff08\u4e0d\u4ec5\u9650\u4e8e InnoDB\uff09<\/strong> \u90fd\u9002\u7528\u3002<\/p>\n\n\n\n<p><code>innodb_autoinc_lock_mode<\/code> \u8bbe\u7f6e<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u5305\u542b\u81ea\u589e\u5217\uff08auto-increment\uff09\u7684\u8868\uff0c\u5728\u6267\u884c\u6279\u91cf\u63d2\u5165\u65f6\uff0c<code>innodb_autoinc_lock_mode<\/code> \u8bbe\u7f6e\u4e3a 2\uff08<strong>interleaved \u6a21\u5f0f<\/strong>\uff09\u6bd4\u9ed8\u8ba4\u7684 1\uff08<strong>consecutive \u6a21\u5f0f<\/strong>\uff09\u66f4\u9ad8\u6548\uff0c\u5c24\u5176\u5728\u5e76\u53d1\u73af\u5883\u4e0b\u3002<\/p>\n\n\n\n<p>\u5404\u4e2a\u6a21\u5f0f\u7684\u89e3\u91ca\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6a21\u5f0f 1\uff08consecutive\uff09<\/strong>\uff1a\u5728\u9ed8\u8ba4\u6a21\u5f0f\u4e0b\uff0cInnoDB \u4e3a\u6bcf\u6b21\u81ea\u589e\u503c\u5206\u914d\u4e00\u4e2a\u5168\u5c40\u9501\u3002\u8fd9\u610f\u5473\u7740\u5373\u4fbf\u662f\u5728\u6279\u91cf\u63d2\u5165\u4e2d\uff0c\u670d\u52a1\u5668\u4e5f\u4f1a\u4ee5\u9012\u589e\u7684\u987a\u5e8f\u5206\u914d\u6bcf\u4e00\u4e2a\u81ea\u589e ID\uff0c\u786e\u4fdd\u987a\u5e8f\u8fde\u7eed\u3002\u8fd9\u79cd\u9501\u7684\u65b9\u5f0f\u51cf\u5c11\u4e86\u63d2\u5165\u65f6\u7684\u51b2\u7a81\uff0c\u9002\u7528\u4e8e\u5355\u7ebf\u7a0b\u6216\u4e0d\u592a\u9891\u7e41\u7684\u81ea\u589e\u64cd\u4f5c\u573a\u666f\u3002<\/li>\n\n\n\n<li><strong>\u6a21\u5f0f 2\uff08interleaved\uff09<\/strong>\uff1a\u5728 interleaved \u6a21\u5f0f\u4e0b\uff0cInnoDB \u53ea\u4f1a\u5728\u83b7\u53d6\u81ea\u589e\u503c\u65f6\u7533\u8bf7\u4e00\u6b21\u9501\uff0c\u7136\u540e\u7acb\u5373\u91ca\u653e\u3002\u8fd9\u79cd\u65b9\u5f0f\u66f4\u9002\u5408\u5e76\u53d1\u63d2\u5165\u64cd\u4f5c\uff0c\u56e0\u4e3a\u4e0d\u9700\u8981\u4e25\u683c\u6309\u7167\u987a\u5e8f\u5206\u914d\u81ea\u589e\u503c\uff0c\u53ea\u8981 ID \u662f\u552f\u4e00\u7684\u5373\u53ef\u3002\u8fd9\u79cd\u65b9\u5f0f\u5141\u8bb8\u6279\u91cf\u63d2\u5165\u65f6\u540c\u65f6\u5206\u914d\u591a\u4e2a\u81ea\u589e\u503c\uff0c\u51cf\u5c11\u9501\u7ade\u4e89\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u9009\u62e9\u6a21\u5f0f 2\uff08interleaved\uff09<\/p>\n\n\n\n<p>\u5728\u6279\u91cf\u63d2\u5165\u4e2d\uff0c\u5982\u679c\u4f7f\u7528\u9ed8\u8ba4\u7684\u6a21\u5f0f 1\uff08consecutive\uff09\uff0c\u7cfb\u7edf\u4f1a\u9010\u4e2a\u9501\u5b9a\u6bcf\u4e2a\u81ea\u589e\u503c\uff0c\u5373\u4fbf\u662f\u6279\u91cf\u63d2\u5165\uff0c\u4ecd\u7136\u4f1a\u987a\u5e8f\u5206\u914d\uff0c\u8fd9\u4f1a\u5f15\u5165\u989d\u5916\u7684\u9501\u7ade\u4e89\u3002\u6a21\u5f0f 2\uff08interleaved\uff09\u5219\u5141\u8bb8\u6279\u91cf\u63d2\u5165\u7684\u81ea\u589e\u503c\u5e76\u884c\u5206\u914d\uff0c\u4e0d\u8981\u6c42\u987a\u5e8f\u4e00\u81f4\uff0c\u56e0\u6b64\u63d2\u5165\u901f\u5ea6\u66f4\u5feb\u3001\u6548\u7387\u66f4\u9ad8\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>InnoDB \u7684\u78c1\u76d8 I\/O \u4f18\u5316<\/strong><\/h4>\n\n\n\n<p><strong>\u7f13\u51b2\u6c60\u7684\u4f7f\u7528<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u589e\u52a0\u7f13\u51b2\u6c60\u5927\u5c0f\u5c06\u6570\u636e\u7f13\u5b58\uff0c\u907f\u514d\u6bcf\u6b21\u67e5\u8be2\u90fd\u8bbf\u95ee\u78c1\u76d8\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528 <code>innodb_buffer_pool_size<\/code> \u9009\u9879\u6307\u5b9a\u7f13\u51b2\u6c60\u5927\u5c0f\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5237\u65b0\u65b9\u6cd5\u7684\u8c03\u6574<\/strong>:\u82e5\u6570\u636e\u5e93\u5199\u5165\u6027\u80fd\u4e0d\u8db3\uff0c\u8c03\u6574 <code>innodb_flush_method<\/code> \u4ee5\u4f18\u5316\u5199\u5165\u6027\u80fd\u3002<\/p>\n\n\n\n<p><strong>\u914d\u7f6e fsync \u9608\u503c<\/strong>\uff1a<code>innodb_fsync_threshold<\/code> \u53ef\u8bbe\u7f6e\u89e6\u53d1\u9608\u503c\uff0c\u4ee5\u4fbf\u5206\u6563\u5237\u65b0\u5199\u5165\uff0c\u907f\u514d\u540c\u4e00\u65f6\u523b\u5927\u91cf I\/O \u64cd\u4f5c\u3002<\/p>\n\n\n\n<p><strong>\u8003\u8651\u975e\u65cb\u8f6c\u5b58\u50a8<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e\u968f\u673a I\/O \u64cd\u4f5c\uff0c\u5efa\u8bae\u4f7f\u7528\u975e\u65cb\u8f6c\u5b58\u50a8\uff08\u5982 SSD\uff09\uff0c\u800c\u65cb\u8f6c\u5b58\u50a8\u66f4\u9002\u5408\u987a\u5e8f I\/O \u64cd\u4f5c\u3002\u4e0d\u7528\u673a\u68b0\u786c\u76d8<\/li>\n\n\n\n<li>\u4e0d\u540c\u6587\u4ef6\u7c7b\u578b\u53ef\u5206\u5e03\u5728\u4e0d\u540c\u7684\u5b58\u50a8\u8bbe\u5907\u4e0a\uff0c\u5982 <code>file-per-table<\/code> \u8868\u7a7a\u95f4\u6587\u4ef6\u9002\u5408\u968f\u673a I\/O\uff0c\u800c\u7cfb\u7edf\u8868\u7a7a\u95f4\u3001\u53cc\u5199\u7f13\u51b2\u548c\u91cd\u505a\u65e5\u5fd7\u6587\u4ef6\u9002\u5408\u987a\u5e8f I\/O\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u589e\u52a0 I\/O \u5bb9\u91cf<\/strong>:\u82e5\u7531\u4e8e\u68c0\u67e5\u70b9\u64cd\u4f5c\u5bfc\u81f4\u541e\u5410\u91cf\u5b9a\u671f\u4e0b\u964d\uff0c\u589e\u5927 <code>innodb_io_capacity<\/code> \u7684\u503c\uff0c\u53ef\u907f\u514d\u79ef\u538b\u9020\u6210\u7684\u6027\u80fd\u4e0b\u964d\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>InnoDB \u7684 DDL \u64cd\u4f5c\u4f18\u5316<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 <code>TRUNCATE TABLE<\/code> \u800c\u975e <code>DELETE FROM<\/code> \u6e05\u7a7a\u8868\uff0c\u4f46\u82e5\u5b58\u5728\u5916\u952e\u7ea6\u675f\uff0c<code>TRUNCATE<\/code> \u4f1a\u9000\u5316\u4e3a <code>DELETE<\/code>\u3002<\/li>\n\n\n\n<li>\u4e3b\u952e\u5728 InnoDB \u4e2d\u662f\u8868\u7ed3\u6784\u7684\u6838\u5fc3\uff0c\u56e0\u6b64\u5e94\u5728\u521b\u5efa\u8868\u65f6\u786e\u5b9a\u4e3b\u952e\uff0c\u5c3d\u91cf\u907f\u514d\u540e\u7eed\u7684\u4e3b\u952e\u4fee\u6539\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4f18\u5316 MEMORY \u8868<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MEMORY \u8868\u9002\u7528\u4e8e\u5b58\u50a8\u975e\u5173\u952e\u6027\u6570\u636e<\/strong>\uff1a\u53ef\u4ee5\u4e3a\u9891\u7e41\u8bbf\u95ee\u4f46\u4e0d\u9700\u8981\u6301\u4e45\u5316\u7684\u4e34\u65f6\u6570\u636e\u63d0\u4f9b\u9ad8\u901f\u5b58\u50a8\u3002\u7531\u4e8e\u6570\u636e\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\uff0c\u56e0\u6b64\u5728\u6570\u636e\u5e93\u91cd\u542f\u6216\u65ad\u7535\u65f6\u5c06\u4f1a\u4e22\u5931\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>MyISAM \u8868\u4f18\u5316<\/strong><\/h4>\n\n\n\n<p>MyISAM \u5f15\u64ce\u867d\u7136\u9010\u6e10\u88ab InnoDB \u66ff\u4ee3\uff0c\u4f46\u4ecd\u7136\u5728\u4e00\u4e9b\u7279\u5b9a\u573a\u666f\u4e0b\u5e94\u7528\uff08\u5982\u5168\u6587\u68c0\u7d22\u548c\u53ea\u8bfb\u8868\uff09\uff0c\u56e0\u6b64\u4f18\u5316\u7b56\u7565\u4f9d\u7136\u6709\u7528\uff1a<\/p>\n\n\n\n<p><strong>\u8868\u788e\u7247\u6574\u7406<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 <code>OPTIMIZE TABLE<\/code> \u8bed\u53e5\u6574\u7406 MyISAM \u8868\u4ee5\u51cf\u5c11\u788e\u7247\uff0c\u7279\u522b\u662f\u9891\u7e41\u5220\u9664\u548c\u66f4\u65b0\u7684\u8868\u4f1a\u4ea7\u751f\u788e\u7247\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5ef6\u8fdf\u5199\u5165<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bbe\u7f6e <code>delay_key_write<\/code> \u4e3a <code>ON<\/code> \u53ef\u51cf\u5c11\u952e\u7f13\u5b58\u7684\u78c1\u76d8 I\/O\uff0c\u4f46\u5728\u6570\u636e\u5e93\u5d29\u6e83\u65f6\u6709\u4e22\u5931\u6570\u636e\u7684\u98ce\u9669\uff0c\u56e0\u6b64\u4ec5\u9002\u5408\u975e\u5173\u952e\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7d22\u5f15\u7f13\u5b58<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 <code>key_buffer_size<\/code> \u53c2\u6570\u589e\u52a0\u952e\u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u53ef\u52a0\u901f\u7d22\u5f15\u64cd\u4f5c\uff0c\u7279\u522b\u9002\u7528\u4e8e\u4ee5 MyISAM \u4e3a\u4e3b\u7684\u8bfb\u5bc6\u96c6\u578b\u5e94\u7528\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u8bfb\u5199\u9501\u673a\u5236<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>MyISAM \u4e0d\u652f\u6301\u884c\u7ea7\u9501\uff0c\u53ea\u652f\u6301\u8868\u7ea7\u9501\uff0c\u5bb9\u6613\u5728\u9ad8\u5e76\u53d1\u4e0b\u53d1\u751f\u9501\u4e89\u7528\u3002\u82e5\u8868\u4e0d\u518d\u66f4\u65b0\uff0c\u53ef\u4ee5\u5728\u5e94\u7528\u5c42\u901a\u8fc7\u5408\u9002\u7684\u5206\u533a\u7b56\u7565\u6765\u964d\u4f4e\u9501\u7ade\u4e89\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5185\u5b58\u4f18\u5316 (MEMORY) \u8868\u7684\u4f18\u5316<\/strong><\/h4>\n\n\n\n<p><strong>\u7d22\u5f15\u9009\u62e9<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MEMORY \u8868\u652f\u6301\u54c8\u5e0c\u7d22\u5f15\u548c BTree \u7d22\u5f15\u3002\u5bf9\u4e8e\u7b49\u503c\u67e5\u8be2\uff08\u4f8b\u5982 <code>=<\/code>\uff09\uff0c\u54c8\u5e0c\u7d22\u5f15\u8f83 BTree \u7d22\u5f15\u66f4\u5feb\uff0c\u4f46\u5728\u8303\u56f4\u67e5\u8be2\u65f6\u6548\u7387\u4f4e\u4e8e BTree \u7d22\u5f15\u3002<\/li>\n\n\n\n<li>\u82e5 MEMORY \u8868\u9891\u7e41\u8fdb\u884c\u8303\u56f4\u67e5\u8be2\uff08\u4f8b\u5982 <code>&lt;<\/code>\u3001<code>&gt;<\/code>\uff09\uff0c\u5efa\u8bae\u4f7f\u7528 BTree \u7d22\u5f15\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6570\u636e\u7c7b\u578b\u7684\u9009\u62e9<\/strong>\uff1aMEMORY \u8868\u7684\u6bcf\u884c\u6570\u636e\u4f1a\u4fdd\u5b58\u5728\u5185\u5b58\u4e2d\uff0c\u56e0\u6b64\u8981\u5408\u7406\u8bbe\u8ba1\u6570\u636e\u7c7b\u578b\u4ee5\u8282\u7701\u7a7a\u95f4\u3002\u4f8b\u5982\uff0c\u4f7f\u7528 <code>VARCHAR<\/code> \u800c\u975e <code>CHAR<\/code> \u5b58\u50a8\u53ef\u53d8\u957f\u5ea6\u5b57\u7b26\u4e32\u3002<\/p>\n\n\n\n<p><strong>\u5b9a\u671f\u5237\u65b0\u548c\u6e05\u7a7a<\/strong>\uff1a\u7531\u4e8e\u5185\u5b58\u8868\u4e0d\u4f1a\u6301\u4e45\u5316\uff0c\u5efa\u8bae\u5728\u975e\u5173\u952e\u6570\u636e\u4f7f\u7528\u5b8c\u6bd5\u540e\u5b9a\u671f\u6e05\u7a7a\u6216\u5237\u65b0\u8868\uff0c\u4ee5\u91ca\u653e\u5185\u5b58\u3002<\/p>\n\n\n\n<p><strong>\u5206\u533a\u6280\u672f<\/strong>\uff1a\u5f53\u6570\u636e\u91cf\u5e9e\u5927\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7\u5206\u533a\u6765\u7ba1\u7406\u591a\u4e2a MEMORY \u8868\uff0c\u5c06\u4e0d\u540c\u5206\u533a\u6570\u636e\u653e\u5728\u4e0d\u540c\u7684\u670d\u52a1\u5668\u5185\u5b58\u4e2d\uff0c\u51cf\u8f7b\u5355\u4e00\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u3002<\/p>\n\n\n\n<p>\u9884\u8bfb\uff1a\u8bfb\u53d6\u5c11\u7684\u65f6\u5019\u591a\u8bfb\u4e00\u4e9b\u653e\u5728\u5185\u5b58\u91cc<br>\u843d\u76d8\u7ebf\u7a0b\u6570\uff08\u5c0f\u4e8e\u5b9e\u4f8b\u6570\u91cf\uff09\uff0c\u843d\u76d8\u9608\u503c<br>\u6696\u542f\u52a8\uff1a\u5373\u4f7f\u5173\u673a\uff0c\u4e5f\u628a\u90e8\u5206\u7f13\u5b58\u843d\u76d8\uff0c\u7136\u540e\u6062\u590d\u7f13\u5b58<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u7f13\u51b2\u4e0e\u7f13\u5b58\u4f18\u5316<\/strong><\/h2>\n\n\n\n<p>\u7f13\u5b58\u8bbe\u7f6e<\/p>\n\n\n\n<p>\u8bbe\u7f6eBuffer size\u65f6\uff0c\u9ed8\u8ba4Chunksize\u662f128\u3002\u6307\u4ee4\u9700\u8981\u6307\u5b9aBuffer size\u5927\u5c0f\u548c\u5b9e\u4f8b\u6570\u91cf\uff0c\u5982\u679c\u8bbe8G\uff0c16\u4e2a\u5b9e\u4f8b\uff0c\u5b9e\u9645buffer\u662f8G\uff1b\u4f46\u5982\u679c\u6539\u62109G\uff0c\u5b9e\u9645\u4f1a\u5206\u914d10G\uff0c\u56e0\u4e3a9G\/16\u4e0d\u662f128M\u7684\u6574\u6570\u500d\u3002\uff0c\u5b9e\u4f8b\u6700\u591a\u662f64\u4e2a\uff0cBuffer size\u6700\u5c11\u662f1G<\/p>\n\n\n\n<p><strong>\u7f13\u51b2\u6c60\u5927\u5c0f\u8c03\u6574<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e InnoDB \u8868\uff0c\u901a\u8fc7\u8c03\u6574 <code>innodb_buffer_pool_size<\/code> \u53ef\u4ee5\u7f13\u5b58\u66f4\u591a\u6570\u636e\uff0c\u51cf\u5c11\u78c1\u76d8 I\/O \u64cd\u4f5c\uff0c\u63d0\u9ad8\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u67e5\u8be2\u7f13\u5b58<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e\u9891\u7e41\u91cd\u590d\u7684\u76f8\u540c\u67e5\u8be2\uff0c\u5f00\u542f <code>query_cache<\/code> \u53ef\u663e\u8457\u63d0\u5347\u67e5\u8be2\u6027\u80fd\u3002\u4f46\u662f\uff0c\u5728\u9ad8\u5e76\u53d1\u5199\u64cd\u4f5c\u573a\u666f\u4e0b\u4e0d\u63a8\u8350\u542f\u7528\u67e5\u8be2\u7f13\u5b58\uff0c\u56e0\u4e3a\u6570\u636e\u66f4\u65b0\u4f1a\u5bfc\u81f4\u7f13\u5b58\u5931\u6548\uff0c\u589e\u52a0\u7cfb\u7edf\u8d1f\u62c5\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7d22\u5f15\u7f13\u5b58<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>key_buffer_size<\/code> \u53c2\u6570\u7528\u4e8e\u63a7\u5236 MyISAM \u8868\u7684\u7d22\u5f15\u7f13\u5b58\u5927\u5c0f\u3002\u5bf9\u4e8e\u4e3b\u8981\u4f7f\u7528 MyISAM \u8868\u7684\u5e94\u7528\uff0c\u53ef\u4ee5\u9002\u5f53\u589e\u52a0\u6b64\u53c2\u6570\u4ee5\u4f18\u5316\u7d22\u5f15\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u4e34\u65f6\u8868\u548c\u8fde\u63a5\u7f13\u5b58<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>tmp_table_size<\/code> \u548c <code>max_heap_table_size<\/code> \u53c2\u6570\u63a7\u5236\u4e34\u65f6\u8868\u7684\u5927\u5c0f\u3002\u5728\u9700\u8981\u5927\u6570\u636e\u96c6\u8fde\u63a5\u64cd\u4f5c\u7684\u573a\u666f\u4e0b\uff0c\u53ef\u4ee5\u589e\u52a0\u8fd9\u4e9b\u53c2\u6570\u4ee5\u9632\u6b62\u4e34\u65f6\u8868\u5199\u5165\u78c1\u76d8\u3002<\/li>\n\n\n\n<li><code>table_open_cache<\/code> \u53c2\u6570\u63a7\u5236\u8868\u7f13\u5b58\u6570\u91cf\u3002\u5bf9\u9891\u7e41\u8bbf\u95ee\u7684\u8868\u589e\u5927\u6b64\u53c2\u6570\u53ef\u51cf\u5c11\u8868\u6253\u5f00\u548c\u5173\u95ed\u7684\u64cd\u4f5c\u6b21\u6570\uff0c\u63d0\u5347\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<p>InnoDB\u7684\u7f13\u51b2\u6c60\u7ba1\u7406\u5e76\u4e0d\u5b8c\u5168\u9075\u5faa\u4f20\u7edf\u7684\u6700\u8fd1\u6700\u5c11\u4f7f\u7528\uff08LRU\uff09\u7b97\u6cd5\uff0c\u800c\u662f\u91c7\u7528\u4e86\u4e00\u79cd<strong>\u6539\u8fdb\u7684LRU\u7b56\u7565<\/strong>\uff0c\u4ee5\u51cf\u5c11\u90a3\u4e9b\u4ec5\u8bbf\u95ee\u4e00\u6b21\u7684\u6570\u636e\u5728\u7f13\u51b2\u6c60\u4e2d\u7684\u5360\u7528\u3002\u8fd9\u79cd\u65b9\u6cd5\u5e2e\u52a9\u9891\u7e41\u8bbf\u95ee\u7684\u201c\u70ed\u201d\u6570\u636e\u7559\u5728\u5185\u5b58\u4e2d\uff0c\u540c\u65f6\u8ba9\u4e0d\u5e38\u8bbf\u95ee\u7684\u6570\u636e\u66f4\u5feb\u5730\u88ab\u66ff\u6362\u6389\u3002<\/p>\n\n\n\n<p>InnoDB \u4f1a\u5728\u540e\u53f0\u6267\u884c\u4e00\u4e9b\u4efb\u52a1\uff0c\u5305\u62ec\u5c06\u7f13\u51b2\u6c60\u4e2d\u7684<strong>\u810f\u9875<\/strong>\uff08\u5373\u5df2\u4fee\u6539\u4f46\u5c1a\u672a\u5199\u5165\u78c1\u76d8\u7684\u6570\u636e\u9875\uff09\u5237\u65b0\u5230\u6570\u636e\u6587\u4ef6\u3002\u5728 MySQL 8.0 \u4e2d\uff0c\u7f13\u51b2\u6c60\u7684\u5237\u65b0\u64cd\u4f5c\u7531<strong>\u9875\u9762\u6e05\u7406\u7ebf\u7a0b<\/strong>\u8d1f\u8d23\uff0c\u5176\u6570\u91cf\u7531 <code>innodb_page_cleaners<\/code> \u53c2\u6570\u63a7\u5236\uff0c\u9ed8\u8ba4\u503c\u4e3a 4\u3002\u7136\u800c\uff0c\u5982\u679c\u9875\u9762\u6e05\u7406\u7ebf\u7a0b\u6570\u8d85\u8fc7\u4e86\u7f13\u51b2\u6c60\u5b9e\u4f8b\u6570\uff0c\u5219 <code>innodb_page_cleaners<\/code> \u4f1a\u81ea\u52a8\u8c03\u6574\u4e3a\u4e0e <code>innodb_buffer_pool_instances<\/code> \u76f8\u540c\u7684\u503c\u3002<\/p>\n\n\n\n<p>\u5f53\u810f\u9875\u7684\u6bd4\u4f8b\u8fbe\u5230 <code>innodb_max_dirty_pages_pct_lwm<\/code> \u53c2\u6570\u8bbe\u7f6e\u7684\u4f4e\u6c34\u4f4d\u503c\u65f6\uff0c\u5c31\u4f1a\u89e6\u53d1\u7f13\u51b2\u6c60\u5237\u65b0\u3002\u9ed8\u8ba4\u4f4e\u6c34\u4f4d\u503c\u4e3a\u7f13\u51b2\u6c60\u9875\u603b\u6570\u7684 10%\u3002\u5982\u679c\u5c06 <code>innodb_max_dirty_pages_pct_lwm<\/code> \u8bbe\u7f6e\u4e3a 0\uff0c\u5219\u4f1a\u7981\u7528\u6b64\u65e9\u671f\u5237\u65b0\u884c\u4e3a\u3002<\/p>\n\n\n\n<p>\u5de5\u4f5c\u673a\u5236<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e2d\u95f4\u63d2\u5165\u70b9<\/strong>\uff1a\u65b0\u8bfb\u5165\u7684\u9875\u9762\u4e0d\u4f1a\u76f4\u63a5\u88ab\u63d2\u5165\u5230LRU\u5217\u8868\u7684\u5934\u90e8\uff08\u5373\u6700\u8fd1\u4f7f\u7528\u7684\u90e8\u5206\uff09\uff0c\u800c\u662f\u88ab\u63d2\u5165\u5230\u8ddd\u5c3e\u90e83\/8\u4f4d\u7f6e\u3002\u8fd9\u79cd\u63d2\u5165\u65b9\u5f0f\u80fd\u591f\u9632\u6b62\u90a3\u4e9b\u4ec5\u8bbf\u95ee\u4e00\u6b21\u7684\u9875\u9762\uff08\u901a\u5e38\u7531\u9884\u8bfb\u6216\u5168\u8868\u626b\u63cf\u5f15\u5165\uff09\u6324\u5360\u7f13\u51b2\u6c60\u4e2d\u7684\u9891\u7e41\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>LRU\u5217\u8868\u7684\u53cc\u6bb5\u7ed3\u6784<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u65b0\u9875\u9762<\/strong>\uff1a\u65b0\u8bfb\u5165\u7684\u9875\u9762\u9996\u5148\u8fdb\u5165\u7f13\u51b2\u6c60\u76843\/8\u63d2\u5165\u70b9\u4f4d\u7f6e\uff0c\u5904\u4e8e\u201c\u51b7\u201d\u72b6\u6001\u3002<\/li>\n\n\n\n<li><strong>\u70ed\u9875\u9762<\/strong>\uff1a\u5982\u679c\u8fd9\u4e9b\u9875\u9762\u518d\u6b21\u88ab\u8bbf\u95ee\uff0c\u5b83\u4eec\u4f1a\u88ab\u63d0\u5347\u5230LRU\u5217\u8868\u7684\u5934\u90e8\uff08\u6700\u8fd1\u4f7f\u7528\u7aef\uff09\uff0c\u8868\u660e\u5b83\u4eec\u7684\u91cd\u8981\u6027\uff0c\u4ece\u800c\u5728\u5185\u5b58\u4e2d\u4fdd\u7559\u66f4\u957f\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6dd8\u6c70\u7b56\u7565<\/strong>\uff1aLRU\u5217\u8868\u5c3e\u90e8\u9760\u8fd1\u672b\u7aef\u7684\u4f4d\u7f6e\uff08\u5728\u63d2\u5165\u70b9\u4e4b\u540e\uff09\u7684\u9875\u9762\u88ab\u8ba4\u4e3a\u662f\u201c\u65e7\u7684\u201d\uff0c\u5728\u9700\u8981\u7a7a\u95f4\u65f6\u4f18\u5148\u88ab\u6dd8\u6c70\u3002\u8fd9\u6837\uff0c\u4e0d\u9891\u7e41\u8bbf\u95ee\u7684\u6570\u636e\u88ab\u66f4\u5feb\u5730\u6dd8\u6c70\uff0c\u4f18\u5316\u4e86\u7f13\u51b2\u6c60\u4e2d\u9891\u7e41\u6570\u636e\u7684\u4fdd\u7559\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u8fd9\u79cd\u6539\u8fdb\u7684LRU\u8bbe\u8ba1\u80fd\u6709\u6548\u9632\u6b62\u7f13\u51b2\u6c60\u88ab\u53ef\u80fd\u53ea\u4f7f\u7528\u4e00\u6b21\u7684\u6570\u636e\u586b\u6ee1\uff0c\u4ece\u800c\u4fdd\u7559\u8db3\u591f\u7684\u7a7a\u95f4\u7ed9\u771f\u6b63\u7684\u201c\u70ed\u201d\u9875\u9762\uff0c\u63d0\u5347\u7f13\u5b58\u6548\u7387\u3002\u8fd9\u79cd\u65b9\u6cd5\u5bf9\u4e8e\u9ad8\u541e\u5410\u91cf\u7cfb\u7edf\u5c24\u4e3a\u91cd\u8981\uff0c\u56e0\u4e3a\u5728\u8fd9\u4e9b\u7cfb\u7edf\u4e2d\uff0c\u907f\u514d\u7f13\u51b2\u6c60\u6c61\u67d3\u5bf9\u4e8e\u7ef4\u6301\u6027\u80fd\u81f3\u5173\u91cd\u8981\u3002<\/p>\n\n\n\n<p><strong>\u65e5\u5fd7\u7f13\u51b2<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>innodb_log_buffer_size<\/code> \u63a7\u5236\u4e8b\u52a1\u65e5\u5fd7\u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u9002\u5408\u6709\u5927\u91cf\u4e8b\u52a1\u7684\u573a\u666f\u3002\u8f83\u5927\u7684\u65e5\u5fd7\u7f13\u51b2\u533a\u53ef\u4ee5\u51cf\u5c11\u78c1\u76d8\u5199\u5165\u9891\u7387\uff0c\u4f46\u4e5f\u4f1a\u589e\u52a0\u5d29\u6e83\u65f6\u7684\u6062\u590d\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u603b\u4f53\u4f18\u5316\u5efa\u8bae<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9002\u914d\u4e0d\u540c\u6570\u636e\u5f15\u64ce<\/strong>\uff1a\u6839\u636e\u5e94\u7528\u573a\u666f\u9009\u62e9\u9002\u5408\u7684\u5f15\u64ce\uff0c\u4f8b\u5982\u4e8b\u52a1\u578b\u5e94\u7528\u63a8\u8350\u4f7f\u7528 InnoDB\uff0c\u800c\u8bfb\u5bc6\u96c6\u578b\u548c\u5168\u6587\u68c0\u7d22\u53ef\u9009\u7528 MyISAM\u3002<\/li>\n\n\n\n<li><strong>\u7d22\u5f15\u7b56\u7565<\/strong>\uff1a\u5408\u7406\u8bbe\u8ba1\u4e3b\u952e\u548c\u7d22\u5f15\uff0c\u907f\u514d\u8fc7\u957f\u6216\u5197\u4f59\u7684\u4e3b\u952e\u3002\u5bf9\u9ad8\u67e5\u8be2\u6027\u80fd\u8981\u6c42\u7684\u5e94\u7528\uff0c\u91c7\u7528\u7ec4\u5408\u7d22\u5f15\u6216\u8986\u76d6\u7d22\u5f15\u3002<\/li>\n\n\n\n<li><strong>\u5206\u533a\u548c\u5206\u8868\u7b56\u7565<\/strong>\uff1a\u5bf9\u4e8e\u5927\u8868\uff0c\u901a\u8fc7\u6c34\u5e73\u5206\u533a\u548c\u5206\u8868\u7b56\u7565\u6765\u51cf\u5c11\u9501\u4e89\u7528\u548c\u63d0\u9ad8\u67e5\u8be2\u6548\u7387\u3002<\/li>\n\n\n\n<li><strong>\u4e8b\u52a1\u7ba1\u7406<\/strong>\uff1a\u5408\u7406\u4f7f\u7528\u4e8b\u52a1\u63a7\u5236\u8bed\u53e5\uff0c\u51cf\u5c11\u957f\u4e8b\u52a1\uff0c\u5c3d\u91cf\u907f\u514d\u5927\u6279\u91cf\u6570\u636e\u7684\u56de\u6eda\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u76d1\u63a7\u4e0e\u8c03\u6574<\/strong>\uff1a\u5b9a\u671f\u4f7f\u7528\u6027\u80fd\u5206\u6790\u5de5\u5177\uff08\u5982 <code>EXPLAIN<\/code>\uff09\u5206\u6790\u67e5\u8be2\u6027\u80fd\uff0c\u5e76\u6301\u7eed\u8c03\u6574\u6570\u636e\u5e93\u53c2\u6570\uff0c\u4ee5\u9002\u5e94\u4e1a\u52a1\u9700\u6c42\u7684\u53d8\u5316\u3002<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u4e09\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MySQL \u5907\u4efd\u4e0e\u6062\u590d\u6982\u8ff0<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4e3a\u4ec0\u4e48\u9700\u8981\u5907\u4efd\u4e0e\u6062\u590d\uff1f<\/strong><\/h3>\n\n\n\n<p>\u4fdd\u62a4\u6570\u636e\u514d\u53d7\uff1a<strong>\u7cfb\u7edf\u5d29\u6e83<\/strong>\u3002<strong>\u786c\u4ef6\u6545\u969c\uff0c\u65ad\u7535<\/strong>\u3002<strong>\u7528\u6237\u8bef\u64cd\u4f5c<\/strong>\uff08\u5982\u8bef\u5220\u6570\u636e\uff09\u3002<strong>\u5178\u578b\u5e94\u7528\u573a\u666f<\/strong>\uff1a\u5b89\u5168\u5347\u7ea7\u3002\u6570\u636e\u8fc1\u79fb\u6216\u590d\u5236\u73af\u5883\u642d\u5efa\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u5907\u4efd\u4e0e\u6062\u590d\u7c7b\u578b<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. \u7269\u7406\u5907\u4efd vs. \u903b\u8f91\u5907\u4efd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7269\u7406\u5907\u4efd<\/strong>\uff1a\u590d\u5236\u6570\u636e\u5e93\u6587\u4ef6\u53ca\u76ee\u5f55\u3002\u9002\u5408\u9700\u8981<strong>\u5feb\u901f\u6062\u590d<\/strong>\u7684\u5927\u578b\u6570\u636e\u5e93\uff0c\u76f8\u5bf9\u5b89\u5168\uff0c\u4f46\u5fc5\u987b\u662f\u540c\u4e00\u79cd\u6570\u636e\u5e93\u3002<\/li>\n\n\n\n<li><strong>\u903b\u8f91\u5907\u4efd<\/strong>\uff1a\u4f7f\u7528 <code>CREATE DATABASE<\/code> \u548c <code>INSERT<\/code> \u7b49\u903b\u8f91\u7ed3\u6784\u4fdd\u5b58\u6570\u636e\u3002\u9002\u5408\u6570\u636e\u91cf\u5c0f\u6216\u9700\u8981\u8de8\u5e73\u53f0\u8fc1\u79fb\u7684\u573a\u666f\u3002\u6267\u884c\u6162\uff0c\u5b89\u5168\u5dee\u3001<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. \u5728\u7ebf\u5907\u4efd vs. \u79bb\u7ebf\u5907\u4efd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5728\u7ebf\u5907\u4efd\uff08\u70ed\u5907\u4efd\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u6570\u636e\u5e93\u670d\u52a1\u5668\u8fd0\u884c\u671f\u95f4\u5907\u4efd\u3002<\/li>\n\n\n\n<li>\u5bf9\u5ba2\u6237\u7aef\u5f71\u54cd\u8f83\u5c0f\uff0c\u4f46\u9700\u786e\u4fdd\u9002\u5f53\u7684\u9501\u5b9a\u673a\u5236\u3002\u7ba1\u7406\u5f88\u590d\u6742\uff0c\u6d89\u53ca\u5230\u5404\u79cd\u52a0\u9501\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u79bb\u7ebf\u5907\u4efd\uff08\u51b7\u5907\u4efd\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u6570\u636e\u5e93\u670d\u52a1\u5668\u505c\u6b62\u65f6\u5907\u4efd\u3002<\/li>\n\n\n\n<li>\u64cd\u4f5c\u7b80\u5355\uff0c\u5feb\uff0c\u4f46\u4f1a\u4e2d\u65ad\u670d\u52a1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6e29\u5907\u4efd<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5199\u64cd\u4f5c\u4e2d\u6b62\uff0c\u8bfb\u64cd\u4f5c\u6b63\u5e38<\/li>\n\n\n\n<li>\u670d\u52a1\u5668\u8fd0\u884c\u4f46\u9501\u5b9a\u6570\u636e\uff0c\u9632\u6b62\u4fee\u6539\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. \u672c\u5730\u5907\u4efd vs. \u8fdc\u7a0b\u5907\u4efd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u672c\u5730\u5907\u4efd<\/strong>\uff1a\u5728 MySQL \u670d\u52a1\u5668\u6240\u5728\u4e3b\u673a\u4e0a\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u8fdc\u7a0b\u5907\u4efd<\/strong>\uff1a\u4ece\u5176\u4ed6\u4e3b\u673a\u8fdb\u884c\u5907\u4efd\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. \u5feb\u7167\u5907\u4efd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u501f\u52a9\u7b2c\u4e09\u65b9\u5de5\u5177\uff08\u5982 Veritas\u3001LVM \u6216 ZFS\uff09\u751f\u6210\u6587\u4ef6\u7cfb\u7edf\u5feb\u7167\u3002<\/li>\n\n\n\n<li><strong>\u7279\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5feb\u901f\u8bb0\u5f55\u6587\u4ef6\u7cfb\u7edf\u6216\u5b58\u50a8\u72b6\u6001\u7684\u65b9\u6cd5\uff0c\u901a\u8fc7\u5199\u65f6\u590d\u5236\u6280\u672f\u6355\u83b7\u67d0\u4e00\u65f6\u95f4\u70b9\u7684\u6570\u636e\uff0c\u4e0d\u590d\u5236\u5b9e\u9645\u6570\u636e\uff0c\u521b\u5efa\u901f\u5ea6\u5feb\u3001\u6027\u80fd\u5f71\u54cd\u5c0f\uff0c\u9002\u5408\u9ad8\u9891\u5907\u4efd\u548c\u5feb\u901f\u6062\u590d\u3002<\/li>\n\n\n\n<li>\u4f46\u4f9d\u8d56\u7279\u5b9a\u5b58\u50a8\u7cfb\u7edf\uff0c\u5e76\u9700\u4fdd\u969c\u6570\u636e\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li>\u5feb\u7167\u521b\u5efa\u540e\uff0c\u4efb\u4f55\u5bf9\u6587\u4ef6\u7cfb\u7edf\u7684\u4fee\u6539\uff0c\u90fd\u4f1a\u5c06\u539f\u59cb\u6570\u636e\u4fdd\u7559\u5728\u5feb\u7167\u4e2d\uff0c\u65b0\u7684\u6570\u636e\u5199\u5165\u53e6\u4e00\u4e2a\u4f4d\u7f6e\u3002\u5b9e\u9645\u4e0a\uff0c\u7531\u4e8ecopy-on-write\u6280\u672f\uff0c\u5047\u5982\u5728\u67d0\u4e2a\u65f6\u95f4\u6211\u4eec\u505a\u4e86\u4e00\u4e2a\u5168\u91cf\u5907\u4efd\uff0c\u90a3\u4e48\u4e4b\u540e\u7531\u4e8e\u6570\u636e\u5e93\u7684\u589e\u5220\u6539\uff0c\u7136\u540e\u51fa\u73b0\u4e86\u6587\u4ef6\u6570\u636e\u7684\u53d8\u5316\uff0c\u6587\u4ef6\u76f8\u5bf9\u4e8e\u65e7\u6709\u7684\u6587\u4ef6\u4f1a\u6709\u4e00\u90e8\u5206\u53d8\u5316\uff0c\u8fd9\u90e8\u5206\u53d8\u5316\u5c31\u53eb\u505a\u5feb\u7167\uff01<\/li>\n\n\n\n<li><strong>\u672c\u8eab\u5c31\u662f\u589e\u91cf\u5f0f\u5907\u4efd<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6ce8\u610f<\/strong>\uff1aMySQL \u672c\u8eab\u4e0d\u652f\u6301\u5feb\u7167\u529f\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>5. \u5b8c\u6574\u5907\u4efd vs. \u589e\u91cf\u5907\u4efd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b8c\u6574\u5907\u4efd<\/strong>\uff1a\u5305\u542b\u67d0\u4e00\u65f6\u523b\u7684\u6240\u6709\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u589e\u91cf\u5907\u4efd<\/strong>\uff1a\u4fdd\u5b58\u81ea\u4e0a\u6b21\u5907\u4efd\u4ee5\u6765\u7684\u53d8\u66f4\u6570\u636e\uff08\u4f9d\u8d56<strong>\u4e8c\u8fdb\u5236\u65e5\u5fd7<\/strong>\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u6570\u636e\u5e93\u5907\u4efd\u65b9\u6cd5<\/strong><\/h3>\n\n\n\n<p>\u80cc\u666f\u77e5\u8bc6\uff1aMySQL\u7684\u7ed3\u6784\u5176\u5b9e\u662f\u5206\u4e24\u5c42\u7684\uff0c\u4e00\u5c42\u662f\u4e0a\u9762\u7684Server\uff0c\u8fd9\u662f\u9762\u5411\u7528\u6237\u7684\uff0c\u7528\u6237\u53d1\u8fc7\u6765\u7684SQL\u8bf7\u6c42\uff0c\u4f60\u6765\u505a\u5904\u7406\uff1b\u7b2c\u4e8c\u5c42\u662f\u5f15\u64ce\uff0cInnoDB or MyISAM\uff0c\u9ed8\u8ba4\u73b0\u5728\u7528\u7684\u662fInnoDB\u3002\u5f15\u64ce\u5728\u8fd9\u91cc\u8d1f\u8d23\u7684\u662f\u548c\u6587\u4ef6\u7cfb\u7edf\u4ea4\u4e92\u3002\u6709\u4e00\u4e2a\u5f88\u5927\u7684buffer\u7f13\u5b58\u3002\u6709\u5f88\u591alog\uff1aundo log\uff0credo log\uff0c\u6574\u4e2a\u8fd9\u4e00\u5c42\u64cd\u4f5c\u7684\u65f6\u5019\u5b83\u770b\u4e0d\u5230SQL\uff0c\u53ea\u770b\u5230\u6587\u4ef6\u3002<br>\u4e0a\u9762\u7684SQL\u662f\u5728\u5904\u7406SQL\u7684\uff0c\u5b83\u5bf9\u5e94\u7684log\u5c31\u662fbin-log\uff0c\u5b83\u8bb0\u4f4f\u4f60\u6267\u884c\u7684\u6240\u6709\u7684SQL\u64cd\u4f5c\u3002\u8fd9\u4e24\u5c42\u4e4b\u95f4\u662f\u53ef\u4ee5\u89e3\u8026\u7684\u3002\u89e3\u8026\u7684\u597d\u5904\u5c31\u662f\uff0c\u6211\u5728linux\u6216\u8005windows\u4e0a\u9762\u5b89\u88c5MySQL\uff0c\u6211\u53ea\u9700\u8981\u6539engine\u8fd9\u4e00\u5c42\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mysqldump<\/h3>\n\n\n\n<p><code>mysqldump<\/code> \u662f MySQL \u63d0\u4f9b\u7684\u4e00\u4e2a\u5907\u4efd\u5de5\u5177\uff0c\u7528\u4e8e\u5bfc\u51fa\u6570\u636e\u5e93\u7684\u7ed3\u6784\u548c\u6570\u636e\uff0c\u5e38\u7528\u4e8e\u6570\u636e\u8fc1\u79fb\u6216\u5907\u4efd\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6838\u5fc3\u529f\u80fd<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u5e93\u5907\u4efd<\/strong>\uff1a\u652f\u6301\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u6570\u636e\u5e93\u5bfc\u51fa\u4e3a SQL \u6587\u4ef6\uff0c\u5305\u542b\u8868\u7ed3\u6784\u548c\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u8868\u7ed3\u6784\u5bfc\u51fa<\/strong>\uff1a\u4ec5\u5bfc\u51fa\u8868\u7684\u521b\u5efa\u8bed\u53e5\u800c\u4e0d\u5305\u542b\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6062\u590d<\/strong>\uff1a\u751f\u6210\u7684 SQL \u6587\u4ef6\u53ef\u4ee5\u901a\u8fc7 <code>mysql<\/code> \u547d\u4ee4\u5bfc\u5165\uff0c\u5b8c\u6210\u6062\u590d\u3002<\/li>\n\n\n\n<li><strong>\u7075\u6d3b\u7684\u8fc7\u6ee4<\/strong>\uff1a\u652f\u6301\u6309\u8868\u3001\u6309\u6761\u4ef6\u5bfc\u51fa\u7279\u5b9a\u6570\u636e\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u6062\u590d\u65b9\u6cd5<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>1. \u6062\u590d\u5b8c\u6574\u5907\u4efd<\/strong>\uff1a\u76f4\u63a5\u4ece\u6700\u8fd1\u7684\u5b8c\u6574\u5907\u4efd\u6062\u590d\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>2. \u65f6\u95f4\u70b9\u6062\u590d<\/strong>\uff1a\u7ed3\u5408\u5b8c\u6574\u5907\u4efd\u548c\u4e8c\u8fdb\u5236\u65e5\u5fd7\uff08bin-log\uff09\uff0c\u6062\u590d\u5230\u7279\u5b9a\u65f6\u95f4\u70b9\u3002\uff08\u5148\u4ece\u5168\u91cf\u5907\u4efd\u83b7\u53d6\uff0c\u63a5\u7740bin log\u91cc\u9762\u6062\u590d\u5230\u7279\u70b9\u65f6\u95f4\uff09<\/li>\n<\/ul>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u7684\u5907\u4efd\u7b56\u7565\u662f\u6bcf\u4e2a\u5468\u65e5\u4e0b\u5348\u4e00\u70b9\u8fdb\u884c\u4e00\u6b21\u5168\u91cf\u5907\u4efd\uff0c\u4e5f\u5c31\u662f\u628a\u6570\u636e\u5e93\u91cc\u9762\u7684\u6240\u6709\u6570\u636e\u5168\u5907\u4efd\u4e00\u6b21\u3002\u90a3\u4e48\uff0c\u5728\u4e24\u6b21\u5168\u91cf\u5907\u4efd\u4e4b\u95f4\uff0c\u6570\u636e\u5e93\u6bcf\u6b21\u6267\u884c\u5199\u5165\u64cd\u4f5c\u7684\u65f6\u5019\uff0c\u90fd\u4f1a\u5bf9bin-log\u6587\u4ef6\u8fdb\u884c\u64cd\u4f5c\uff0c\u5199\u5165\u589e\u91cf\u5907\u4efd\u3002\u4e5f\u5c31\u662f\u8bb0\u5f55\u7528\u6237\u5bf9\u6570\u636e\u5e93\u7684\u6240\u6709\u7684\u64cd\u4f5c\u53d8\u66f4\u3002\u73b0\u5728\u5047\u5982\u5728\u5468\u4e09\u7684\u4e2d\u5348\uff0c\u6570\u636e\u5e93\u4e3b\u673a\u7a81\u7136\u5d29\u4e86\uff0c\u90a3\u4e48\u6211\u4eec\u9996\u5148\u8981\u6062\u590d\u5230\u6700\u8fd1\u4e00\u6b21\u505a\u7684\u5168\u91cf\u5907\u4efd\uff1a\u597d\u4e86\uff0c\u73b0\u5728\u5c31\u5df2\u7ecf\u6062\u590d\u5230\u6700\u8fd1\u4e00\u6b21\u5168\u91cf\u5907\u4efd\u7684\u72b6\u6001\u91cc\uff0c\u7136\u540e\u8981\u4ece\u4e0a\u6b21\u5168\u91cf\u5907\u4efd\u5230\u5d29\u6e83\u671f\u95f4\u7684binlog\u6587\u4ef6\u5168\u90e8\u8bfb\u53d6\u51fa\u6765\uff0c\u7136\u540e\u6062\u590d\u3002\u5982\u679c\u6bcf\u6b21\u78c1\u76d8\u574f\u6b7b\u6216\u8005\u78c1\u76d8\u9519\u8bef\uff0c\u57fa\u672c\u4e0a\u5c31\u80fd\u6062\u590d\u5230\u539f\u6765\u7684\u72b6\u6001\u3002\u4f46\u662f\u5982\u679c\u6709\u4e00\u4e2abinlog\u6587\u4ef6\u5d29\u6e83\u4e86\u6216\u8005\u5bc4\u4e86\uff0c\u90a3\u5c31\u53ef\u80fd\u6062\u590d\u4e0d\u5230\u5468\u4e09\u5d29\u6e83\u7684\u65f6\u5019\u7684\u72b6\u6001\u4e86\uff0c\u53ef\u80fd\u53ea\u80fd\u6062\u590d\u5230\u5468\u4e8c\u7684\u4e0b\u5348\u6216\u8005\u67d0\u4e2a\u7a0d\u5fae\u66f4\u65e9\u7684\u65f6\u95f4\u70b9\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5907\u4efd\u7b56\u7565<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u671f\u5907\u4efd<\/strong>\uff1a\u6839\u636e\u6570\u636e\u91cd\u8981\u6027\u548c\u8bbf\u95ee\u9891\u7387\u8bbe\u7f6e\u5907\u4efd\u9891\u7387\u3002<\/li>\n\n\n\n<li><strong>\u9a8c\u8bc1\u5907\u4efd<\/strong>\uff1a\u786e\u4fdd\u5907\u4efd\u6587\u4ef6\u5b8c\u6574\uff0c\u968f\u65f6\u53ef\u6062\u590d\u3002<\/li>\n\n\n\n<li><strong>\u5907\u4efd\u5b58\u50a8\u5b89\u5168<\/strong>\uff1a\u4f7f\u7528\u52a0\u5bc6\u6280\u672f\u5e76\u5b58\u50a8\u5728\u5b89\u5168\u3001\u5197\u4f59\u7684\u73af\u5883\u4e2d\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Binlog\u3001Redo Log \u548c Undo Log \u5bf9\u6bd4\u8868<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u7279\u6027<\/strong><\/th><th><strong>Binlog\uff08\u5f52\u6863\u65e5\u5fd7\uff09<\/strong><\/th><th><strong>Redo Log\uff08\u91cd\u505a\u65e5\u5fd7\uff09<\/strong><\/th><th><strong>Undo Log\uff08\u56de\u6eda\u65e5\u5fd7\uff09<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u4e3b\u8981\u7528\u9014<\/strong><\/td><td>\u8bb0\u5f55\u6240\u6709\u5bf9<strong>\u6570\u636e\u5e93<\/strong>\u7684\u66f4\u6539\uff0c\u7528\u4e8e\u4e3b\u4ece<strong>\u590d\u5236\u548c\u6570\u636e\u6062\u590d<\/strong><\/td><td>\u786e\u4fdd\u5df2\u63d0\u4ea4<strong>\u4e8b\u52a1<\/strong>\u7684\u6301\u4e45\u6027\uff08\u5d29\u6e83\u6062\u590d\uff09<\/td><td>\u652f\u6301<strong>\u4e8b\u52a1<\/strong>\u56de\u6eda\u548c\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09<\/td><\/tr><tr><td><strong>\u683c\u5f0f<\/strong><\/td><td>\u4e8c\u8fdb\u5236\u683c\u5f0f\uff08\u4e0d\u53ef\u8bfb\uff09<\/td><td>\u4e8c\u8fdb\u5236\u683c\u5f0f\uff08\u4e0d\u53ef\u8bfb\uff09<\/td><td>\u4e8c\u8fdb\u5236\u683c\u5f0f\uff08\u4e0d\u53ef\u8bfb\uff09<\/td><\/tr><tr><td><strong>\u5b58\u50a8\u4f4d\u7f6e<\/strong><\/td><td>\u5b58\u50a8\u4e8e\u78c1\u76d8\uff0c\u53ef\u8f6e\u6362\u6216\u5f52\u6863<\/td><td>\u5b58\u50a8\u4e8e MySQL \u6570\u636e\u76ee\u5f55<\/td><td>\u5b58\u50a8\u4e8e InnoDB \u8868\u7a7a\u95f4\u4e2d<\/td><\/tr><tr><td><strong>\u4f7f\u7528\u8303\u56f4<\/strong><\/td><td>\u6570\u636e\u5e93\u5168\u5c40\u4e8b\u52a1\u7ea7\u522b\u66f4\u6539<\/td><td>\u4ec5\u9002\u7528\u4e8e InnoDB \u7684\u6570\u636e\u9875\u66f4\u6539<\/td><td>\u4ec5\u9002\u7528\u4e8e InnoDB \u7684\u4e8b\u52a1\u56de\u6eda\u64cd\u4f5c<\/td><\/tr><tr><td><strong>\u6062\u590d\u89d2\u8272<\/strong><\/td><td>\u7528\u4e8e\u70b9\u65f6\u95f4\u6062\u590d\u548c\u4e3b\u4ece\u590d\u5236<\/td><td>\u7528\u4e8e\u5d29\u6e83\u6062\u590d\u65f6\u91cd\u505a\u5df2\u63d0\u4ea4\u7684\u4e8b\u52a1<\/td><td>\u7528\u4e8e\u5d29\u6e83\u6062\u590d\u65f6\u56de\u6eda\u672a\u63d0\u4ea4\u7684\u4e8b\u52a1<\/td><\/tr><tr><td><strong>\u5e94\u7528\u573a\u666f<\/strong><\/td><td>\u4e3b\u4ece\u590d\u5236\u3001\u6545\u969c\u540e\u7684\u6570\u636e\u6062\u590d<\/td><td>\u6570\u636e\u5e93\u5d29\u6e83\u540e\u7684\u4e8b\u52a1\u6062\u590d\uff0c\u786e\u4fdd\u6570\u636e\u6301\u4e45\u6027<\/td><td>\u4e8b\u52a1\u56de\u6eda\u3001\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\u4e0b\u7684\u4e00\u81f4\u6027\u8bfb\u53d6\uff08MVCC\uff09<\/td><\/tr><tr><td><strong>\u7c7b\u578b<\/strong><\/td><td>\u903b\u8f91\u65e5\u5fd7<\/td><td>\u7269\u7406\u65e5\u5fd7<\/td><td>\u903b\u8f91\u65e5\u5fd7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u56db\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MySQL \u5206\u533a<\/strong><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e00\u3001\u7b80\u4ecb<\/strong><\/h4>\n\n\n\n<p>\u5f53\u4e00\u4e2a\u8868\u91cc\u9762\u7684\u6570\u636e\u592a\u591a\u4e86\u7684\u65f6\u5019\uff0c\u5360\u7528\u7684\u7a7a\u95f4\u592a\u5927\uff0c\u53ef\u80fd\u5c31\u63a5\u8fd1\u78c1\u76d8\u7684\u5b58\u50a8\u7a7a\u95f4\uff0c\u8fd9\u65f6\u5019\u5c31\u9700\u8981\u5206\u533a\uff0c\u628a\u8868\u7684\u6570\u636e\u62c6\u5f00\uff08\u5206\u533a\uff09\uff0c\u7136\u540e\u8ba9\u4e0d\u540c\u5206\u533a\u7684\u6570\u636e\u5b58\u50a8\u5230\u4e0d\u540c\u7684\u78c1\u76d8\u4e0a\u9762\u3002\u6211\u4eec\u8981\u505a\u7684\u4e8b\u60c5\u5c31\u662f\uff0c\u8ba9\u8fd9\u4e9b\u591a\u4e2a\u8282\u70b9\u4e0a\u5b58\u50a8\u7684\u4e1c\u897f\u5728\u903b\u8f91\u4e0a\u662f\u4e00\u5f20\u8868\uff01<\/p>\n\n\n\n<p><strong>\u5206\u533a<\/strong>\u662f\u5c06\u8868\u4e2d\u7684\u6570\u636e\u5212\u5206\u5230\u4e0d\u540c\u7684\u5b58\u50a8\u533a\u57df\uff0c\u4ee5\u4f18\u5316\u5b58\u50a8\u548c\u67e5\u8be2\u6027\u80fd\u7684\u6280\u672f\u3002MySQL \u4ece 8.0 \u5f00\u59cb\u652f\u6301\u5206\u533a\u529f\u80fd\uff0c\u4e3b\u8981\u901a\u8fc7 <strong>InnoDB<\/strong> \u548c <strong>NDB<\/strong> \u5b58\u50a8\u5f15\u64ce\u5b9e\u73b0\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u5206\u533a\u7684\u57fa\u672c\u6982\u5ff5<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6c34\u5e73\u5206\u533a\uff08Horizontal Partitioning\uff09\uff1a<\/strong> \u5c06\u8868\u7684\u884c\u6570\u636e\u5206\u5e03\u5230\u591a\u4e2a\u5206\u533a\u4e2d\u3002<\/li>\n\n\n\n<li><strong>\u5782\u76f4\u5206\u533a\uff08Vertical Partitioning\uff09\uff1a<\/strong> \u5c06\u8868\u7684\u5217\u6570\u636e\u5206\u5e03\u5230\u591a\u4e2a\u5206\u533a\u4e2d\u3002\uff08<strong>MySQL \u4e0d\u652f\u6301<\/strong>\uff09<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u4e8c\u3001\u5206\u533a\u7684\u7c7b\u578b<\/strong><\/h2>\n\n\n\n<p>MySQL \u652f\u6301\u4ee5\u4e0b <strong>\u5206\u533a\u7c7b\u578b<\/strong>\uff0c\u6839\u636e\u573a\u666f\u9009\u62e9\u9002\u5408\u7684\u65b9\u6848\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. \u8303\u56f4RANGE \u5206\u533a<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6307\u5b9a\u4e86\u67d0\u4e00\u5217\u6216\u8005\u67d0\u51e0\u5217\uff0c\u6839\u636e\u4ed6\u4eec\u503c\u7684\u8303\u56f4\uff0c\u7136\u540e\u6765\u5206\u533a\u3002\u533a\u57df\u5e94\u8be5\u662f\u8fde\u7eed\u800c\u4e14\u4e0d\u80fd\u91cd\u590d\u7684\uff0c\u901a\u5e38\u90fd\u662f\u7528\u7684LESS THEN\uff08\u90fd\u662f\u5c0f\u4e8e\u554a\uff01\u6ca1\u6709\u7b49\u4e8e\uff09\uff0c\u6bd4\u5982&lt;0\u7684\u5206\u4e2a\u533a\uff0c&lt;50\u7684\u5206\u4e2a\u533a\uff0c&lt; MAX_VALUE\uff08\u8fd9\u73a9\u610f\u5c31\u662f\u4fdd\u8bc1\u6700\u540e\u6240\u6709\u6700\u5927\u503c\u90fd\u7ed9\u4f60\u5305\u5bb9\u8fdb\u53bb\uff09\u5206\u4e2a\u533a\u3002<\/li>\n\n\n\n<li>\u4e0d\u5141\u8bb8\u7528float\u6d6e\u70b9\u6570\u3002\u81e7\u8001\u5e08\u7684ICS\u544a\u8bc9\u6211\u4eec\uff0c\u6d6e\u70b9\u6570\u7684\u95ee\u9898\u662f\u5f88\u591a\u7684\uff01\u56e0\u4e3a\u6d6e\u70b9\u6570\u662f\u8fd1\u4f3c\u8868\u793a\u3002\u5982\u679c\u5236\u5b9a\u4e86\u591a\u5217\uff0c\u6bd4\u5982a\u3001b\u3001c\uff0c\u80fd\u4e0d\u80fd\u628aa\u7684\u5217\u505a\u4e00\u4e2a\u5e73\u65b9\u6216\u8005\u51fd\u6570\u8ba1\u7b97\u4e00\u4e0b\u5904\u7406\uff1f\u4e0d\u884c\uff01\u4e0d\u63a5\u53d7\u8868\u8fbe\u5f0f\u3002 <\/li>\n\n\n\n<li>\u591a\u5217\u6bd4\u8f83\u7684\u662f\u5411\u91cf\uff0c\u6bd4\u5982\u8981\u6bd4\u8f83\uff08a,b,c\uff09(d,e,f)\uff0c\u5c31\u6bd4\u8f83a\u548cd\uff0c\u6bd4\u8f83\u51fa\u6765\u5c0f\u4e8e\u7684\u8bdd\u5c31\u5c0f\u4e8e\uff0c\u6bd4\u8f83\u4e0d \u51fa\u6765\u5c31\u662f\u6bd4\u8f83b\u548ce\uff0c\u7136\u540e\u540c\u7406\u6bd4\u8f83c\u548cf <\/li>\n<\/ul>\n\n\n\n<p>\u4e3e\u4f8b\uff1a \u5b9a\u4e49\u4e00\u4e2a\u5458\u5de5\u8868\uff0c\u6839\u636e\u5458\u5de5ID\u5206\u533a\uff0c1~10\u53f7\u5458\u5de5\u4e00\u4e2a\u5206\u533a\uff0c11~20\u53f7\u5458\u5de5\u4e00\u4e2a\u5206\u533a\uff0c\u4f9d\u6b21\u7c7b\u63a8\uff0c\u5171\u5efa\u7acb4\u4e2a\u5206\u533a\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. \u5217\u8868LIST \u5206\u533a<\/strong><\/h3>\n\n\n\n<p>\u57fa\u4e8e\u79bb\u6563\u503c\u5217\u8868\u7684\u5339\u914d\u3002\u5217\u8868\u5206\u533a\u548c\u8303\u56f4\u5206\u533a\u7c7b\u4f3c\uff0c\u4e3b\u8981\u533a\u522b\u662flist partition\u7684\u5206\u533a\u8303\u56f4\u662f\u9884\u5148\u5b9a\u4e49\u597d\u7684\u4e00\u7cfb\u5217\u503c\uff0c\u800c\u4e0d\u662f\u8fde\u7eed\u7684\u8303\u56f4\u3002\u6bd4\u5982\u4ea4\u5927\u6709\u95f5\u884c\u3001\u4e03\u5b9d\u6821\u533a\u7b49\u7b49\u5c31\u53ef\u4ee5\u6839\u636e\u8fd9\u4e9b\u6821\u533a\u7684\u503c\u6765\u786e\u5b9a\u5206\u533a\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE members (\n    firstname VARCHAR(25) NOT NULL,\n    lastname VARCHAR(25) NOT NULL,\n    username VARCHAR(16) NOT NULL,\n    email VARCHAR(35),\n    joined DATE NOT NULL\n)\nPARTITION BY LIST (YEAR(joined)) (\n    PARTITION p0 VALUES IN (2000, 2001, 2002),\n    PARTITION p1 VALUES IN (2003, 2004, 2005),\n    PARTITION p2 VALUES IN (2006, 2007, 2008)\n);<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5b9a\u4e49\u67d0\u4e2a\u5217\u7684\u53d6\u503c\u8303\u56f4\uff0c\u6839\u636e\u53d6\u503c\u8303\u56f4\u6765\u5206\u533a\u3002\u9002\u7528\u4e8e\u5217\u503c\u5728\u591a\u4e2a\u79bb\u6563\u96c6\u5408\u4e2d\u7684\u60c5\u51b5\u3002\u9002\u7528\u4e8e\u5217\u503c\u5728\u591a\u4e2a\u79bb\u6563\u96c6\u5408\u4e2d\u7684\u60c5\u51b5\u3002\u5982\u679c\u91c7\u7528Ignore\u6807\u8bc6\u7b26\uff0c\u63d2\u5165\u591a\u4e2a\u884c\uff0c\u6709\u7684\u5408\u6cd5\u6709\u7684\u4e0d\u5408\u6cd5\uff0c\u7cfb\u7edf\u4f1a\u63d2\u5165\u5408\u6cd5\u7684\uff0c\u4e22\u5f03\u4e0d\u5408\u6cd5\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>3. HASH \u5206\u533a<\/strong><\/h5>\n\n\n\n<p>\u57fa\u4e8e\u7528\u6237\u5b9a\u4e49\u7684\u8868\u8fbe\u5f0f\u8fd4\u56de\u7684\u6574\u6570\u503c\uff0c\u5c06\u6570\u636e\u5206\u6563\u5230\u4e0d\u540c\u5206\u533a\u4e2d\uff0c\u7136\u540e\u51b3\u5b9a\u662f\u54ea\u4e00\u53f0\u670d\u52a1\u5668\u5b58\u50a8\uff0c\u4e00\u822c\u5728\u975e\u8d1f\u7684\u503c\u4e0a\u9762\u5904\u7406\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5206\u533a\u7684\u6570\u91cf\u901a\u8fc7 <code>PARTITIONS<\/code> \u6307\u5b9a\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>4. KEY \u5206\u533a<\/strong><\/h5>\n\n\n\n<p>\u7c7b\u4f3c\u4e8e HASH \u5206\u533a\uff0c\u4f46\u4f7f\u7528 MySQL \u5185\u7f6e\u7684\u54c8\u5e0c\u51fd\u6570\uff0cMysql\u81ea\u52a8\u6839\u636e\u4e3b\u952e\u6563\u5217\uff0c\u4e14\u652f\u6301\u975e\u6574\u6570\u5217\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9002\u5408\u9700\u8981\u7b80\u5355\u5b9a\u4e49\u5206\u533a\u89c4\u5219\u4e14\u65e0\u9700\u81ea\u5b9a\u4e49\u8868\u8fbe\u5f0f\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e09\u3001\u5206\u533a\u7684\u4f18\u52bf<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1. \u63d0\u5347\u67e5\u8be2\u6027\u80fd<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WHERE \u5b50\u53e5\u8fc7\u6ee4\uff1a<\/strong> \u67e5\u8be2\u53ea\u8bbf\u95ee\u6ee1\u8db3\u6761\u4ef6\u7684\u5206\u533a\uff0c\u5927\u5e45\u51cf\u5c11\u65e0\u6548\u626b\u63cf\u3002<\/li>\n\n\n\n<li><strong>\u663e\u5f0f\u5206\u533a\u9009\u62e9\uff1a<\/strong> \u901a\u8fc7\u663e\u5f0f\u5206\u533a\u9009\u62e9\uff0c\u7528\u6237\u53ef\u4ee5\u6307\u5b9a\u67e5\u8be2\u8bbf\u95ee\u7279\u5b9a\u7684\u5206\u533a\uff0c\u4ece\u800c\u663e\u8457\u63d0\u5347\u67e5\u8be2\u901f\u5ea6\u3002\u4f8b\u5982\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM employees PARTITION (p0, p1) WHERE job_code &lt; 1000;<\/code><\/pre>\n\n\n\n<p>\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d\uff0cMySQL \u4f1a\u4ec5\u67e5\u8be2 <code>p0<\/code> \u548c <code>p1<\/code> \u5206\u533a\u7684\u6570\u636e\uff0c\u800c\u5ffd\u7565\u5176\u4ed6\u5206\u533a\uff0c\u8fd9\u5728\u5df2\u77e5\u5206\u533a\u4f4d\u7f6e\u7684\u60c5\u51b5\u4e0b\u975e\u5e38\u9ad8\u6548\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2. \u65b9\u4fbf\u7684\u6570\u636e\u7ba1\u7406<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5220\u9664\u5206\u533a\uff1a<\/strong> \u5f53\u67d0\u4e9b\u6570\u636e\u5931\u53bb\u6548\u7528\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u5220\u9664\u5305\u542b\u8fd9\u4e9b\u6570\u636e\u7684\u5206\u533a\u3002\u4f8b\u5982\uff0c\u5220\u9664\u5305\u542b\u5386\u53f2\u6570\u636e\u7684\u5206\u533a\u6bd4\u5220\u9664\u5355\u72ec\u7684\u884c\u66f4\u52a0\u9ad8\u6548\u3002<\/li>\n\n\n\n<li><strong>\u6dfb\u52a0\u65b0\u5206\u533a\uff1a<\/strong> \u5bf9\u4e8e\u6301\u7eed\u589e\u957f\u7684\u6570\u636e\uff0c\u6dfb\u52a0\u65b0\u7684\u5206\u533a\u53ef\u4ee5\u907f\u514d\u8fc1\u79fb\u5927\u91cf\u6570\u636e\uff0c\u63d0\u9ad8\u6269\u5c55\u6027\u3002\u4f8b\u5982\uff0c\u5f53\u9700\u8981\u4e3a\u65b0\u7684\u5e74\u4efd\u6570\u636e\u521b\u5efa\u4e00\u4e2a\u65b0\u5206\u533a\u65f6\uff0c\u53ea\u9700\u6dfb\u52a0\u4e00\u4e2a\u5206\u533a\u800c\u65e0\u9700\u91cd\u5efa\u6574\u4e2a\u8868\u3002<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>3. \u589e\u5f3a\u7684\u6570\u636e\u7ef4\u62a4<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5206\u533a\u6280\u672f\u4f7f\u5f97\u6570\u636e\u5e93\u7ef4\u62a4\u53d8\u5f97\u66f4\u52a0\u7075\u6d3b\u548c\u9ad8\u6548\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b9a\u671f\u7ef4\u62a4\u5206\u533a\u6765\u63d0\u5347\u6570\u636e\u5e93\u6027\u80fd\uff0c\u6216\u8005\u5728\u9700\u8981\u65f6\u901a\u8fc7\u6570\u636e\u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u5bf9\u5206\u533a\u8fdb\u884c\u6e05\u7406\u548c\u5f52\u6863\u3002\u6570\u636e\u53ef\u4ee5\u8de8\u78c1\u76d8\/\u6587\u4ef6\u7cfb\u7edf\u5b58\u50a8\uff0c\u9002\u5408\u5b58\u50a8\u5927\u91cf\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5bf9\u4e8e\u5e94\u7528\u6765\u8bf4\uff0c\u8868\u4f9d\u7136\u662f\u4e00\u4e2a\u903b\u8f91\u6574\u4f53\uff0c\u4f46\u6570\u636e\u5e93\u53ef\u4ee5\u9488\u5bf9\u4e0d\u540c\u7684\u6570\u636e\u5206\u533a\u72ec\u7acb\u6267\u884c\u7ba1\u7406\u64cd\u4f5c\uff0c\u4e0d\u5f71\u54cd\u5176\u4ed6\u5206\u533a\u7684\u8fd0\u884c\u3002\u800c\u6570\u636e\u5212\u5206\u7684\u89c4\u5219\u5373\u79f0\u4e3a\u5206\u533a\u51fd\u6570\uff0c\u6570\u636e\u5199\u5165\u8868\u65f6\uff0c\u4f1a\u6839\u636e\u8fd0\u7b97\u7ed3\u679c\u51b3\u5b9a\u5199\u5165\u54ea\u4e2a\u5206\u533a\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u56db\u3001\u6ce8\u610f\u4e8b\u9879<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5206\u533a\u952e\u7684\u9009\u62e9\uff1a<\/strong><br>\u9009\u62e9\u5206\u533a\u952e\u65f6\u8981\u8c28\u614e\uff0c\u5e94\u8be5\u9009\u62e9\u67e5\u8be2\u65f6\u5e38\u7528\u4f5c\u8fc7\u6ee4\u6761\u4ef6\u7684\u5217\u3002\u5206\u533a\u952e\u7684\u9009\u62e9\u4f1a\u5f71\u54cd\u6027\u80fd\uff0c\u56e0\u6b64\u9700\u8981\u6839\u636e\u5177\u4f53\u7684\u67e5\u8be2\u573a\u666f\u6765\u51b3\u5b9a\u5206\u533a\u7b56\u7565\u3002<\/li>\n\n\n\n<li><strong>\u67e5\u8be2\u4f18\u5316\uff1a<\/strong><br>\u5206\u533a\u867d\u7136\u53ef\u4ee5\u63d0\u5347\u6027\u80fd\uff0c\u4f46\u4e5f\u9700\u8981\u8c28\u614e\u8bbe\u8ba1\u3002\u4f8b\u5982\uff0c<code>WHERE<\/code> \u5b50\u53e5\u4e2d\u6d89\u53ca\u5206\u533a\u952e\u7684\u67e5\u8be2\u53ef\u4ee5\u5145\u5206\u5229\u7528\u5206\u533a\u4f18\u5316\uff0c\u4f46\u5982\u679c\u67e5\u8be2\u6761\u4ef6\u6ca1\u6709\u6d89\u53ca\u5206\u533a\u952e\uff0c\u5219\u53ef\u80fd\u65e0\u6cd5\u83b7\u5f97\u9884\u671f\u7684\u6027\u80fd\u63d0\u5347\u3002<\/li>\n\n\n\n<li><strong>\u6027\u80fd\u7684\u5e73\u8861\uff1a<\/strong><br>\u5206\u533a\u53ef\u80fd\u5e26\u6765\u989d\u5916\u7684\u7ba1\u7406\u5f00\u9500\uff0c\u7279\u522b\u662f\u5728\u5206\u533a\u6570\u76ee\u8f83\u591a\u65f6\uff0cMySQL \u5728\u5904\u7406\u5927\u91cf\u5206\u533a\u65f6\u53ef\u80fd\u4f1a\u51fa\u73b0\u6027\u80fd\u74f6\u9888\u3002\u56e0\u6b64\uff0c\u5728\u8bbe\u8ba1\u5206\u533a\u65f6\uff0c\u8981\u8003\u8651\u5408\u9002\u7684\u5206\u533a\u6570\u91cf\u548c\u6570\u636e\u7684\u5206\u5e03\u65b9\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u6cd5\u8de8\u5206\u533a JOIN\uff1a<\/strong><br>\u5206\u533a\u8868\u5185\u7684 JOIN \u64cd\u4f5c\u901a\u5e38\u4f1a\u53d7\u5230\u9650\u5236\uff0c\u7279\u522b\u662f\u5728\u8de8\u591a\u4e2a\u5206\u533a\u67e5\u8be2\u65f6\u3002\u5982\u679c JOIN \u8bed\u53e5\u7684\u8868\u6216\u6761\u4ef6\u4e0d\u6d89\u53ca\u5206\u533a\u952e\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u6027\u80fd\u4e0b\u964d\u3002<\/li>\n\n\n\n<li><strong>\u5206\u533a\u7684\u7ef4\u62a4\uff1a<\/strong><br>\u867d\u7136\u5206\u533a\u53ef\u4ee5\u7b80\u5316\u6570\u636e\u7ba1\u7406\u548c\u67e5\u8be2\u4f18\u5316\uff0c\u4f46\u4e5f\u9700\u8981\u5b9a\u671f\u5bf9\u5206\u533a\u8fdb\u884c\u7ef4\u62a4\u3002\u6570\u636e\u8fc1\u79fb\u3001\u5206\u533a\u6269\u5c55\u3001\u5220\u9664\u4e0d\u518d\u9700\u8981\u7684\u5206\u533a\u7b49\u5de5\u4f5c\u90fd\u9700\u8981\u5b9a\u671f\u8fdb\u884c\u3002<\/li>\n\n\n\n<li><strong>\u5b58\u50a8\u5f15\u64ce\u9650\u5236\uff1a<\/strong><br>\u5206\u533a\u8868\u901a\u5e38\u4f9d\u8d56\u4e8e <strong>InnoDB<\/strong> \u6216 <strong>NDB<\/strong> \u5b58\u50a8\u5f15\u64ce\uff0c\u4e14\u67d0\u4e9b\u64cd\u4f5c\uff08\u5982\u5168\u6587\u7d22\u5f15\u3001\u5916\u952e\u7ea6\u675f\u7b49\uff09\u53ef\u80fd\u4e0d\u5b8c\u5168\u652f\u6301\u5206\u533a\u8868\u3002\u56e0\u6b64\uff0c\u5728\u4f7f\u7528\u5206\u533a\u529f\u80fd\u65f6\uff0c\u9700\u786e\u8ba4\u5b58\u50a8\u5f15\u64ce\u7684\u652f\u6301\u60c5\u51b5\u548c\u4e1a\u52a1\u9700\u6c42\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NULL\u5904\u7406\uff1a\u5982\u679c\u9047\u5230\u4e86NULL\u6570\u503c\uff0c\u8fd9\u79cd\u63d2\u5165\u7684\u4e1c\u897f\u4f1a\u88ab\u653e\u5230\u6700\u5c0f\u7684\u4e00\u4e2a\u5206\u533a\u91cc\u9762\uff08\u8303\u56f4\u6700\u4f4e\u7684\u4e00\u4e2a\u5206\u533a\uff09\u800c\u5bf9\u4e8eList\u5206\u533a\uff0c\u5141\u8bb8in Null\u4e13\u95e8\u521b\u5efa\u4e00\u4e2a\u5206\u533a\uff1b\u5bf9\u4e8eHash\u5206\u533a\uff0cnull\u90fd\u4f1a\u88ab\u5f53\u505a0\u7136\u540e\u9001\u5230hash\u51fd\u6570\u91cc\u9762<\/li>\n\n\n\n<li>\u8c03\u6574\u5206\u533a\uff08\u91cd\u65b0\u7ec4\u7ec7\u5206\u533a\uff09\uff1a\u6bd4\u8f83\u8017\u65f6\u95f4\uff0c\u8c03\u6574\u6d89\u53ca\u5230\u6574\u4e2a\u8868\u683c<\/li>\n\n\n\n<li>\u5220\u9664\u5206\u533a\uff1a\u5982\u679c\u7528\u7684\u5206\u533a\u89c4\u5219\u5168\u662f\u5c0f\u4e8e\uff0c\u90a3\u4e48\u5220\u9664\u4e00\u4e2a\u5206\u533a\u5c31\u4f1a\u5bfc\u81f4\u539f\u6765\u5b58\u50a8\u7684\u6570\u636e\u5220\u9664\uff0c\u4f46\u662f\u540e\u9762\u65b0\u7684\u8f93\u5165\u63d2\u5165\u8fdb\u6765\u7684\u65f6\u5019\u5c31\u4f1a\u8fdb\u5165\u6b63\u786e\u7684\u5206\u533a\u3002<\/li>\n\n\n\n<li>\u7279\u522b\u63d0\u793a\uff1a\u4e0d\u5141\u8bb8drop \u5206\u533a\uff08\u901a\u8fc7Hash\u5206\u533a\u6216\u8005key\u6563\u5217\u7684\uff09\uff01\u4e00\u65e6drop\uff0c\u90a3\u4e48\u6574\u4e2a\u5206\u533a\u7684\u6570\u91cf\u5c31\u53d1\u751f\u53d8\u5316\uff0c\u90a3\u4e48\u5047\u5982\u4e4b\u524d\u662f\u53d6\u6a21\u8fd0\u7b97\uff0c\u73b0\u5728\u5206\u533a\u6570\u91cf\u6539\u53d8\uff0c\u6240\u6709\u7684\u5b58\u50a8\u90fd\u8981\u53d1\u751f\u5927\u53d8\u5316\uff01\u9664\u975e\u91cd\u65b0\u8c03\u6574\uff0c\u800c\u4e14\u4e0d\u662f\u7528reorginaze\uff0c\u7528\u7684\u8bed\u6cd5\u662fcoalesce\uff01\u4f46\u662f\u8ffd\u52a0\u53ef\u4ee5\u76f4\u63a5\u8fdb\u884c\uff01\u5177\u4f53\u539f\u56e0\u6ca1\u6709\u8bb2\uff0c\u6709\u81ea\u5df1\u7684\u5b9e\u73b0\uff01<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u4e94\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">NOSQL<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. \u5927\u6570\u636e\u80cc\u666f<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5927\u6570\u636e\u73b0\u72b6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u597d\u6d88\u606f\uff1a\u5927\u6570\u636e\u5df2\u6210\u4e3a\u73b0\u5b9e\u3002<\/li>\n\n\n\n<li>\u574f\u6d88\u606f\uff1a\u5982\u4f55\u5b58\u50a8\u548c\u5206\u6790\u5927\u6570\u636e\u662f\u5de8\u5927\u7684\u6311\u6218\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6570\u636e\u7c7b\u578b<\/strong>\uff1a<\/li>\n\n\n\n<li><strong>\u7ed3\u6784\u5316\u6570\u636e<\/strong>\uff1a\u6709\u660e\u786e\u683c\u5f0f\uff08\u5982 XML \u6587\u6863\u3001\u6570\u636e\u5e93\u8868\u7b49\uff09\uff0c\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08RDBMS\uff09\u64c5\u957f\u5904\u7406\u3002<\/li>\n\n\n\n<li><strong>\u534a\u7ed3\u6784\u5316\u6570\u636e<\/strong>\uff1a\u6709\u4e00\u5b9a\u7684\u7ed3\u6784\uff0c\u4f46\u53ef\u80fd\u4f1a\u88ab\u5ffd\u7565\uff08\u5982\u7535\u5b50\u8868\u683c\uff09\u3002<\/li>\n\n\n\n<li><strong>\u975e\u7ed3\u6784\u5316\u6570\u636e<\/strong>\uff1a\u65e0\u5185\u90e8\u7ed3\u6784\uff08\u5982\u7eaf\u6587\u672c\u3001\u56fe\u50cf\u6570\u636e\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. NoSQL \u6570\u636e\u5e93<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u4e49<\/strong>(Not only SQL)\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f20\u7edf RDBMS \u65e0\u6cd5\u9ad8\u6548\u5b58\u50a8\u548c\u5904\u7406\u6d77\u91cf\u6570\u636e\uff0c\u975e\u7ed3\u6784\u5316\u6570\u636e\uff0cNoSQL \u6570\u636e\u5e93\u4f5c\u4e3a\u8865\u5145\u6280\u672f\u5e94\u8fd0\u800c\u751f\u3002<\/li>\n\n\n\n<li>\u53ea\u8981\u6570\u636e\u5206\u5e03\u5f0f\u5b58\u50a8\uff0c\u9700\u8981\u589e\u52a0\u53ef\u9760\u6027\uff0c\u5c31\u9700\u8981\u526f\u672creplication<\/li>\n\n\n\n<li>\u5206\u5e03\u5f0f\u5b58\u50a8\uff0c\u4f7f\u7528\u5173\u7cfb\u578b\u884c\u4e0d\u884c\uff1f\u6211\u4eec\u5728\u5206\u533a\u7684\u65f6\u5019\u8bb2\u5230\u4e86\uff0c\u5982\u679c\u4e00\u5f20\u8868\u6570\u636e\u91cf\u5f88\u5927\uff0c\u6211\u5c31\u8981\u62c6\uff0c\u7136\u540e\u8fd9\u79cd\u64cd\u4f5c\u53ef\u80fd\u53c8\u9700\u8981\u52a0\u9501\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u793a\u4f8b\uff1aMapReduce \u6846\u67b6\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u7ef4\u5ea6<\/strong><\/th><th><strong>\u4f20\u7edf RDBMS<\/strong><\/th><th><strong>MapReduce<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u6570\u636e\u89c4\u6a21<\/strong><\/td><td>Gigabytes\uff08\u5343\u5146\u5b57\u8282\u7ea7\u522b\uff09<\/td><td>Petabytes\uff08PB \u7ea7\u522b\uff0c\u8d85\u5927\u89c4\u6a21\uff09<\/td><\/tr><tr><td><strong>\u8bbf\u95ee\u65b9\u5f0f<\/strong><\/td><td>\u652f\u6301\u4ea4\u4e92\u5f0f\u548c\u6279\u91cf\uff08Interactive and batch\uff09<\/td><td>\u4ec5\u652f\u6301\u6279\u91cf\uff08Batch\uff09<\/td><\/tr><tr><td><strong>\u66f4\u65b0\u6a21\u5f0f<\/strong><\/td><td>\u8bfb\u5199\u591a\u6b21\uff08Read and write many times\uff09<\/td><td>\u5199\u5165\u4e00\u6b21\uff0c\u8bfb\u53d6\u591a\u6b21\uff08Write once, read many times\uff09<\/td><\/tr><tr><td><strong>\u6570\u636e\u7ed3\u6784<\/strong><\/td><td>\u9759\u6001\u6a21\u5f0f\uff08Static schema\uff09<\/td><td>\u52a8\u6001\u6a21\u5f0f\uff08Dynamic schema\uff09<\/td><\/tr><tr><td><strong>\u6570\u636e\u5b8c\u6574\u6027<\/strong><\/td><td>\u9ad8\u5b8c\u6574\u6027\uff08High\uff09<\/td><td>\u5b8c\u6574\u6027\u8f83\u4f4e\uff08Low\uff09<\/td><\/tr><tr><td><strong>\u6269\u5c55\u6027<\/strong><\/td><td>\u975e\u7ebf\u6027\u6269\u5c55\uff08Nonlinear\uff09<\/td><td>\u7ebf\u6027\u6269\u5c55\uff08Linear\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">DAO\u548cRepository\u5dee\u5f02<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e00\u822c\u6765\u8bf4\uff0c\u4e00\u4e2aRepository\u5bf9\u5e94\u7684\u4e00\u4e2a\u7c7b\u578b\u7684\u6570\u636e\u5e93\u91cc\u9762\u7684\u4e00\u4e2a\u8868\u3002<\/li>\n\n\n\n<li>DAO\u7684\u4efb\u52a1\u662f\u9700\u8981\u5c4f\u853d\u4e0d\u540c\u6570\u636e\u5e93\u5dee\u5f02\uff0c\u8ba9\u670d\u52a1\u5c42\u7684\u773c\u91cc\u53ea\u6709\u4e00\u4e2a\u4e00\u4e2a\u7684\u5bf9\u8c61\u3002\u6bd4\u5982\u5bf9\u4e8e\u201c\u7528\u6237\u201d\uff0c\u7528\u6237\u7684\u5934\u50cf\u53ef\u80fd\u5b58\u5728MongoDB\uff0c\u5176\u4ed6\u7684\u7528\u6237\u540d\u90ae\u7bb1\u5b58\u5728SQL\u91cc\u9762\uff0cDAO\u5c31\u8981\u5b8c\u6210\u7ec4\u88c5\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MongoDB<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MongoDB \u662f\u4ec0\u4e48\uff1f<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4e00\u79cd\u6587\u6863\u578b NoSQL \u6570\u636e\u5e93\uff0c\u5f00\u6e90\uff0cC++\u7f16\u5199\u3002<\/li>\n\n\n\n<li>\u540d\u5b57\u6765\u6e90\u4e8e\u201chumongous\u201d\uff08\u5e9e\u5927\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6587\u6863\u5f0f(Document-Oriented)\u5b58\u50a8<\/li>\n\n\n\n<li>\u5168\u7d22\u5f15\u652f\u6301(2D)\uff0c\u652f\u6301\u5730\u7406\u7a7a\u95f4\u7d22\u5f15<\/li>\n\n\n\n<li>\u9ad8\u53ef\u7528\u6027\uff08\u901a\u8fc7\u590d\u5236\u548c\u81ea\u52a8\u5206\u7247partition\uff09<\/li>\n\n\n\n<li>MapReduce \u652f\u6301<\/li>\n\n\n\n<li>\u5185\u5d4c\u6587\u4ef6\u7cfb\u7edf\uff08GridFS\uff09<\/li>\n\n\n\n<li>\u652f\u6301Map Reduce<\/li>\n\n\n\n<li>collection\u662f\u6a21\u5f0f\u81ea\u7531\uff08schema free\uff09\u7684<\/li>\n\n\n\n<li>\u6743\u9650\u63a7\u5236\uff08\u5c31\u4e0d\u540c\u7684\u4eba\u53ef\u4ee5\u8bbf\u95ee\u4e0d\u540c\u7684\u6570\u636e\u5e93\uff09\uff0c\u6bcf\u4e2a\u6570\u636e\u5e93\u5b58\u50a8\u5728\u5355\u72ec\u7684\u6587\u4ef6<\/li>\n<\/ol>\n\n\n\n<p>\u5728\u4e00\u4e2a\u96c6\u5408\uff08Collection\uff09\u4e2d\u53ef\u4ee5\u653e\u7f6e\u4e0d\u540c\u7684\u6587\u6863\uff08Document\uff09\uff0c\u5e76\u4e14\u5b83\u662f\u65e0\u6a21\u5f0f\uff08Schema-Free\uff09\u7684\u3002\u4ece\u7406\u8bba\u4e0a\u6765\u8bf4\uff0c<strong>\u786e\u5b9e\u53ef\u4ee5\u5c06\u6240\u6709\u6570\u636e\u90fd\u5b58\u50a8\u5230\u4e00\u4e2a\u96c6\u5408\u4e2d<\/strong>\u3002\u7136\u800c\uff0c\u8fd9\u4e48\u505a\u662f\u5426\u5408\u7406\u9700\u8981\u5177\u4f53\u95ee\u9898\u5177\u4f53\u5206\u6790\u3002<\/p>\n\n\n\n<p><strong>\u5173\u7cfb\u578b\u6570\u636e\u5e93\u548c\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u533a\u522b<\/strong><br>\u5728\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\uff0c\u4e0d\u540c\u7684\u8868\u901a\u5e38\u5bf9\u5e94\u4e0d\u540c\u7684\u6570\u636e\u7ed3\u6784\u3002\u4f8b\u5982\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4eba\u5458\u4fe1\u606f\u4f1a\u5b58\u50a8\u5728\u201c\u4eba\u5458\u8868\u201d\u4e2d<\/li>\n\n\n\n<li>\u8ba2\u5355\u4fe1\u606f\u4f1a\u5b58\u50a8\u5728\u201c\u8ba2\u5355\u8868\u201d\u4e2d<\/li>\n\n\n\n<li>\u4e66\u7c4d\u4fe1\u606f\u4f1a\u5b58\u50a8\u5728\u201c\u4e66\u7c4d\u8868\u201d\u4e2d<\/li>\n<\/ul>\n\n\n\n<p>\u539f\u56e0\u662f\u8fd9\u4e9b\u6570\u636e\u7684\u7ed3\u6784\u4e0d\u4e00\u6837\uff0c\u800c\u5728\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\uff0c\u8868\u662f\u4e25\u683c\u53d7\u6a21\u5f0f\u7ea6\u675f\u7684\uff0c\u6240\u4ee5\u4f60\u9700\u8981\u5c06\u6570\u636e\u6309\u7ed3\u6784\u62c6\u5206\u5230\u4e0d\u540c\u7684\u8868\u4e2d\u3002\u800c\u5728\u50cf MongoDB \u8fd9\u6837\u7684\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\uff0c\u6587\u6863\u672c\u8eab\u662f\u53ef\u4ee5\u5177\u6709\u4e0d\u540c\u5b57\u6bb5\u7684\uff0c\u56e0\u6b64\u4ece\u6280\u672f\u4e0a\u8bb2\uff0c<strong>\u4f60\u786e\u5b9e\u53ef\u4ee5\u628a\u6240\u6709\u7c7b\u578b\u7684\u6570\u636e\u90fd\u653e\u5728\u4e00\u4e2a\u96c6\u5408\u91cc<\/strong>\u3002<\/p>\n\n\n\n<p><strong>\u4e3a\u4ec0\u4e48\u4ecd\u7136\u9700\u8981\u591a\u4e2a\u96c6\u5408\uff1f<\/strong><br>\u5c3d\u7ba1 MongoDB \u662f\u65e0\u6a21\u5f0f\u7684\uff0c\u4f46\u5c06\u6240\u6709\u6570\u636e\u653e\u5230\u4e00\u4e2a\u96c6\u5408\u4e2d\u5728\u5b9e\u9645\u5f00\u53d1\u4e2d\u4f1a\u5e26\u6765\u8bb8\u591a\u95ee\u9898\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5f00\u53d1\u4e0e\u7ef4\u62a4\u7684\u590d\u6742\u6027<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5728\u4e00\u4e2a\u96c6\u5408\u4e2d\u5b58\u653e\u4e0d\u540c\u7c7b\u578b\u7684\u6587\u6863\u4f1a\u8ba9\u5f00\u53d1\u4eba\u5458\u548c\u7ba1\u7406\u5458\u7684\u5de5\u4f5c\u53d8\u5f97\u590d\u6742\u3002\u56e0\u4e3a\u9700\u8981\u989d\u5916\u7684\u903b\u8f91\u6765\u533a\u5206\u548c\u5904\u7406\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\uff0c\u5bb9\u6613\u51fa\u9519\u4e14\u96be\u4ee5\u7ef4\u62a4\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6548\u7387\u95ee\u9898<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u83b7\u53d6\u96c6\u5408\u7684\u5217\u8868\u8981\u6bd4\u4ece\u4e00\u4e2a\u96c6\u5408\u4e2d\u63d0\u53d6\u6240\u6709\u6570\u636e\u7c7b\u578b\u7684\u5217\u8868\u5feb\u5f97\u591a\u3002<\/li>\n\n\n\n<li>\u5c06\u540c\u7c7b\u6587\u6863\u5206\u7ec4\u5b58\u50a8\u5728\u540c\u4e00\u4e2a\u96c6\u5408\u4e2d\uff0c\u6709\u52a9\u4e8e\u5b9e\u73b0<strong>\u6570\u636e\u7684\u5c40\u90e8\u6027<\/strong>\uff08Data Locality\uff09\uff0c\u4ece\u800c\u63d0\u9ad8\u67e5\u8be2\u6548\u7387\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7d22\u5f15\u7684\u4f5c\u7528<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5f53\u4e3a\u96c6\u5408\u521b\u5efa\u7d22\u5f15\u65f6\uff0c\u5c31\u5f00\u59cb\u5bf9\u6587\u6863\u7ed3\u6784\u65bd\u52a0\u4e86\u4e00\u5b9a\u7684\u7ea6\u675f\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u96c6\u5408\u4e2d\u5305\u542b\u591a\u79cd\u7c7b\u578b\u7684\u6587\u6863\uff0c\u7d22\u5f15\u7684\u8bbe\u8ba1\u4f1a\u53d8\u5f97\u590d\u6742\uff0c\u6027\u80fd\u4e5f\u4f1a\u53d7\u5230\u5f71\u54cd\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u867d\u7136\u7406\u8bba\u4e0a\u53ef\u4ee5\u5c06\u6240\u6709\u6570\u636e\u5b58\u50a8\u5230\u4e00\u4e2a\u96c6\u5408\u4e2d\uff0c\u4f46\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c<strong>\u6839\u636e\u6587\u6863\u7c7b\u578b\u62c6\u5206\u4e3a\u4e0d\u540c\u7684\u96c6\u5408\u662f\u4e00\u79cd\u66f4\u5408\u7406\u7684\u8bbe\u8ba1\u65b9\u5f0f<\/strong>\uff0c\u8fd9\u6837\u53ef\u4ee5\u51cf\u5c11\u590d\u6742\u6027\uff0c\u63d0\u9ad8\u6027\u80fd\u548c\u53ef\u7ef4\u62a4\u6027\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u57fa\u672c\u672f\u8bed<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6587\u6863 (Document)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u7684\u57fa\u672c\u5355\u5143\uff0c\u76f8\u5f53\u4e8e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\u7684\u4e00\u884c\u3002<\/li>\n\n\n\n<li>\u683c\u5f0f\uff1a<code>{\"key\": \"value\"}<\/code>\uff0c\u53ef\u5d4c\u5957\u3002\n<ul class=\"wp-block-list\">\n<li>\u952e\u4e0d\u80fd\u5305\u542b\u7a7a\u5b57\u7b26<code>\\0<\/code>\u3002<\/li>\n\n\n\n<li>\u7279\u6b8a\u5b57\u7b26\u5982<code>.<\/code>\u548c<code>$<\/code>\u5e94\u907f\u514d\u4f7f\u7528\u3002<\/li>\n\n\n\n<li>\u952e\u540d\u533a\u5206\u5927\u5c0f\u5199\uff0c\u4e14\u6587\u6863\u4e2d\u952e\u540d\u4e0d\u80fd\u91cd\u590d\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u96c6\u5408 (Collection)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6587\u6863\u7684\u5206\u7ec4\uff0c\u76f8\u5f53\u4e8e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\u7684\u8868\u3002<\/li>\n\n\n\n<li>\u65e0\u56fa\u5b9a\u6a21\u5f0f (Schema-free)\uff0c\u96c6\u5408\u4e2d\u7684\u6587\u6863\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u7ed3\u6784\u3002<\/li>\n\n\n\n<li>\u7ec4\u6587\u6863\u800c\u6210\uff0c\u547d\u540d\u89c4\u5219\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u80fd\u4f7f\u7528\u7a7a\u5b57\u7b26\u4e32\u3002<\/li>\n\n\n\n<li>\u4e0d\u5efa\u8bae\u4ee5 <code>system.<\/code> \u5f00\u5934\u3002<\/li>\n\n\n\n<li>\u53ef\u4ee5\u901a\u8fc7<code>.<\/code>\u8868\u793a\u5b50\u96c6\u5408\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6570\u636e\u5e93 (Database)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>MongoDB \u4e2d\u7684\u6570\u636e\u5e93\u7531\u591a\u4e2a\u96c6\u5408\u7ec4\u6210\uff0c\u6bcf\u4e2a\u6570\u636e\u5e93\u72ec\u7acb\u5b58\u50a8\u3001\u5177\u6709\u72ec\u7acb\u6743\u9650\u3002<\/li>\n\n\n\n<li>\u7279\u6b8a\u6570\u636e\u5e93\uff1a<code>admin<\/code>\uff1a\u7528\u4e8e\u6743\u9650\u7ba1\u7406\u3002<code>local<\/code>\uff1a\u4e0d\u88ab\u590d\u5236\uff0c\u9002\u7528\u4e8e\u672c\u5730\u5b58\u50a8\u3002<code>config<\/code>\uff1a\u7528\u4e8e\u5b58\u50a8\u5206\u7247\u914d\u7f6e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>MongoDB \u7684\u590d\u5236\u4e0e\u5206\u7247<\/strong><\/h4>\n\n\n\n<p><strong>\u590d\u5236 (Replication)<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\uff0c\u901a\u8fc7\u4e3b\u4ece\u590d\u5236\u5b9e\u73b0\u3002<\/li>\n\n\n\n<li>\u4e3b\u8282\u70b9\u63a5\u53d7\u5199\u64cd\u4f5c\uff0c\u4ece\u8282\u70b9\u540c\u6b65\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5206\u7247 (Sharding)<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7528\u4e8e\u5927\u89c4\u6a21\u6570\u636e\u5206\u5e03\u5f0f\u5b58\u50a8\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u5206\u533a\u5206\u5e03\u5728\u591a\u4e2a\u8282\u70b9\uff08Shard\uff09\u4e0a\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Shard<\/h2>\n\n\n\n<p>\u81ea\u52a8\u5206\u7247<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sharding\u6307\u7684\u662f\u5206\u7247\uff0cMongoDB\u652f\u6301\u81ea\u52a8\u5206\u7247\uff1b\u5047\u5982\u4e00\u4e2acollection\u6bd4\u8f83\u5927\uff0c\u4ed6\u5c31\u4f1a\u628acollection\u5207\u6210\u51e0\u4e2ashard\uff0cshard\u5176\u5b9e\u8fd8\u6709\u66f4\u5c0f\u7684\u5355\u4f4d\u5c31\u662fchunk\uff0c\u628a\u8fd9\u4e9bchunk\u5206\u5e03\u5230\u591a\u53f0\u673a\u5668\u4e0a\u9762\u5b58\u50a8\u3002<\/li>\n\n\n\n<li>\u6b64\u5916MongoDB\u4f1a\u81ea\u52a8\u4fdd\u8bc1\u4e0d\u540c\u7684\u673a\u5668\u4e4b\u95f4\uff0cchunk\u7684\u6570\u91cf\u5dee\u5f02\u5c0f\u4e8e\u7b49\u4e8e2<\/li>\n\n\n\n<li>\u5206\u533a\u4e4b\u540e\uff0c\u8fd8\u6709\u4e00\u4e9b\u914d\u7f6e\u7684\u5143\u6570\u636e\u9700\u8981\u8bb0\u5f55\uff0c\u5728config\u914d\u7f6e\u670d\u52a1\u5668\u5b58\u50a8\uff0c\u5b83\u76f8\u5f53\u4e8e\u4e00\u4e2a\u8def\u7531\u5668\uff0c\u9488\u5bf9\u8bbf\u95ee\u7684\u8bf7\u6c42\u7ed3\u5408\u5143\u6570\u636e\uff0c\u628a\u8bf7\u6c42\u8f6c\u53d1\u5230\u5bf9\u5e94\u7684\u5206\u7247\u5b58\u50a8\u7684\u6570\u636e\u670d\u52a1\u5668\u6765\u83b7\u5f97\u7ed3\u679c<\/li>\n\n\n\n<li>\u8fd9\u6837\u7684\u597d\u5904\u5c31\u662f\u5b58\u50a8\u7684\u538b\u529b\u6bd4\u8f83\u5e73\u8861\uff0c\u5f53\u7136\u4e5f\u652f\u6301\u4eba\u5de5\u7684\u7ba1\u7406\uff0c\u56e0\u4e3a\u6709\u65f6\u5019\u6570\u636e\u7684\u51b7\u70ed\u6709\u5dee\u522b\uff0c\u6570\u636e\u8bbf\u95ee\u7684\u9891\u7387\u6709\u5dee\u522b\uff0c\u8fd9\u79cd\u60c5\u51b5\u5c31\u4f1a\u624b\u52a8\u5206\u7247\uff0c\u628a\u4e00\u4e9b\u7ecf\u5e38\u8bbf\u95ee\u7684\u6570\u636e\u5747\u8861\u653e\u7f6e\uff0c\u56e0\u6b64\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u80fd\u67d0\u4e00\u53f0\u673a\u5668\u5b58\u50a8\u7684\u5927\u5c0f\u6bd4\u8f83\u5927\uff0c\u4e0d\u540c\u673a\u5668\u4e4b\u95f4chunk\u6570\u91cf\u7684\u5dee\u8ddd\u53ef\u80fd\u8d85\u8fc7\u4e862\uff08\u4e3a\u4ec0\u4e48\u6709\u65f6\u5019\u4e5f\u9700\u8981\u4eba\u5de5\u7ba1\u7406sharding\u5206\u7247\uff09<\/li>\n<\/ul>\n\n\n\n<p>shard\u7684\u4f9d\u636e\uff1a\u9700\u8981\u9009\u62e9\u4e00\u5217\uff0c\u4f5c\u4e3a\u4e00\u4e2akey\uff0c\u8fd9\u4e2akey\u5c31\u53eb\u505ashard key\u3002\u4f8b\u5982A-F\u5f00\u5934\u5b66\u751f\u59d3\u540d\u4f5c\u4e3a\u4e00\u4e2a\u5206\u7247\uff0c\u4f8b\u5982G-P\u5f00\u5934\u5b66\u751f\u59d3\u540d\u4f5c\u4e3a\u4e00\u4e2a\u5206\u7247\u3002<\/p>\n\n\n\n<p>sharding\u65f6\u673a\uff1a1.\u5f53\u524d\u8ba1\u7b97\u673a\u4e0a\u7684\u78c1\u76d8\u7a7a\u95f4\u5df2\u7528\u5b8c\u30022.\u5e0c\u671b\u5199\u5165\u6570\u636e\u7684\u901f\u5ea6\u5feb\u4e8e\u5355\u4e2amongodb\u6240\u80fd\u5904\u7406\u7684\u901f\u5ea6\u3002\uff08\u6bd4\u5982\u5927\u91cf\u7684\u4f20\u611f\u5668\u5f80\u6570\u636e\u5e931s\u53ef\u80fd\u8981\u5199\u51651GB\u7684\u6570\u636e\uff0c\u5982\u679c\u6765\u4e0d\u53ca\u5199\uff0c\u5c31\u9700\u8981\u591a\u4e2aMongoDB\u6765\u5199\u5165\uff093.\u5e0c\u671b\u5728\u5185\u5b58\u4e2d\u4fdd\u7559\u66f4\u5927\u6bd4\u4f8b\u7684\u6570\u636e\u4ee5\u63d0\u9ad8\u6027\u80fd\uff0c\u5206\u5e03\u5f0f\u7f13\u5b58<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-414.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"621\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-414.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1751\"  sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><\/div><\/figure>\n\n\n\n<p>\u5047\u8bbe\u5f00\u59cb\u7684\u65f6\u5019\u5206\u7247\uff0c\u6bcf\u4e2achunk\u4ee3\u8868\u7684\u662f\u67d0\u4e00\u4e2a\u8303\u56f4\u7684\u6570\u636e\uff0cchunk\u5c31\u4f1a\u88ab\u5206\u5e03\u5f0f\u7684\u5b58\u50a8\u5728shard\u670d\u52a1\u5668\u91cc\u9762\u3002\u5f53\u5f80\u4e00\u4e2achunk\u91cc\u9762\u4e0d\u65ad\u63d2\u5165\u6570\u636e\u7684\u65f6\u5019\uff0c\u8fd9\u4e2achunk\u53ef\u80fd\u5c31\u4f1a\u5206\u88c2\uff0c\u5206\u88c2\u6210\u591a\u4e2achunk\u3002\u8003\u8651\u5230\u524d\u9762\u6240\u8bf4\u7684\u4e0d\u540c\u7684shard\u670d\u52a1\u5668\u4e4b\u95f4chunk\u7684\u6570\u91cf\u5dee\u5f02\u4e0d\u80fd\u8d85\u8fc72\u4e2a\uff0c\u90a3\u4e48\u4e00\u65e6\u5206\u88c2\u4e4b\u540e\u6570\u91cf\u8fdd\u53cd\u4e86\u8fd9\u4e2a\u89c4\u5b9a\uff0cMongoDB\u5c31\u4f1a\u81ea\u52a8\u7684\u8c03\u6574chunk\u5728\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u4f4d\u7f6e\uff0c\u4fdd\u8bc1\u5747\u8861\u3002<\/p>\n\n\n\n<p>\u4fdd\u8bc1\u4e86\u5b58\u50a8\u6570\u636e\u8d1f\u8f7d\u5e73\u8861\uff0c\u5747\u5300\u5206\u5e03\uff08\u7c7b\u4f3c\u4e8eB\u6811\uff0c\u4e0d\u540cshard\u7684chunk\u5dee\u503c\u8d85\u8fc7\u4e00\u5b9a\u8303\u56f4\u5c31\u5206\u88c2\uff09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4ec0\u4e48\u65f6\u5019\u7528MongoDB<\/h2>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u6211\u4eec\u9700\u8981mongoDB\uff1f\u8fd9\u4e2a\u4e00\u5b9a\u8981\u4ece\u5b83\u662fschema free\u7684\u8fd9\u4e00\u70b9\u6765\u51fa\u53d1\u3002<\/p>\n\n\n\n<p>\u4e09\u661f\u548c\u82f9\u679c\u7684\u624b\u673a\uff0c\u5c31\u5b83\u4fe9\u7684\u5c5e\u6027\u4e0d\u5b8c\u5168\u4e00\u6837\uff0c\u4e5f\u5c31\u662f\u8bf4\u5927\u5bb6\u662f schema free \u7684\uff0c\u5c31\u4f60\u6709\u4f60\u7684\u5c5e\u6027\uff0c\u6211 \u6709\u6211\u7684\u5c5e\u6027\uff0c\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u90a3\u6211\u628a\u5b83\u5b58\u5230\u4e00\u8d77\u90fd\u5728\u8fd9\u4e2a mobile \u8fd9\u4e2a collection \u91cc\u3002<\/p>\n\n\n\n<p>\u4f60\u5982\u679c\u7528\u4e09\u661f\u91cc\u9762\u5b83\u7279\u6709\u7684\uff0c\u6bd4\u5982\u8bf4\u5b83\u4ef7\u683c\u6bd4\u8f83\u4fbf\u5b9c\uff0c\u7528\u5b83\u7279\u6709\u7684\u4ef7\u683c\u53bb\u641c\u7d22\uff0c\u5c3d\u7ba1 apple \u91cc\u9762\u6ca1\u6709 price \u8fd9\u4e00\u4e2a\u5c5e\u6027\uff0c\u4f60\u8fd9\u4e2a\u641c\u7d22\u7684\u8bed\u53e5\u4e00\u5b9a\u80fd\u641c\u51fa\u6765\u7b26\u5408\u8981\u6c42\u7684\u4e1c\u897f\u3002\u6240\u4ee5\u4f60\u662f\u5728 schema free \u7684\u8fd9\u6837 \u4e00\u4e2a\u6570\u636e\u5e93\u4e0a\u53bb\u5b58\u4e86\u5927\u5bb6\u4e0d\u4e00\u6837\u7684\u6570\u636e\uff0c\u7136\u540e\u6211\u7684\u641c\u7d22\u8fd8\u53ef\u4ee5\u6309\u7167\u4e0d\u4e00\u6837\u7684\u5c5e\u6027\u53bb\u7ed9\u5b83\u627e\u51fa\u6765\uff0c\u4e0d\u662f\u8bf4 \u5927\u5bb6\u90fd\u8981\u6709\u76f8\u540c\u7684\u8fd9\u4e2a\u5c5e\u6027\uff0c\u6240\u4ee5\u8fd9\u4e2a\u573a\u5408\u624d\u662fmongoDB\u5f88\u6709\u7528\u7684\u5730\u65b9\u3002<\/p>\n\n\n\n<p>\u8fd8\u6709\u4ec0\u4e48\u662f schema free \u7684\uff1f\u5176\u5b9e\u6709\u4e00\u4e2a\u4e1c\u897f\u662f\uff0c\u5c31\u662f\u5982\u679c\u6211\u5bf9\u4e66\u6709\u4e00\u4e9b\u8bc4\u8bba\u3002\u90a3\u662f\u4e0d\u662f\u5c31\u662f\u6811\u5f62\u7684\uff1f \u5c31\u662f\u8bf4\u8fd9\u672c\u4e66\u8fd8\u6709\u4e00\u4e2a\u8bc4\u8bba\uff0c\u5b83\u8fd8\u53ef\u4ee5\u6709\u8ddf\u5e16\uff0c\u5b83\u7684\u8ddf\u5e16\u8fd8\u53ef\u4ee5\u6709\u8ddf\u5e16\uff0c\u5b83\u7684\u8ddf\u5e16\u53ef\u80fd\u6709\u597d\u51e0\u4e2a\uff0c\u8ddf\u5e16\u7684\u8ddf\u5e16\u4e5f\u53ef\u4ee5\u7ee7\u7eed\u4e0b\u53bb\u3002\u7136\u540e\u53e6\u5916\u4e00\u672c\u4e66\u5b83\u4e5f\u6709\uff0c\u4f46\u662f\u5b83\u5230\u5e95\u6709\u51e0\u5c42\uff1f\u7136\u540e\u6bcf\u4e00\u5c42\u7684\u8ddf\u5e16\u6709\u591a\u5c11\u4e2a\uff1f\u8fd9\u662f\u4e0d\u4e00\u5b9a\u4e86\u3002<\/p>\n\n\n\n<p>\u5c31\u5927\u5bb6\u8fd9\u4e2a\u662f\u6ca1\u6709\u4ec0\u4e48\u8bf4\uff0c\u5927\u5bb6\u7684\u8ddf\u5e16\u6700\u591a\u5230\u4e09\u5c42\uff0c\u6bcf\u4e00\u5c42\u6700\u591a 5 \u4e2a\uff0c\u7136\u540e\u6211\u5c31\u505a\u4e86\u4e2a\u8868\uff0c\u6ca1\u6709\u7684\uff0c\u90a3 \u8fd9\u65f6\u5019\u4f60\u770b\u5230\u4f60\u8981\u4ece\u8fd9\u79cd\u4e66\u8bc4\u7684\u8bdd\uff0c\u90a3\u5b83\u786e\u5b9e\u5c31\u662f schema free \u7684\uff0c\u7136\u540e\u4f60\u5c31\u53ef\u4ee5\u628a\u8fd9\u4e9b\u4e1c\u897f\u5c31\u5b58\u6210\u4e00 \u672c\u4e66\u7684\u67d0\u4e00\u4e2a\u5c5e\u6027\u5f80\u91cc\u9762\u53bb\u8ffd\u52a0\u3002 \u90a3\u5982\u679c\u4f60\u8981\u5728 MySQL \u91cc\u53bb\u5b58\uff0c\u90a3\u5b83\u6700\u5e26\u6765\u7684\u6700\u5927\u95ee\u9898\u5c31\u662f\uff0c\u90a3\u4f60\u8981\u53bb\u627e\u8fd9\u4e2a\u4e66\u8bc4\u7684\u65f6\u5019\uff0c\u4f60\u8fd9\u4e48\u8fd9\u4e48\u591a\u5c42\uff0c\u4f60\u600e\u4e48\u53bb\u5904\u7406\uff1f\u4f60\u662f\u628a\u5217\u8f6c\u6210\u884c\u5b58\u5462\uff1f\u8fd8\u662f\u8bf4\u4f60\u600e\u4e48\u7528\u5176\u4ed6\u7684 \u65b9\u6cd5\uff1f\u53cd\u6b63\u5c31\u6bd4\u8f83\u9ebb\u70e6\uff0c\u6240\u4ee5\u8fd9\u4e2a\u662f\u60f3\u7ed9\u5927\u5bb6\u89e3\u91ca\u4e00\u4e0b\uff0c\u5c31\u662f\u4f60\u8981\u7528 mongoDB\uff0c<strong>\u4f60\u5343\u4e07\u522b\u89c9\u5f97\u4ed6\u53ea\u662f\u62ff\u6765\u5b58\u56fe\u7247\u7528\u7684<\/strong>\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u516d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Neo4J \u548c\u56fe\u8ba1\u7b97<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e00\u3001\u56fe\u6570\u636e\u5e93\u7b80\u4ecb<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4ec0\u4e48\u662f\u56fe (Graph)<\/strong><br>\u56fe\u662f\u7531<strong>\u9876\u70b9\uff08vertices\/nodes\uff09<\/strong>\u548c<strong>\u8fb9\uff08edges\/relationships\uff09<\/strong>\u7ec4\u6210\u7684\u6570\u636e\u7ed3\u6784\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8282\u70b9\u8868\u793a\u5b9e\u4f53\uff08\u5982\u4eba\u3001\u7269\u4f53\uff09\u3002<\/li>\n\n\n\n<li>\u8fb9\u8868\u793a\u5b9e\u4f53\u4e4b\u95f4\u7684\u5173\u7cfb\u3002 <strong>\u56fe\u7684\u7279\u6027<\/strong>\uff1a<\/li>\n\n\n\n<li>\u8282\u70b9\u5177\u6709\u5c5e\u6027\uff08key-value \u5bf9\uff09\u3002<\/li>\n\n\n\n<li>\u8fb9\u4e5f\u53ef\u4ee5\u5305\u542b\u5c5e\u6027\uff08\u4f8b\u5982\u6743\u91cd\u3001\u65f6\u95f4\u6233\u7b49\uff09\u3002<\/li>\n\n\n\n<li>\u8fb9\u6709\u65b9\u5411\u6027\uff0c\u4e14\u59cb\u7ec8\u8fde\u63a5\u4e24\u4e2a\u8282\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u4ec0\u4e48\u662f\u56fe\u6570\u636e\u5e93 (Graph Database)<\/strong><br>\u56fe\u6570\u636e\u5e93\u662f\u4e00\u79cd\u652f\u6301<strong>\u56fe\u6a21\u578b\u5b58\u50a8\u548c\u64cd\u4f5c<\/strong>\u7684\u5728\u7ebf\u6570\u636e\u5e93\uff0c\u63d0\u4f9b\u6807\u51c6\u7684CRUD\u64cd\u4f5c\uff1a\u521b\u5efa\uff08Create\uff09\u3001\u8bfb\u53d6\uff08Read\uff09\u3001\u66f4\u65b0\uff08Update\uff09\u3001\u5220\u9664\uff08Delete\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f18\u5316\u76ee\u6807<\/strong>\uff1a\u4e8b\u52a1\u6027\u80fd\uff08OLTP\uff09\u548c\u64cd\u4f5c\u53ef\u7528\u6027\u3002<\/li>\n\n\n\n<li><strong>\u4e24\u5927\u6838\u5fc3\u7ec4\u4ef6<\/strong>\uff1a<ul><li>\u5e95\u5c42\u5b58\u50a8\uff08Underlying Storage\uff09\uff1a\u51b3\u5b9a\u5982\u4f55\u5b58\u50a8\u6570\u636e\u3002<\/li><li>\u5904\u7406\u5f15\u64ce\uff08Processing Engine\uff09\uff1a\u51b3\u5b9a\u5982\u4f55\u67e5\u8be2\u548c\u64cd\u4f5c\u6570\u636e\u3002<\/li><\/ul><strong>\u56fe\u6570\u636e\u5e93\u7684\u4f18\u52bf<\/strong>\uff1a<\/li>\n\n\n\n<li>\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08RDBMS\uff09\u548cNoSQL\u6570\u636e\u5e93\u5904\u7406\u5173\u7cfb\u590d\u6742\u6027\u6548\u7387\u8f83\u4f4e\u3002<\/li>\n\n\n\n<li>\u56fe\u6570\u636e\u5e93\u5929\u7136\u652f\u6301\u590d\u6742\u5173\u7cfb\u5efa\u6a21\u548c\u9ad8\u6548\u7684\u5173\u7cfb\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e8c\u3001\u56fe\u6570\u636e\u5e93\u4e0e\u5176\u4ed6\u5b58\u50a8\u65b9\u5f0f\u7684\u6bd4\u8f83<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u7f3a\u70b9<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u591a\u8868 JOIN \u64cd\u4f5c\u590d\u6742\u4e14\u4f4e\u6548\uff0c\u968f\u7740\u5173\u7cfb\u6df1\u5ea6\u589e\u52a0\u6027\u80fd\u4e0b\u964d\u3002<\/li>\n\n\n\n<li>\u793a\u4f8b\uff1a\u83b7\u53d6 Bob \u7684\u670b\u53cb\u7684 SQL \u67e5\u8be2\uff1a<br><code>sql SELECT p1.Person FROM Person p1 JOIN PersonFriend ON PersonFriend.FriendID = p1.ID JOIN Person p2 ON PersonFriend.PersonID = p2.ID WHERE p2.Person = 'Bob';<\/code><\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>NoSQL \u6570\u636e\u5e93\u7684\u7f3a\u70b9<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7f3a\u4e4f\u5173\u7cfb\u6a21\u578b\uff0c\u4e3b\u8981\u9002\u5408\u975e\u7ed3\u6784\u5316\u6216\u5f31\u5173\u7cfb\u6570\u636e\u3002\u5728\u90a3\u79cd\u5173\u7cfb\u6bd4\u8f83\u590d\u6742\u7684\u5173\u7cfb\u5b58\u50a8\u7684\u65f6\u5019\uff0c\u67e5\u8be2\u7684\u4ee3\u4ef7\u4e5f\u4f1a\u975e\u5e38\u5927\u3002<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u56fe\u6570\u636e\u5e93\u7684\u4f18\u52bf<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u76f4\u63a5\u8868\u8fbe\u5b9e\u4f53\u4e0e\u5173\u7cfb\u3002<\/li>\n\n\n\n<li>\u9ad8\u6548\u67e5\u8be2\u6df1\u5ea6\u5173\u7cfb\uff0c\u4f8b\u5982\u670b\u53cb\u7684\u670b\u53cb\uff08Friends-of-Friends\uff09\u3002\u5982\u679c\u7528mysql\u5b58\u50a8\u7684\u8bdd\uff0c\u5728\u67e5\u627e\u4e00\u4e2a\u4eba\u597d\u53cb\u7684\u597d\u53cb\u7684\u597d\u53cb\u9700\u8981\u7ecf\u8fc7\u591a\u6b21 join\u8fde\u63a5\u64cd\u4f5c\uff08\u8981\u5148\u505a\u7b1b\u5361\u5c14\u79ef\uff0c\u7136\u540e\u6839\u636e\u67d0\u4e2a\u6761\u4ef6\u8fdb\u884c\u8fdb\u4e00\u6b65\u7b5b\u9009\uff09\uff0c\u8fd9\u79cd\u5728\u590d\u6742\u7684\u67e5\u8be2\u7684\u60c5\u51b5 \u4e0b\uff0cmysql\u7684\u67e5\u8be2\u7684\u6548\u7387\u5c31\u975e\u5e38\u4f4e\u3002<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-415.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"616\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-415.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1753\"  sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-416.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"595\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-416.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1754\"  sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e09\u3001Neo4J \u7684\u56fe\u6a21\u578b<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6807\u6ce8\u5c5e\u6027\u56fe\u6a21\u578b (Labeled Property Graph Model)<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8282\u70b9 (Node)<\/strong>\uff1a\u8868\u793a\u5b9e\u4f53\uff0c\u5b58\u50a8\u5c5e\u6027\u3002\n<ul class=\"wp-block-list\">\n<li>\u5c5e\u6027\u662f\u952e\u503c\u5bf9\uff08Key-Value\uff09\u5f62\u5f0f\uff0c\u652f\u6301\u5b57\u7b26\u4e32\u3001\u6570\u7ec4\u7b49\u7c7b\u578b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5173\u7cfb (Relationship)<\/strong>\uff1a\u8fde\u63a5\u8282\u70b9\uff0c\u5e26\u6709\u65b9\u5411\u6027\u3001\u540d\u79f0\u548c\u5c5e\u6027\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\uff1a<code>(Alice)-[:KNOWS]-&gt;(Bob)<\/code> \u8868\u793a Alice \u77e5\u9053 Bob\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6807\u7b7e (Label)<\/strong>\uff1a\u4e3a\u8282\u70b9\u5206\u7c7b\uff0c\u8868\u793a\u89d2\u8272\u6216\u7fa4\u7ec4\u3002<\/li>\n<\/ul>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u67e5\u8be2\u8bed\u8a00 Cypher<\/strong><br>Cypher \u662f Neo4j \u7684\u67e5\u8be2\u8bed\u8a00\uff0c\u8bed\u6cd5\u7b80\u6d01\u76f4\u89c2\uff0c\u7c7b\u4f3c ASCII \u827a\u672f\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u57fa\u672c\u8bed\u6cd5<\/strong>\uff1a <code>MATCH (a:Person)-[:KNOWS]-&gt;(b)-[:KNOWS]-&gt;(c) WHERE a.name = 'Jim' RETURN b, c;<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u56db\u3001\u6570\u636e\u5efa\u6a21\u4e0e\u56fe\u5e94\u7528\u5f00\u53d1<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u5efa\u6a21<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8282\u70b9\u8868\u793a\u4e8b\u7269<\/strong>\uff1a\u4f7f\u7528\u8282\u70b9\u4ee3\u8868\u611f\u5174\u8da3\u7684\u5b9e\u4f53\uff0c\u5982\u7528\u6237\u3001\u8bbe\u5907\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u5173\u7cfb\u8868\u793a\u7ed3\u6784<\/strong>\uff1a\u7528\u65b9\u5411\u6027\u5173\u7cfb\u8868\u8fbe\u5b9e\u4f53\u95f4\u7684\u5173\u8054\u3002<\/li>\n\n\n\n<li><strong>\u5c5e\u6027\u5b58\u50a8\u7279\u6027<\/strong>\uff1a\u8282\u70b9\u548c\u5173\u7cfb\u53ef\u5e26\u6709\u5c5e\u6027\uff0c\u7528\u4e8e\u8bb0\u5f55\u76f8\u5173\u4fe1\u606f\uff08\u5982\u6743\u91cd\u3001\u65f6\u95f4\u6233\u7b49\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8bed\u4e49\u6e05\u6670<\/strong>\uff1a\u901a\u8fc7\u5173\u7cfb\u65b9\u5411\u660e\u786e\u5b9e\u4f53\u95f4\u7684\u8bed\u4e49\u3002<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e94\u7528\u793a\u4f8b\uff1a\u4e66\u7c4d\u63a8\u8350\u7cfb\u7edf<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9700\u6c42<\/strong>\uff1a\u4f5c\u4e3a\u8bfb\u8005\uff0c\u6211\u5e0c\u671b\u77e5\u9053\u559c\u6b22\u67d0\u4e66\u7684\u5176\u4ed6\u8bfb\u8005\u8fd8\u559c\u6b22\u54ea\u4e9b\u4e66\uff0c\u4ee5\u4fbf\u5bfb\u627e\u9605\u8bfb\u5efa\u8bae\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u73b0\u67e5\u8be2<\/strong>\uff1a<br><code>cypher MATCH (:Reader {name: 'Alice'})-[:LIKES]-&gt;(:Book {title: 'Dune'}) &lt;-[:LIKES]-(:Reader)-[:LIKES]-&gt;(books:Book) RETURN books.title;<\/code><\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e8b\u5b9e\u5efa\u6a21\u4e3a\u8282\u70b9<\/strong><br>\u793a\u4f8b\uff1a\u63cf\u8ff0\u4e00\u4f4d\u5458\u5de5\u7684\u804c\u4f4d\u4fe1\u606f\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   CREATE (:Person {name: 'Ian'})\n         -&#91;:EMPLOYMENT]-&gt;(:Job {start_date: '2011-01-05'})\n         -&#91;:EMPLOYER]-&gt;(:Company {name: 'Neo'}),\n         (:Job)-&#91;:ROLE]-&gt;(:Role {name: 'Engineer'});<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e94\u3001Neo4J \u90e8\u7f72\u4e0e\u8fd0\u884c<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8fd0\u884c Neo4J<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63a7\u5236\u53f0\u6a21\u5f0f\uff1a<code>&lt;NEO4J_HOME&gt;\/bin\/neo4j console<\/code><\/li>\n\n\n\n<li>\u540e\u53f0\u8fd0\u884c\uff1a<code>&lt;NEO4J_HOME&gt;\/bin\/neo4j start<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5d4c\u5165\u5f0f\u6a21\u5f0f<\/strong>\uff1a\u4e0e\u5e94\u7528\u7a0b\u5e8f\u540c\u8fdb\u7a0b\u8fd0\u884c\u3002<\/li>\n\n\n\n<li><strong>\u670d\u52a1\u5668\u6a21\u5f0f<\/strong>\uff1a\u72ec\u7acb\u90e8\u7f72\uff0c\u901a\u8fc7\u5ba2\u6237\u7aef\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u516d\u3001Neo4J \u5185\u90e8\u5b58\u50a8\u673a\u5236<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b58\u50a8\u6587\u4ef6<\/strong>\uff1a\u6570\u636e\u5206\u5757\u5b58\u50a8\u5230\u4e0d\u540c\u6587\u4ef6\u4e2d\uff08\u8282\u70b9\u3001\u5173\u7cfb\u3001\u6807\u7b7e\u3001\u5c5e\u6027\u5206\u522b\u5b58\u50a8\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5173\u7cfb\u5b58\u50a8\u7684\u53cc\u5411\u94fe\u8868<\/strong>\uff1a\u8282\u70b9\u4e0e\u5173\u7cfb\u95f4\u4f7f\u7528\u53cc\u5411\u94fe\u8868\u8fde\u63a5\uff0c\u5feb\u901f\u904d\u5386\u5173\u7cfb\u7f51\u7edc\u3002<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8282\u70b9\u7684\u5b58\u50a8\u5360\u752815byte\uff1a\u7b2c\u4e00\u4e2a\u4f4d\u662f\u4e00\u4e2a\u6807\u5fd7\u4f4d\uff0c\u662f\u5426\u6709\u5173\u8054\u7684\u8fb9\u662f\u5426\u6b63\u5728\u4f7f\u7528\uff0c\u7136\u540e\uff08\u504f\u79fb\u91cf 1\uff09\u662f\u5b58\u50a8\u4e0b\u4e00\u4e2a\u8fb9\u7684ID\u5173\u7cfb\uff0c\u7136\u540e\u5b58\u50a8\u4e0b\u4e00\u4e2a\u5c5e\u6027\u7684id\uff0c\u7136\u540e\u5b58\u50a8labels\uff0c\u6700\u540e\u5b58\u50a8\u5176\u4ed6\u7684\u5185\u5bb9<\/li>\n\n\n\n<li>\u8fb9\u7684\u5b58\u50a8\u5360\u752834byte\uff0c\u7b2c\u4e00\u4e2a\u4f4d\u662f\u4e00\u4e2a\u6807\u5fd7\u4f4d\uff0c\u5b58\u50a8\u662f\u5426\u6b63\u5728\u4f7f\u7528\uff1b\u4e4b\u540e\u5b58\u50a8\u8fd9\u4e2a\u5173\u7cfb\u7684\u8d77\u59cb\u8282\u70b9 \u662f\u8c01\uff0c\u7ec8\u6b62\u8282\u70b9\u662f\u8c01\u3001\u5173\u7cfb\u7684\u7c7b\u578b\uff1b\u7136\u540e\u5b58\u50a8\u7b2c\u4e00\u4e2a\u8282\u70b9\uff08\u8fb9\u7684\u8d77\u59cb\u8282\u70b9\uff09\u7684\u524d\u4e00\u4e2a\u5173\u7cfb\u662f\u8c01\uff0c\u540e \u4e00\u4e2a\u5173\u7cfb\u662f\u8c01\uff0c\u7b2c\u4e8c\u4e2a\u8282\u70b9\u7684\u524d\u4e00\u4e2a\u5173\u7cfb\u662f\u8c01\uff0c\u540e\u4e00\u4e2a\u5173\u7cfb\u662f\u8c01\uff0c\u540e\u9762\u5c31\u662f\u4fdd\u7559\u5b57\u6bb5<\/li>\n\n\n\n<li>\u662f\u901a\u8fc7\u94fe\u8868\u8fde\u8d77\u6765\u7684<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-460-1024x446.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"446\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-460-1024x446.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2178\" style=\"width:514px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u4e03\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u65e5\u5fd7\u7ed3\u6784\u6570\u636e\u5e93 (Log-Structured Database)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>LSM-Tree\uff08Log-Structured Merge Tree\uff09<\/strong><\/h3>\n\n\n\n<p><strong>\u5b9a\u4e49<\/strong>\uff1aLSM-Tree \u662f\u4e00\u79cd <strong>\u5206\u5c42\u3001\u6709\u5e8f\u3001\u9762\u5411\u78c1\u76d8<\/strong> \u7684\u6570\u636e\u7ed3\u6784\u3002\u5176\u6838\u5fc3\u601d\u60f3\u662f\u5229\u7528\u78c1\u76d8 <strong>\u987a\u5e8f\u5199\u6027\u80fd\u8fdc\u9ad8\u4e8e\u968f\u673a\u5199\u6027\u80fd<\/strong> \u7684\u7279\u70b9\u6765\u4f18\u5316\u5199\u5165\u3002<\/p>\n\n\n\n<p><strong>\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u5199\u5165<\/strong>\uff1a\u4ee5 <strong>Append<\/strong> \u6a21\u5f0f\u5199\u5165\uff0c\u907f\u514d\u5220\u9664\u548c\u4fee\u6539\uff0c\u63d0\u5347\u5199\u6027\u80fd\u3002<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a<strong>\u5199\u591a\u8bfb\u5c11<\/strong> \u7684\u573a\u666f\uff0c\u5982\u65e5\u5fd7\u7cfb\u7edf\u548c\u65f6\u5e8f\u6570\u636e\u5e93\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u4f18\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u663e\u8457\u63d0\u5347 <strong>\u63d2\u5165\u3001\u4fee\u6539\u3001\u5220\u9664<\/strong> \u6027\u80fd\u3002<\/li>\n\n\n\n<li>\u9002\u7528\u4e8e <strong>\u5b9e\u65f6\u3001\u65f6\u5e8f\u6570\u636e\u5b58\u50a8<\/strong>\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u70ed\u5ea6\u4e0e <strong>\u5c42\u7ea7\uff08level\uff09<\/strong> \u76f8\u5173\u3002\u663e\u7136\u8bfb\u65b0\u6570\u636e\u4f1a\u66f4\u5feb\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7f3a\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u727a\u7272\u90e8\u5206 <strong>\u8bfb\u53d6\u6027\u80fd<\/strong>\uff1a\u4e00\u6b21\u8bfb\u53d6\u53ef\u80fd\u9700\u8981\u8bbf\u95ee\u591a\u4e2a\u5c42\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u653e\u5927<\/strong> \u548c <strong>\u5199\u653e\u5927<\/strong> \u95ee\u9898\uff1a\u6570\u636e\u591a\u5c42\u7ba1\u7406\u53ef\u80fd\u5bfc\u81f4\u591a\u4f59\u7684 I\/O \u64cd\u4f5c\u3002\n<ul class=\"wp-block-list\">\n<li><strong><strong>\u5199\u653e\u5927<\/strong><\/strong> \uff1a\u4e3a\u4e86\u5b8c\u6210\u4e00\u9879\u5199\u64cd\u4f5c\uff0c<strong>\u6570\u636e\u5e93\u7cfb\u7edf\u9700\u8981\u5728\u5e95\u5c42\u5b58\u50a8\u4e2d\u5199\u5165\u7684\u5b57\u8282\u91cf\u5927\u4e8e\u5b9e\u9645\u7684\u6570\u636e\u91cf<\/strong>\u3002\u6bd4\u5982\u8bf4LSMTree\u5408\u5e76\uff0cCompaction\u5c31\u6709\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u653e\u5927<\/strong>\uff1a\u4e3a\u4e86\u5b8c\u6210\u4e00\u6b21\u8bfb\u64cd\u4f5c\uff0c\u7cfb\u7edf\u9700\u8981\u989d\u5916\u8bfb\u53d6\u5927\u91cf\u7684\u65e0\u5173\u6570\u636e\u3002\u6bd4\u5982\u8bf4LSMTree\u8bfb\u53d6\u67d0\u4e2a\u503c\uff0c\u5b9e\u9645\u8981\u8bfb\u53d6\u5f88\u591a\u5757\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>SSTable (Sorted String Table)<\/strong><\/h3>\n\n\n\n<p><strong>\u5b9a\u4e49<\/strong>\uff1aSSTable \u662f\u4e00\u79cd <strong>&lt;\u952e, \u503c&gt;<\/strong> \u7684\u5b58\u50a8\u683c\u5f0f\uff0c\u652f\u6301\u6709\u5e8f\u5b58\u50a8\u3002<\/p>\n\n\n\n<p><strong>\u7279\u70b9<\/strong>\uff1a\u6570\u636e\u987a\u5e8f\u5199\u5165\uff0c\u63d0\u5347\u78c1\u76d8\u6027\u80fd\u3002\u652f\u6301\u9ad8\u6548\u7684\u968f\u673a\u8bfb\u53d6\u3002<\/p>\n\n\n\n<p><strong>\u9650\u5236<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5199\u5165\u78c1\u76d8\u540e\u4e0d\u53ef\u53d8\uff0c\u4fee\u6539\u6216\u5220\u9664\u9700\u8981\u5927\u91cf I\/O \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u4e0d\u9002\u5408\u968f\u673a\u5199\u5165\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5199\u963b\u585e\uff1a\u5199\u5165\u7684\u65f6\u5019\u53ef\u80fd\u6709\u4e2a\u963b\u585e\u95ee\u9898\uff0c\u4e3a\u5565\uff1f\u56e0\u4e3a\u5b83\u5199\u5165\u7684\u65f6\u5019\u5b83\u6709\u53ef\u80fd\u9700\u8981\u53bb\u505a\u8fd9\u4e2a\u5408\u5e76\uff0c\u6bd4\u5982 L0 \u5c42\u6ee1\u4e86 \u4e4b\u540e\uff0c\u5b83\u8981\u5f80 L1 \u5c42\u53bb\u843d\uff0c\u90a3\u4e48\u6211\u521a\u624d\u8bb2\u4e86\u4e00\u4e2a\u6781\u7aef\u60c5\u51b5\u662f L1 \u5c42\u4f60\u843d\u4e0b\u6765\u4e4b\u540e\u4e5f\u6ee1\u4e86\uff0c\u53c8\u8981\u5f80 L2 \u5c42 \u843d\uff0c\u4ee5\u6b64\u7c7b\u63a8\uff0c\u6bcf\u4e00\u5c42\u53ef\u80fd\u90fd\u4f1a\u6ee1\u3002<br>\u78b0\u5230\u8fd9\u79cd\u60c5\u51b5\u600e\u4e48\u529e\uff1f\u4ed6\u5c31\u8bf4\u8fd9\u6837\u5728\u505a compaction \u7684\u65f6\u5019\uff0c\u628a\u5185\u5b58\u91cc\u7684\u843d\u4e0b\u6765\u8fd9\u4e2a\u52a8\u4f5c\u76f4\u63a5\u505a\u4e86\u4ee5 \u540e\uff0c\u5982\u679c\u89e6\u53d1\u4e86\u4ece L 0 \u5230 L1 \u5c42\u7684\u8fd9\u4e2a\u52a8\u4f5c\uff0c\u5c31\u8f6c\u79fb\u5230\u540e\u53f0\u53bb\u505a\u5f02\u6b65\u7684\u5199\u5165\u786c\u76d8\u5c31\u4e0d\u8981\u5728\u524d\u53f0\uff0c\u5c31\u662f\u8bf4 \u5b83\u53ea\u8981\u843d\u4e0b\u6765\u9a6c\u4e0a\u5c31\u7ed9\u7528\uff0c\u5c31\u53ef\u4ee5\u53bb\u53d8\u6210\u4e00\u4e2a\u53ef\u5199\u7684\u4e00\u4e2a\u5185\u5b58\u8868\uff0c\u9a6c\u4e0a\u5c31\u53ef\u4ee5\u63a5\u6536\u65b0\u7684\u8bf7\u6c42\u8fdb\u53bb\uff0c\u540e\u9762 \u5c31\u653e\u5230\u8fd9\u91cc\u9762\uff0c\u8fd9\u5c31\u6240\u8c13\u7684\u5199\u963b\u585e\uff0c\u5c31\u662f\u8bf4\u4f60\u5728\u5199\u7684\u8fc7\u7a0b\u5f53\u4e2d\u5c31\u5f88\u5bb9\u6613\u4e0d\u65ad\u7684\u5f80\u4e0b\u843d\uff0c\u7136\u540e\u5c31\u770b\u5230\u8fd9\u4e2a \u653e\u5927\u5c31\u5f88\u4e25\u91cd\uff0c\u5c31\u8fd9\u4e00\u6b21\u5176\u64cd\u4f5c\u5176\u5b9e\u6267\u884c\u4e86\u5f88\u591a\u5199\u7684\u52a8\u4f5c\uff0c\u7136\u540e\u8fd8\u6709\u53ef\u80fd\u6210\u4e3a\u8fd9\u4e2a\u74f6\u9888\uff0c\u8fd9\u6837\u5c31\u963b\u788d\u4e86 \u8fd9\u4e2a\u4e8b\u7269\u7684\u5904\u7406\u7684\u53ef\u7528\u6027\u3002<\/p>\n\n\n\n<p>\u8bfb\u653e\u5927\uff1a\u90a3\u8bfb\u5462\uff1f\u662f\u5b58\u5728\u8fd9\u4e48\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u6211\u5728\u627e\u4e00\u4e2a\u6570\u636e\u7684\u65f6\u5019\uff0c\u6211\u5148\u5230\u5185\u5b58\u8868\u91cc\uff1b\u627e\u4e0d\u5230\uff0c\u6211\u518d\u5230\u8fd9\u4e2a L0 \u5c42\u627e\uff0c\u627e\u4e0d\u5230\u6211\u4e5f\u4e0d\u80fd\u8bf4\u8fd9\u6570\u636e\u4e0d\u5b58\u5728\uff0c\u6709\u53ef\u80fd\u5b83\u592a\u8001\uff0c\u5b83\u843d\u5230\u5e95\u4e0b\u53bb\u4e86\uff0c\u4e8e\u662f\u6211\u4e00\u5c42\u5c42\u627e\uff0c\u6781\u6709 \u53ef\u80fd\u5c31\u662f\u6700\u540e\u4f60\u5728\u5f88\u627e\u4e86\u5f88\u591a\u5c42\u4f60\u624d\u627e\u5230\u3002\u800c\u4e14\u4f60\u5728\u4e0d\u540c\u7684\u5c42\u91cc\u9762\u53ef\u80fd\u8fd8\u5b58\u7740\u4e0d\u540c\u7684\u7248\u672c\u3002\u56e0\u4e3a\u6211\u4eec\u521a \u624d\u8bf4\u4e86\uff0c\u5b83\u7684\u6539\u5199\u662f\u901a\u8fc7\u8ffd\u52a0\u5f97\u5230\u7684\uff0c\u90a3\u4e5f\u5c31\u662f\u8bf4\u4f60\u5982\u679c\u6709\u8001\u7248\u672c\u7684\u8bdd\uff0c\u5b83\u4f1a\u5728\u66f4\u4f4e\u7684\u5c42\u91cc\u9762\uff0c\u5982\u679c\u6ca1\u6709\u7ecf\u8fc7compaction\uff0c\u8fd9\u4e2a\u6570\u636e\u8fd8\u662f\u5728\u7684\uff0c\u53ea\u6709 compact \u624d\u6709\u4e00\u6b21\u673a\u4f1a\u53ef\u80fd\u628a\u5b83\u7ed9\u5220\u6389\u3002\u9650\u5236\u4e86AP\u67e5\u8be2 \u7684\u6027\u80fd\u3002<br><strong>\u89e3\u51b3\u65b9\u6848\uff1a<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>LevelDB \u548c RocksDB<\/strong><\/h3>\n\n\n\n<p><strong>LevelDB<\/strong>\uff1a\u57fa\u4e8e LSM-Tree\uff0c\u652f\u6301\u5c42\u7ea7\u538b\u7f29\uff08Compaction\uff09\u4ee5\u4f18\u5316\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u3002<\/p>\n\n\n\n<p><strong>RocksDB<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7531 <strong>Facebook<\/strong> \u5f00\u53d1\uff0c\u4f5c\u4e3a LevelDB \u7684\u6269\u5c55\u3002<\/li>\n\n\n\n<li>\u652f\u6301\u66f4\u9ad8\u6027\u80fd\uff0c\u5c24\u5176\u9002\u7528\u4e8e <strong>\u6df7\u5408\u4e8b\u52a1\u5206\u6790\u5904\u7406\uff08HTAP\uff09<\/strong>\u3002<\/li>\n\n\n\n<li>\u63d0\u4f9b\u5d4c\u5165\u5f0f\u3001\u6301\u4e45\u5316\u7684\u952e\u503c\u5b58\u50a8\uff0c\u4f18\u5316\u4e86\u65e5\u5fd7\u7ed3\u6784\u6570\u636e\u5e93\u7684\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>RocksDB \u7684\u4f18\u5316<\/strong><\/h3>\n\n\n\n<p><strong>\u5199\u5165\u6d41\u7a0b<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u5148\u5199\u5165\u5185\u5b58\uff0c\u518d\u540e\u53f0\u5f02\u6b65\u5199\u5165\u78c1\u76d8\uff0c\u964d\u4f4e\u5199\u5ef6\u8fdf\u3002<\/li>\n\n\n\n<li><strong>\u95ee\u9898<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5185\u5b58\u5199\u6ee1\u65f6\u53ef\u80fd\u5f15\u53d1\u963b\u585e\u3002<\/li>\n\n\n\n<li>\u540e\u53f0\u4efb\u52a1\uff08Compaction\uff09\u53ef\u80fd\u6210\u4e3a\u6027\u80fd\u74f6\u9888\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u8bfb\u53d6\u6d41\u7a0b<\/strong>\uff1a\u9700\u8981\u8bbf\u95ee\u591a\u5c42\u6570\u636e\u6587\u4ef6\uff0c\u5bfc\u81f4 <strong>\u8bfb\u653e\u5927\u95ee\u9898<\/strong>\u3002<\/p>\n\n\n\n<p><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5199\u963b\u585e<\/strong>\uff1a\u901a\u8fc7\u4e2d\u95f4\u7f13\u5b58\u5c42\u5206\u53d1\u5199\u5165\u4efb\u52a1\uff0c\u7f13\u89e3\u5199\u5165\u538b\u529b\u3002<\/li>\n\n\n\n<li><strong>\u8bfb\u653e\u5927<\/strong>\uff1a\u5f15\u5165 <strong>\u5217\u5f0f\u5b58\u50a8<\/strong> \u4f18\u5316\u5206\u6790\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-461.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"393\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-461.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2179\" style=\"width:609px;height:auto\"  sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u6df7\u5408\u5b58\u50a8 (HTAP)<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-462.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"365\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-462.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2180\" style=\"width:665px;height:auto\"  sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><\/div><\/figure>\n\n\n\n<p><strong>OLTP \u548c OLAP<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OLTP<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u7ebf\u4e8b\u52a1\u5904\u7406\uff0c\u7279\u70b9\u662f\u4f4e\u5ef6\u8fdf\u3001\u9ad8\u5e76\u53d1\u3002<\/li>\n\n\n\n<li>\u9002\u5408 <strong>\u884c\u5f0f\u5b58\u50a8<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OLAP<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u7ebf\u5206\u6790\u5904\u7406\uff0c\u7279\u70b9\u662f\u9ad8\u5ef6\u8fdf\u3001\u4f4e\u5e76\u53d1\u3001\u5927\u6570\u636e\u91cf\u3002<\/li>\n\n\n\n<li>\u9002\u5408 <strong>\u5217\u5f0f\u5b58\u50a8<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6df7\u5408\u5b58\u50a8\u7b56\u7565<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u884c\u5f0f\u5b58\u50a8\u9002\u5408\u4e8b\u52a1\u6570\u636e\uff0c\u5217\u5f0f\u5b58\u50a8\u9002\u5408\u5206\u6790\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7 <strong>\u52a8\u6001\u683c\u5f0f\u8f6c\u6362<\/strong> \u964d\u4f4e\u78c1\u76d8\u5f00\u9500\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u5411\u91cf\u6570\u636e\u5e93 (Vector Database)<\/strong><\/h2>\n\n\n\n<p><strong>\u5411\u91cf\u5316<\/strong>\uff1a\u5411\u91cf\uff08embedding\uff09\u7531 AI \u6a21\u578b\uff08\u5982\u5927\u578b\u8bed\u8a00\u6a21\u578b\uff0cLLM\uff09\u751f\u6210\uff0c\u5305\u542b\u5927\u91cf\u7ef4\u5ea6\u4fe1\u606f\u3002\u5411\u91cf\u7684\u7ef4\u5ea6\u8868\u793a\u6570\u636e\u7684\u7279\u5f81\uff0c\u53ef\u7528\u4e8e\u6355\u83b7\u6a21\u5f0f\u548c\u5173\u7cfb\u3002<\/p>\n\n\n\n<p><strong>\u7528\u9014<\/strong>\uff1a\u7ba1\u7406\u548c\u5b58\u50a8\u9ad8\u7ef4\u7279\u5f81\u6570\u636e\uff0c\u652f\u6301\u57fa\u4e8e\u76f8\u4f3c\u6027\u7684\u67e5\u8be2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5411\u91cf\u6570\u636e\u5e93\u7684\u5de5\u4f5c\u539f\u7406<\/strong><\/h3>\n\n\n\n<p><strong>\u6838\u5fc3<\/strong>\uff1a\u57fa\u4e8e <strong>\u8fd1\u4f3c\u6700\u8fd1\u90bb\uff08Approximate Nearest Neighbor, ANN\uff09<\/strong> \u641c\u7d22\u7b97\u6cd5\u627e\u5230\u4e0e\u67e5\u8be2\u5411\u91cf\u6700\u76f8\u4f3c\u7684\u5411\u91cf\u3002<\/p>\n\n\n\n<p><strong>\u4e3b\u8981\u7b97\u6cd5<\/strong>\uff1a<strong>\u968f\u673a\u6295\u5f71\uff08Random Projection\uff09<\/strong>\uff1a\u5c06\u9ad8\u7ef4\u6570\u636e\u6295\u5f71\u5230\u4f4e\u7ef4\u7a7a\u95f4\uff0c\u51cf\u5c11\u8ba1\u7b97\u590d\u6742\u5ea6\u3002<\/p>\n\n\n\n<p><strong>\u6743\u8861<\/strong>\uff1a<strong>\u51c6\u786e\u6027 vs. \u901f\u5ea6<\/strong>\uff1a\u5411\u91cf\u6570\u636e\u5e93\u901a\u5e38\u63d0\u4f9b\u8fd1\u4f3c\u7ed3\u679c\uff0c\u9700\u5728\u6027\u80fd\u548c\u51c6\u786e\u7387\u4e4b\u95f4\u505a\u51fa\u53d6\u820d\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5411\u91cf\u6570\u636e\u5e93\u7684\u5e94\u7528<\/strong><\/h3>\n\n\n\n<p><strong>\u5178\u578b\u5de5\u5177<\/strong>\uff1aPinecone \u7b49\u3002<\/p>\n\n\n\n<p><strong>\u573a\u666f<\/strong>\uff1aAI \u63a8\u8350\u7cfb\u7edf\u3001\u56fe\u50cf\/\u6587\u672c\u68c0\u7d22\u7b49\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u6838\u5fc3\u7b97\u6cd5<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6b27\u51e0\u91cc\u5f97\u8ddd\u79bb\uff08L2 \u8ddd\u79bb\uff09<br>\u5b9a\u4e49\uff1a\u8ba1\u7b97\u4e24\u70b9\u4e4b\u95f4\u7684\u76f4\u7ebf\u8ddd\u79bb\uff0c\u516c\u5f0f\u4e3a (d = \\sqrt{\\sum (x_i &#8211; y_i)^2})\u3002<br>\u7279\u70b9\uff1a\u5bf9\u7edd\u5bf9\u6570\u503c\u654f\u611f\uff0c\u9002\u7528\u4e8e\u6570\u503c\u7279\u5f81\u3002<br>\u9002\u7528\u573a\u666f\uff1a\u5728\u7279\u5f81\u5206\u5e03\u8f83\u4e3a\u5747\u5300\uff0c\u4e14\u5bf9\u5177\u4f53\u6570\u503c\u53d8\u5316\u8f83\u4e3a\u654f\u611f\u7684\u573a\u666f\uff0c\u4f8b\u5982\u63a8\u8350\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u504f\u597d\u3002<\/li>\n\n\n\n<li>\u4f59\u5f26\u76f8\u4f3c\u5ea6<br>\u5b9a\u4e49\uff1a\u8ba1\u7b97\u4e24\u5411\u91cf\u5939\u89d2\u7684\u4f59\u5f26\u503c\uff0c\u516c\u5f0f\u4e3a ( \\text{cosine}(A, B) = \\frac{A \\cdot B}{||A|| \\cdot ||B||} )\u3002<br>\u7279\u70b9\uff1a\u53ea\u5173\u6ce8\u5411\u91cf\u7684\u65b9\u5411\uff0c\u5ffd\u7565\u4e86\u5927\u5c0f\uff0c\u9002\u5408\u6587\u672c\u6570\u636e\u3002<br>\u9002\u7528\u573a\u666f\uff1a\u6587\u672c\u76f8\u4f3c\u5ea6\u8ba1\u7b97\uff0c\u5982\u4fe1\u606f\u68c0\u7d22\u3001\u6587\u6863\u805a\u7c7b\uff0c\u5c24\u5176\u5728\u7279\u5f81\u8868\u793a\u4e3a\u8bcd\u5411\u91cf\u65f6\u3002<\/li>\n\n\n\n<li>\u66fc\u54c8\u987f\u8ddd\u79bb\uff08L1 \u8ddd\u79bb\uff09<br>\u5b9a\u4e49\uff1a\u8ba1\u7b97\u4e24\u70b9\u4e4b\u95f4\u5728\u5404\u4e2a\u7ef4\u5ea6\u4e0a\u7684\u7edd\u5bf9\u8ddd\u79bb\u4e4b\u548c\uff0c\u516c\u5f0f\u4e3a (d = \\sum |x_i &#8211; y_i|)\u3002<br>\u7279\u70b9\uff1a\u5bf9\u5f02\u5e38\u503c\u8f83\u4e3a\u7a33\u5065\u3002<br>\u9002\u7528\u573a\u666f\uff1a\u7279\u5f81\u7a7a\u95f4\u7a00\u758f\u7684\u60c5\u51b5\uff0c\u6216\u8005\u5f53\u7279\u5f81\u4e4b\u95f4\u6709\u660e\u786e\u7684\u7edd\u5bf9\u503c\u610f\u4e49\u65f6\u3002<\/li>\n\n\n\n<li>\u6770\u5361\u5fb7\u76f8\u4f3c\u5ea6<br>\u5b9a\u4e49\uff1a\u8ba1\u7b97\u4e24\u4e2a\u96c6\u5408\u7684\u4ea4\u96c6\u4e0e\u5e76\u96c6\u7684\u6bd4\u7387\uff0c\u516c\u5f0f\u4e3a ( J(A, B) = \\frac{|A \\cap B|}{|A \\cup B|} )\u3002<br>\u7279\u70b9\uff1a\u9002\u7528\u4e8e\u96c6\u5408\u6570\u636e\uff0c\u5f3a\u8c03\u5143\u7d20\u7684\u5b58\u5728\u4e0e\u5426\u3002<br>\u9002\u7528\u573a\u666f\uff1a\u63a8\u8350\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u884c\u4e3a\u76f8\u4f3c\u5ea6\u3001\u6587\u6863\u53bb\u91cd\u7b49\u3002<\/li>\n\n\n\n<li>\u76ae\u5c14\u900a\u76f8\u5173\u7cfb\u6570<br>\u5b9a\u4e49\uff1a\u8861\u91cf\u4e24\u4e2a\u53d8\u91cf\u4e4b\u95f4\u7684\u7ebf\u6027\u5173\u7cfb\u5f3a\u5ea6\uff0c\u8ba1\u7b97\u516c\u5f0f\u4e3a ( r = \\frac{cov(X, Y)}{\\sigma_X \\sigma_Y} )\u3002<br>\u7279\u70b9\uff1a\u5bf9\u5747\u503c\u548c\u6807\u51c6\u5dee\u8fdb\u884c\u4e86\u5f52\u4e00\u5316\u5904\u7406\uff0c\u9002\u5408\u8861\u91cf\u7ebf\u6027\u5173\u7cfb\u3002<br>\u9002\u7528\u573a\u666f\uff1a\u7528\u6237\u8bc4\u5206\u6570\u636e\u7684\u76f8\u5173\u6027\u5206\u6790\uff0c\u9002\u7528\u4e8e\u63a8\u8350\u7cfb\u7edf\u4e2d\u7684\u534f\u540c\u8fc7\u6ee4\u3002<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u516b\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">TSDB<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4ec0\u4e48\u662f\u65f6\u5e8f\u6570\u636e\u5e93\uff08TSDB\uff09\uff1f<\/strong><\/h3>\n\n\n\n<p>\u65f6\u5e8f\u6570\u636e\u5e93\uff08TSDB\uff09\u662f\u4e13\u95e8\u4e3a\u5904\u7406\u5e26\u6709\u65f6\u95f4\u6233\u7684\u6570\u636e\uff08\u5373\u65f6\u5e8f\u6570\u636e\uff09\u800c\u4f18\u5316\u7684\u6570\u636e\u5e93\u3002\u65f6\u5e8f\u6570\u636e\u6307\u7684\u662f\u968f\u65f6\u95f4\u53d8\u5316\u7684\u6d4b\u91cf\u6216\u4e8b\u4ef6\u3002\u4f8b\u5982\uff0c\u670d\u52a1\u5668\u7684\u6027\u80fd\u76d1\u63a7\u3001\u7f51\u7edc\u6570\u636e\u3001\u4f20\u611f\u5668\u6570\u636e\u3001\u70b9\u51fb\u4e8b\u4ef6\u3001\u5e02\u573a\u4ea4\u6613\u7b49\uff0c\u90fd\u662f\u65f6\u5e8f\u6570\u636e\u7684\u5178\u578b\u4f8b\u5b50\u3002\u65f6\u5e8f\u6570\u636e\u5e93\u4e3b\u8981\u7528\u4e8e\u5904\u7406\u8fd9\u4e9b\u4e0e\u65f6\u95f4\u76f8\u5173\u7684\u5ea6\u91cf\u548c\u4e8b\u4ef6\u6570\u636e\u3002<\/p>\n\n\n\n<p><strong>\u7279\u70b9\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65f6\u5e8f\u6570\u636e\u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u3001\u6570\u636e\u603b\u7ed3\u548c\u5bf9\u5927\u91cf\u8bb0\u5f55\u7684\u626b\u63cf\uff0c\u4f7f\u5f97\u65f6\u5e8f\u6570\u636e\u4e0d\u540c\u4e8e\u5176\u4ed6\u6570\u636e\u7c7b\u578b\u3002<\/li>\n\n\n\n<li>TSDB \u4f18\u5316\u4e86\u5bf9\u65f6\u95f4\u76f8\u5173\u6570\u636e\u7684\u7ba1\u7406\uff0c\u80fd\u591f\u9ad8\u6548\u5904\u7406\u968f\u65f6\u95f4\u53d8\u5316\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u5177\u4f53\u800c\u8a00\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6709\u5b58\u6d3b\u72b6\u6001\uff0c\u8bbe\u7f6e\u4e86\u5b58\u6d3b\u65f6\u95f4<\/li>\n\n\n\n<li>\u683c\u5f0f\u7b80\u5355<\/li>\n\n\n\n<li>\u5b58\u50a8\u65f6\u6839\u636e\u5dee\u503c\uff0c\u8fdb\u4e00\u6b65\u538b\u7f29<\/li>\n\n\n\n<li>\u6240\u6709\u6570\u636e\u90fd\u6709\u65f6\u95f4\u6233<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u65f6\u5e8f\u6570\u636e\u5e93\u7684\u91cd\u8981\u6027<\/strong><\/h3>\n\n\n\n<p>\u5982\u4eca\uff0c\u51e0\u4e4e\u6240\u6709\u7269\u7406\u4e16\u754c\u7684\u8868\u9762\u90fd\u6709\u4f20\u611f\u5668\uff0c\u57ce\u5e02\u7684\u8857\u9053\u3001\u5de5\u5382\u3001\u536b\u661f\u3001\u8863\u7269\u3001\u624b\u673a\u7b49\u90fd\u5728\u4e0d\u65ad\u5730\u4ea7\u751f\u65f6\u5e8f\u6570\u636e\u3002\u8fd9\u4e9b\u6570\u636e\u91cf\u5927\u3001\u6765\u6e90\u591a\u3001\u76d1\u63a7\u9700\u6c42\u5f3a\uff0c\u4f20\u7edf\u6570\u636e\u5e93\u5f88\u96be\u5e94\u5bf9\u5982\u6b64\u5e9e\u5927\u7684\u6570\u636e\u5904\u7406\u9700\u6c42\u3002\u4e3a\u6b64\uff0c\u9700\u8981\u4e00\u79cd\u5177\u6709\u9ad8\u6027\u80fd\u3001\u53ef\u6269\u5c55\u3001\u4e13\u4e3a\u65f6\u5e8f\u6570\u636e\u8bbe\u8ba1\u7684\u65f6\u5e8f\u6570\u636e\u5e93\u3002<\/p>\n\n\n\n<p>\u65f6\u5e8f\u6570\u636e\uff1a\u6bd4\u5982\u8bf4\u4e00\u4e2a\u5730\u56fe\uff0c\u6211\u8fd9\u662f\u4e00\u4e2a\uff0c\u6bd4\u5982\u8bf4\u4e00\u4e2a\u82b1\u56ed\uff0c\u6211\u5728\u91cc\u9762\u5e03\u4e86\u5f88\u591a\u7684\u4f20\u611f\u5668\uff0c\u8fd9\u4e9b\u4f20 \u611f\u5668\u5c31\u662f\u5b83\u7684\u6e29\u5ea6\u548c\u6e7f\u5ea6\uff0c\u6211\u6765\u505a\u8fd9\u4e2a\u81ea\u52a8\u6d47\u704c\uff0c\u7136\u540e\u4ed6\u4eec\u5c31\u4f1a\u6e90\u6e90\u4e0d\u65ad\u7684\u4ea7\u751f\u6570\u636e\uff0c\u6211\u8981\u628a\u5b83\u5b58 \u8d77\u6765\uff0c\u90a3\u53ef\u4ee5\u770b\u5230\u5b83\u4eec\u6e90\u6e90\u4e0d\u65ad\u4ea7\u751f\u6570\u636e\uff0c\u4e8e\u662f\u6211\u4eec\u770b\u5230\u8fd9\u6570\u636e\u6709\u51e0\u4e2a\u7279\u5f81\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7b2c\u4e00\u4e2a\uff1a\u8fd9\u4e2a\u6570\u636e\u53ea\u8981\u4f60\u5f80\u4e0a\u53d1\uff0c\u5b83\u4e00\u5b9a\u5e26\u4e00\u4e2a\u65f6\u95f4\u6233\uff0c\u6211\u8981\u77e5\u9053\u4f60\u8fd9\u4e2a\u6570\u636e\u662f\u4ec0\u4e48\u65f6\u95f4\u53d1\u4e0a \u6765\uff1f\u8fd9\u662f\u7b2c\u4e00\u4e2a\u95ee\u9898\u3002 <\/li>\n\n\n\n<li>\u7b2c\u4e8c\u4e2a\uff1a\u4f60\u4e00\u5b9a\u4f1a\u6709\u5927\u91cf\u7684\u8fd9\u79cd\u4f20\u611f\u5668\u5728\u4f20\u6570\u636e\uff0c\u6240\u4ee5\u5b83\u5fc5\u987b\u8981\u652f\u6301\u8fd9\u79cd\u9ad8\u5e76\u53d1\uff0c\u5c31\u541e\u5410\u91cf\u8981 \u5927\uff0c\u8fd9\u79cd\u541e\u5410\u91cf\u5fc5\u987b\u8981\u5927\u624d\u80fd\u652f\u6301\u9ad8\u5e76\u53d1\u3002 <\/li>\n\n\n\n<li>\u7b2c\u4e09\u4e2a\uff1a\u4f60\u8bf4\u4f20\u611f\u5668\u5982\u679c\u4ed6\u5728\u62a5\u6570\u636e\uff0c\u4ed6\u5076\u5c14\u4e22\u6389\u4e00\u4e24\u4e2a\u6216\u8005\u4e00\u4e24\u4e2a\u4e0d\u592a\u51c6\uff0c\u5b83\u4f1a\u4e0d\u4f1a\u5f71\u54cd\u4f60 \u7684\u8fd9\u4e2a\u6570\u636e\u6574\u4f53\u7684\u6548\u679c\uff1f \u5c31\u662f\u4ed6\u5982\u679c\u8bf4\u6bcf\u4e00\u79d2\u949f\u90fd\u62a5\u4e00\u4e2a\u6570\u636e\uff0c\u5728\u67d0\u4e00\u79d2\u4ed6\u7a81\u7136\u4e22\u4e86\u4e00\u4e2a\u6570\u636e\uff0c\u5b83\u4f1a\u4e0d\u4f1a\u5f71\u54cd\u4f60\u505a\u7edf\u8ba1 \u7684\u6548\u679c\uff1f\u5c31\u7406\u8bba\u4e0a\u6765\u8bf4\uff0c\u5b83\u91cc\u9762\u7684\u6570\u636e\u5141\u8bb8\u5c11\u91cf\u7684\u4e0d\u51c6\u786e\u6216\u8005\u662f\u7f3a\u5931\uff0c\u4e5f\u5c31\u662f\u8bf4\u5b83\u7684\u6570\u636e\u548c\u90a3 \u79cd transaction \u7684\u6570\u636e\u5c31\u5f62\u6210\u4e86\u9c9c\u660e\u7684\u5bf9\u6bd4\u3002 <\/li>\n\n\n\n<li>\u7b2c\u56db\u4e2a\uff1a\u5c31\u662f\u5176\u5b9e\u6211\u4eec\u5bf9\u5355\u70b9\u7684\u6570\u636e\u662f\u4e0d\u611f\u5174\u8da3\u7684\uff0c\u4f60\u8bf4\u6211\u8981\u77e5\u9053\u67d0\u4e00\u4e2a\u65f6\u95f4\u70b9\uff0c\u8fd9\u91cc\u9762\u6bcf\u4e00 \u79d2\u90fd\u8981\u53d1\u6570\u636e\uff0c\u6211\u8981\u77e5\u9053\u5728\u67d0\u4e00\u79d2\u7684\u6570\u636e\uff0c\u8fd9\u4e2a\u80af\u5b9a\u4f60\u4e0d\u592a\u5173\u5fc3\uff0c\u4f60\u5173\u5fc3\u7684\u662f\u4e00\u4e2a\u65f6\u95f4\u533a\u95f4 \u5185\uff0c\u6bd4\u5982\u8bf4\u5728\u4e00\u5c0f\u65f6\u5185\u5b83\u7684\u6570\u636e\u4ec0\u4e48\u6837\u7684\uff0c\u6211\u8981\u53bb\u6c42\u548c\u3002\u6240\u4ee5\u5728\u6301\u7eed\u6570\u636e\u5e93\u91cc\uff0c\u4ed6\u5bf9\u5355\u70b9\u6570\u636e \u7684\u8bbf\u95ee\u4e0d\u4f1a\u7279\u522b\u591a\uff0c\u4ed6\u7ecf\u5e38\u505a\u7684\u662f\u5bf9\u4e00\u5757\u6570\u636e\uff0c\u5c24\u5176\u662f\u65f6\u95f4\u7247\u5212\u5206\u51fa\u6765\u7684\u4e00\u6bb5\u6570\u636e\uff0c\u4ed6\u8981\u53bb\u505a \u4e00\u4e2a\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6574\u4f53\u7684\u5b58\u653e\u662f\u7528\u4e86\u7c7b\u4f3clsm\u65e5\u5fd7\u7ed3\u6784\u5408\u5e76\u6811\u7684\u7ed3\u6784\uff1b\u65f6\u5e8f\u6570\u636e\u5e93\u7684\u751f\u547d\u5468\u671f\u4e00\u822c\u6bd4\u8f83\u77ed\uff0c\u6bd4\u5982\u4e00\u4e2a \u4f20\u611f\u5668\uff0c\u53ef\u80fd\u6211\u4eec\u53ea\u5173\u5fc3\u6700\u8fd1\u4e00\u5468\u7684\u6216\u8005\u4e00\u4e2a\u6708\u7684\u6570\u636e\uff0c\u8d85\u8fc7\u7684\u65f6\u95f4\u7684\u6570\u636e\u5c31\u53ef\u4ee5\u5220\u9664\uff08\u6bd4\u5982\u5f53\u6389 \u5230L0\u4ee5\u4e0b\uff0c\u6211\u4eec\u5c31\u5c06\u5176\u538b\u7f29\uff0c\u751a\u81f3\u5220\u9664\uff09\u3002\uff08\u7c7b\u6bd4\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u8ba2\u5355\u6570\u636e\uff0c\u8ba2\u5355\u6570\u636e\u5fc5\u987b\u8981\u6301\u4e45 \u5316\u4fdd\u5b58\uff0c\u4f46\u662f\u8fd9\u79cd\u65f6\u5e8f\u6570\u636e\u5e93\u53ef\u4ee5\u901a\u8fc7\u6458\u8981\u538b\u7f29\u4e00\u4e0b\uff0c\u6216\u8005\u76f4\u63a5\u5220\u6389\uff09<\/li>\n\n\n\n<li>\u4e0d\u592a\u53ef\u80fd\u4f1a\u5efa\u7acb\u7d22\u5f15\uff0c\u4f8b\u5982\u8bb0\u5f55\u6e29\u5ea6\u968f\u65f6\u95f4\u7684\u53d8\u5316\uff0c\u4e00\u822c\u4e0d\u4f1a\u6709\u5fc5\u8981\u5efa\u7acb\u7d22\u5f15\uff08\u6bd4\u5982\u5efa\u4e2a\u6e29\u5ea6\u5728\u65f6 \u95f4\u7684\u7d22\u5f15\uff0c\u8fd9\u6ca1\u6709\u610f\u4e49\uff09<\/li>\n\n\n\n<li>\u5bf9\u4e8e\u65f6\u5e8f\u6570\u636e\u5e93\u63a5\u53d7\u7684\u6570\u636e\u7684\u7279\u70b9\uff1a\u66f4\u591a\u7684\u6570\u636e\u70b9\uff0c\u66f4\u591a\u7684\u6570\u636e\u6e90\uff0c\u66f4\u591a\u7684\u76d1\u63a7\uff0c\u66f4\u591a\u7684\u63a7\u5236.<\/li>\n<\/ul>\n\n\n\n<p>\u4f18\u5316\uff1a1.\u53ef\u4ee5\u4e0d\u8bb0\u5f55\u65f6\u95f4\u6233\uff1a\u5982\u679c\u4f20\u8f93\u6765\u7684\u6570\u636e\u6bd4\u8f83\u7a33\u5b9a\u7684\u8bdd\uff0c\u4f8b\u5982\u6bcf\u79d21\u4e2a\u6570\u636e\uff0c\u6211\u53ef\u4ee5\u8bb0\u5f55\u67d0\u4e00\u4e2a\u7279\u5b9a \u6570\u636e\uff08\u6bd4\u5982\u5f00\u59cb\u7684\u6570\u636e\u7684\u65f6\u95f4\u6233\uff09\u7136\u540e\u540e\u9762\u6bcf\u79d2\u8bb0\u5f55\u4e00\u4e2a\u6570\u636e\u5c31\u597d\u30022.\u53ef\u4ee5\u8bb0\u5f55\u6570\u636e\u7684\u589e\u91cf\uff1a\u6bd4\u5982\u8bb0\u5f55\u6e29\u5ea6\uff0c\u53d8\u5316\u6bd4\u8f83\u5c0f\u3002\u6211\u5c31\u8bb0\u5f55\u76f8\u6bd4\u4e0a\u4e00\u4e2a\u6570\u636e\u589e\u52a0\u6216\u8005\u51cf\u5c11\u4e86\u591a\u5c11 \u5ea6\u3002\u8fd9\u6837\u5b58\u50a8\u7684\u6570\u636e\u7684\u7a7a\u95f4\u5f97\u4ee5\u8282\u7701\u4e86\uff0c\u6240\u4ee5\u53ef\u4ee5\u5b58\u66f4\u591a\u7684\u6570\u636e\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>InfluxDB <\/strong><\/h2>\n\n\n\n<p>InfluxDB \u662f\u4e00\u4e2a\u4e13\u95e8\u4e3a\u65f6\u5e8f\u6570\u636e\u6784\u5efa\u7684\u5e73\u53f0\uff0c\u65e8\u5728\u5904\u7406\u7531\u4f20\u611f\u5668\u3001\u5e94\u7528\u7a0b\u5e8f\u548c\u57fa\u7840\u8bbe\u65bd\u751f\u6210\u7684\u5927\u91cf\u65f6\u95f4\u6233\u6570\u636e\u3002\u5b83\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u6784\u5efa\u7528\u4e8e\u5206\u6790\u3001\u7269\u8054\u7f51\uff08IoT\uff09\u548c\u4e91\u539f\u751f\u670d\u52a1\u7684\u5b9e\u65f6\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<p><strong>\u6838\u5fc3\u7279\u6027\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5904\u7406\u5927\u89c4\u6a21\u3001\u9ad8\u9891\u7387\u7684\u65f6\u5e8f\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u9002\u7528\u4e8e\u9700\u8981\u9ad8\u6027\u80fd\u548c\u53ef\u6269\u5c55\u6027\u7684\u5e94\u7528\u573a\u666f\uff0c\u5982 IoT\u3001\u4e91\u8ba1\u7b97\u7b49\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>InfluxDB \u7684\u6838\u5fc3\u6982\u5ff5<\/strong><\/h3>\n\n\n\n<p>InfluxDB \u4f7f\u7528\u591a\u4e2a\u5143\u7d20\u6765\u5b58\u50a8\u548c\u7ba1\u7406\u6570\u636e\u3002\u4e3b\u8981\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u65f6\u95f4\u6233\uff08Timestamp\uff09<\/strong>\uff1a\u6240\u6709\u6570\u636e\u90fd\u5305\u542b\u65f6\u95f4\u6233\uff0c\u8868\u793a\u6570\u636e\u8bb0\u5f55\u7684\u65f6\u95f4\u3002InfluxDB \u4f7f\u7528 RFC3339 UTC \u683c\u5f0f\u663e\u793a\u65f6\u95f4\uff0c\u5e76\u652f\u6301\u7eb3\u79d2\u7ea7\u522b\u7684\u7cbe\u5ea6\u3002<\/li>\n\n\n\n<li><strong>\u6d4b\u91cf\uff08Measurement\uff09<\/strong>\uff1a\u6d4b\u91cf\u662f\u6570\u636e\u7684\u5bb9\u5668\uff0c\u5305\u542b\u65f6\u95f4\u6233\u3001\u6807\u7b7e\u3001\u5b57\u6bb5\u7b49\u4fe1\u606f\u3002\u901a\u8fc7\u6d4b\u91cf\u540d\u79f0\u53ef\u4ee5\u6e05\u6670\u5730\u63cf\u8ff0\u6570\u636e\u7684\u5185\u5bb9\uff08\u4f8b\u5982 &#8220;census&#8221; \u8bb0\u5f55\u7684\u662f\u5173\u4e8e\u871c\u8702\u548c\u8682\u8681\u7684\u6570\u91cf\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5b57\u6bb5\uff08Fields\uff09<\/strong>\uff1a\u5b57\u6bb5\u5305\u62ec\u5b57\u6bb5\u952e\uff08field key\uff09\u548c\u503c\uff08field value\uff09\u3002\u5b57\u6bb5\u503c\u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\u3001\u6d6e\u52a8\u503c\u3001\u6574\u6570\u6216\u5e03\u5c14\u503c\u3002<\/li>\n\n\n\n<li><strong>\u5b57\u6bb5\u952e\uff08Field Key\uff09<\/strong>\uff1a\u5b57\u6bb5\u7684\u540d\u79f0\u3002<\/li>\n\n\n\n<li><strong>\u5b57\u6bb5\u503c\uff08Field Value\uff09<\/strong>\uff1a\u5b57\u6bb5\u7684\u503c\u3002<\/li>\n\n\n\n<li><strong>\u6807\u7b7e\uff08Tags\uff09<\/strong>\uff1a\u6807\u7b7e\u662f\u5143\u6570\u636e\u7684\u96c6\u5408\uff0c\u5305\u62ec\u6807\u7b7e\u952e\uff08tag key\uff09\u548c\u6807\u7b7e\u503c\uff08tag value\uff09\u3002\u6807\u7b7e\u88ab\u7d22\u5f15\uff0c\u56e0\u6b64\u5728\u67e5\u8be2\u65f6\u901f\u5ea6\u8f83\u5feb\uff0c\u9002\u5408\u5b58\u50a8\u5e38\u67e5\u8be2\u7684\u5143\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6807\u7b7e\u952e\uff08Tag Key\uff09<\/strong>\uff1a\u8868\u793a\u6807\u7b7e\u7684\u7c7b\u522b\uff0c\u5982 &#8220;location&#8221; \u548c &#8220;scientist&#8221;\u3002<\/li>\n\n\n\n<li><strong>\u6807\u7b7e\u503c\uff08Tag Value\uff09<\/strong>\uff1a\u6807\u7b7e\u952e\u7684\u5177\u4f53\u503c\uff0c\u5982 &#8220;klamath&#8221; \u548c &#8220;portland&#8221;\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>InfluxDB \u7684\u8bbe\u8ba1\u539f\u5219<\/strong><\/h3>\n\n\n\n<p>InfluxDB \u5728\u8bbe\u8ba1\u65f6\u8003\u8651\u4e86\u4ee5\u4e0b\u51e0\u4e2a\u539f\u5219\uff0c\u65e8\u5728\u4f18\u5316\u65f6\u5e8f\u6570\u636e\u7684\u5904\u7406\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u65f6\u95f4\u987a\u5e8f\u7684\u6570\u636e\u5199\u5165<\/strong>\uff1a\u4e3a\u4e86\u63d0\u9ad8\u6027\u80fd\uff0cInfluxDB \u5f3a\u5236\u6570\u636e\u6309\u65f6\u95f4\u5347\u5e8f\u5199\u5165\u3002<\/li>\n\n\n\n<li><strong>\u4e25\u683c\u7684\u66f4\u65b0\u548c\u5220\u9664\u6743\u9650<\/strong>\uff1a\u4e3a\u63d0\u9ad8\u67e5\u8be2\u548c\u5199\u5165\u6027\u80fd\uff0cInfluxDB \u9650\u5236\u4e86\u5bf9\u6570\u636e\u7684\u66f4\u65b0\u548c\u5220\u9664\u64cd\u4f5c\u3002\u65f6\u5e8f\u6570\u636e\u901a\u5e38\u662f\u4e00\u6b21\u6027\u5199\u5165\uff0c\u4e0d\u9700\u8981\u9891\u7e41\u66f4\u65b0\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5148\u5904\u7406\u8bfb\u5199\u8bf7\u6c42<\/strong>\uff1aInfluxDB \u4f18\u5148\u5904\u7406\u8bfb\u5199\u8bf7\u6c42\uff0c\u800c\u4e0d\u662f\u5f3a\u4e00\u81f4\u6027\u4fdd\u8bc1\u3002\u8fd9\u610f\u5473\u7740\u67e5\u8be2\u53ef\u80fd\u4e0d\u4f1a\u5305\u62ec\u6700\u65b0\u7684\u6570\u636e\uff0c\u4f46\u6700\u7ec8\u6570\u636e\u4f1a\u8fbe\u5230\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u6a21\u5f0f\u8bbe\u8ba1\uff08Schemaless Design\uff09<\/strong>\uff1aInfluxDB \u91c7\u7528\u65e0\u6a21\u5f0f\u8bbe\u8ba1\uff0c\u66f4\u7075\u6d3b\u5730\u7ba1\u7406\u4e0d\u8fde\u7eed\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u96c6\u4f18\u4e8e\u5355\u4e2a\u70b9<\/strong>\uff1a\u7531\u4e8e\u65f6\u5e8f\u6570\u636e\u7684\u6bcf\u4e2a\u70b9\u5728\u6574\u4f53\u6570\u636e\u96c6\u4e2d\u7684\u4f5c\u7528\u8f83\u5c0f\uff0c\u56e0\u6b64 InfluxDB \u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u805a\u5408\u5de5\u5177\u6765\u5904\u7406\u5927\u91cf\u6570\u636e\uff0c\u6240\u4ee5\u6ca1\u6709ID\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5c31\u662f\u6309\u7167\u65f6\u95f4\u6233\u53bb\u62ff\uff1b\u5bf9\u4e8e\u591a\u4e2a\u65f6\u95f4\u70b9\u91cd\u590d\u6570\u636e\uff0c\u4e0d\u4f1a\u5b58\u4e24\u6b21\uff08\u51cf\u5c11\u5360\u7528\uff09<\/li>\n\n\n\n<li><strong>\u5e42\u7b49\u6027<\/strong>\u3002\u5e94\u7528\u573a\u666f\u91cc\u9762\u5c31\u662f\u5927\u91cf\u7684\u4f20\u611f\u5668\uff0c\u4f1a\u628a\u5927\u91cf\u7684\u6570\u636e\u901a\u8fc7\u4e0d\u53ef\u9760\u7684\u6216\u8005\u4e0d\u90a3\u4e48\u53ef\u9760\u7684\u7f51\u7edc\u4f20 \u9012\u8fc7\u6765\uff0c\u90a3\u6211\u5c31\u4e0d\u80fd\u4fdd\u8bc1\u5b83\u6ca1\u6709\u88ab\u53d1\u9001\u591a\u6b21\uff0c\u4f46\u662f\u5b83\u53d1\u9001\u591a\u6b21\u5b83\u4e5f\u4e0d\u80fd\u5bf9\u6211\u7684\u6570\u636e\u5e93\u4ea7\u751f\u5f71\u54cd\uff0c\u6211 \u53ea\u5b58\u4e00\u4e2a\uff08\u6839\u636e\u65f6\u95f4\u6233\uff09\u3002\u6bd4\u5982\u9664\u4e86value\u4e4b\u5916\u7684\u90e8\u5206\u6570\u636e\u90fd\u662f\u76f8\u540c\u7684\uff0c\u8fd9\u6837\u7684\u6570\u636e\u63d0\u4ea4\u4e86\u4e09\u6b21\uff0c \u4e0d\u4f1a\u50cfmysql\u4e00\u6837\u63d2\u5165\u4e09\u884c\u76f8\u540c\u7684\u6570\u636e\uff0cInluxDB\u4f1a\u7528\u6700\u65b0\u7684\u4e00\u4e2a\u6570\u636e\u5b58\u50a8\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>InfluxDB \u7684\u5b58\u50a8\u5f15\u64ce<\/strong><\/h3>\n\n\n\n<p>InfluxDB \u7684\u5b58\u50a8\u5f15\u64ce\u786e\u4fdd\u6570\u636e\u5b89\u5168\u3001\u67e5\u8be2\u7ed3\u679c\u51c6\u786e\u5e76\u4e14\u5177\u6709\u8f83\u597d\u7684\u6027\u80fd\u3002\u5b58\u50a8\u5f15\u64ce\u7684\u7ec4\u6210\u90e8\u5206\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5199\u524d\u65e5\u5fd7\uff08WAL\uff09<\/strong>\uff1a\u7528\u4e8e\u786e\u4fdd\u6570\u636e\u7684\u6301\u4e45\u6027\u3002<\/li>\n\n\n\n<li><strong>\u7f13\u5b58\uff08Cache\uff09<\/strong>\uff1a\u6570\u636e\u9996\u5148\u5199\u5165\u5185\u5b58\u7f13\u5b58\uff0c\u5e76\u4e14\u53ef\u4ee5\u7acb\u5373\u8fdb\u884c\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>\u65f6\u95f4\u7ed3\u6784\u5408\u5e76\u6811\uff08TSM\uff09<\/strong>\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u538b\u7f29\u6570\u636e\uff0c\u4ee5\u63d0\u9ad8\u67e5\u8be2\u6548\u7387\u3002\n<ul class=\"wp-block-list\">\n<li>\u5b58\u50a8\u7684\u662f\u5dee\u503c\uff0cdelta\u53d8\u5316\uff08\u9488\u5bf9\u4e8e\u67d0\u4e00\u4e2a\u70b9\u7684\u521d\u59cb\u503c\uff09<\/li>\n\n\n\n<li>\u6309\u7167\u65f6\u5e8f\u7684key\u53bb\u627e<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65f6\u5e8f\u7d22\u5f15\uff08TSI\uff09<\/strong>\uff1a\u7528\u4e8e\u52a0\u901f\u65f6\u5e8f\u6570\u636e\u7684\u7d22\u5f15\u548c\u67e5\u8be2\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>InfluxDB \u6570\u636e\u5199\u5165\u8fc7\u7a0b<\/strong><\/h3>\n\n\n\n<p>\u5f53\u6570\u636e\u901a\u8fc7 API \u88ab\u5199\u5165 InfluxDB \u65f6\uff08\u7528\uff09\uff0c\u6570\u636e\u9996\u5148\u88ab\u5199\u5165\u5230 WAL \u4e2d\uff0c\u7136\u540e\u88ab\u538b\u7f29\u5e76\u5199\u5165\u78c1\u76d8\u3002\u5728\u5185\u5b58\u7f13\u5b58\u4e2d\uff0c\u6570\u636e\u662f\u7acb\u5373\u53ef\u67e5\u8be2\u7684\uff0c\u7f13\u5b58\u5b9a\u671f\u5199\u5165\u78c1\u76d8\u3002\u968f\u7740 TSM \u6587\u4ef6\u7684\u79ef\u7d2f\uff0c\u5b83\u4eec\u4f1a\u88ab\u5408\u5e76\u548c\u538b\u7f29\u6210\u66f4\u9ad8\u5c42\u6b21\u7684 TSM \u6587\u4ef6\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>InfluxDB \u7684\u6570\u636e\u7ed3\u6784\u4f18\u5316<\/strong><\/h3>\n\n\n\n<p>InfluxDB \u63d0\u4f9b\u4e86\u9488\u5bf9\u6570\u636e\u6a21\u578b\u4f18\u5316\u7684\u5de5\u5177\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Series<\/strong>\uff1a\u4e00\u4e2a\u7cfb\u5217\u662f\u5177\u6709\u76f8\u540c\u6d4b\u91cf\u3001\u6807\u7b7e\u96c6\u548c\u5b57\u6bb5\u952e\u7684\u70b9\u96c6\u5408\u3002\u7cfb\u5217\u5e2e\u52a9\u5206\u7ec4\u5177\u6709\u76f8\u4f3c\u5c5e\u6027\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>Point<\/strong>\uff1a\u4e00\u4e2a\u6570\u636e\u70b9\u5305\u62ec\u7cfb\u5217\u952e\u3001\u5b57\u6bb5\u503c\u548c\u65f6\u95f4\u6233\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u6570\u636e\u5b58\u50a8\u4e0e\u7ec4\u7ec7<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bucket\uff08\u6876\uff09<\/strong>\uff1aInfluxDB \u7684\u6570\u636e\u5b58\u50a8\u5355\u4f4d\uff0c\u7ed3\u5408\u4e86\u6570\u636e\u5e93\u548c\u6570\u636e\u4fdd\u7559\u671f\u7684\u6982\u5ff5\u3002\u6bcf\u4e2a\u6876\u90fd\u6709\u4e00\u4e2a\u7ec4\u7ec7\u548c\u4fdd\u7559\u671f\u8bbe\u7f6e\u3002<\/li>\n\n\n\n<li><strong>Organization\uff08\u7ec4\u7ec7\uff09<\/strong>\uff1a\u7ec4\u7ec7\u662f\u4e00\u4e2a\u7528\u6237\u7ec4\u7684\u5de5\u4f5c\u533a\uff0c\u6240\u6709\u7684\u4eea\u8868\u76d8\u3001\u4efb\u52a1\u3001\u6876\u548c\u7528\u6237\u90fd\u5c5e\u4e8e\u540c\u4e00\u4e2a\u7ec4\u7ec7\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Schema\u4f18\u5316<\/h3>\n\n\n\n<p>location\u548cscientist\u90fd\u662ftag\uff0c_field\u548c_value\u90fd\u662ffield\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fields\u4e0d\u53c2\u4e0e\u7d22\u5f15\uff0c\u5fc5\u987b\u626b\u63cf\u5168\u8868\uff1b\u5982\u679c\u7ecf\u5e38\u88ab\u8bbf\u95ee\uff0c\u4e0d\u9002\u5408\u4ee5\u8fd9\u79cd\u5f62\u5f0f\u5b58\u50a8\uff0c\u5c31\u5e94\u8be5\u4ee5tag\u7684\u5f62\u5f0f \u5b58\u50a8\u3002<\/li>\n\n\n\n<li>Tags\u53c2\u4e0e\u7d22\u5f15\uff0c\u5f53\u7136\u67e5\u8be2\u8d77\u6765\u5c31\u4f1a\u66f4\u5feb\u3002\u5f53\u7136\u7d22\u5f15\u672c\u8eab\u662f\u6709\u5f00\u9500\u7684\uff0c\u5e76\u4e14\u5982\u679c\u4f60\u8fdb\u884c\u5199\u64cd\u4f5c\uff0c\u7d22\u5f15 \u4e5f\u4f1a\u66f4\u65b0\uff0c\u5e26\u6765\u66f4\u591a\u5f00\u9500\u3002<\/li>\n<\/ul>\n\n\n\n<p>influx\u7684\u6570\u636e\u90fd\u662f\u4ee5append\u7684\u65b9\u5f0f\u5f80\u91cc\u52a0\uff08\u7c7b\u6bd4lsm\uff0c\u4f46\u662f\u5b9e\u9645\u4e0a\u53eb\u505a\u65f6\u95f4\u5e8f\u5217\u5408\u5e76\u6811\uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Storage Engine \u5b58\u50a8\u5f15\u64ce<\/h3>\n\n\n\n<p>\u6574\u4f53\u662fTSM\uff08Time Structured Merge Tree\uff09\u7ed3\u6784\uff0c\u7c7b\u4f3c\u4e8eLSM\u7684\u7ed3\u6784\u3002 \u843d\u5230\u6bd4\u8f83\u4e0b\u9762\u7684\u5c42\u5c31\u6309\u7167\u5217\u538b\u7f29\u3002\u4e3a\u4ec0\u4e48\u6309\u7167\u5217\u5b58\uff1f\u6211\u4eec\u5173\u5fc3\u7684\u662f\u7ed9\u5b9a\u65f6\u95f4\u6bb5\u5185\u5217\u7684value\uff0c\u6309\u7167\u5217 \u5b58\uff0c\u8fd9\u4e9b\u8baf\u606f\u5c31\u53ef\u4ee5\u8fde\u7eed\u5b58\u50a8\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Shard<\/h3>\n\n\n\n<p>\u6570\u636e\u91cf\u5927\u4e86\uff0cmongoDB\u4e2d\u5c31\u662f\u628a\u6570\u636e\u538b\u6210\u5f88\u591ashard\uff0cneo4j\u4e5f\u662f\u3002\u65f6\u5e8f\u6570\u636e\u5e93\u662f\u6700\u7b80\u5355\u7684\u7ebf\u6027\u8868\uff0c\u56e0 \u4e3a\u5e76\u4e0d\u5b58\u5728\u4ec0\u4e48\u8be1\u5f02\u7684\u5916\u952e\u5173\u8054\u8fd9\u79cd\uff0c\u76f4\u63a5\u5207\u5c31\u5b8c\u4e8b\u4e86\u3002<\/p>\n\n\n\n<p>1 \u4e2a bucket \u53ef\u4ee5\u5206\u6210\u82e5\u5e72\u4e2a shard group\uff0c\u8fd9\u4e2a shard group \u91cc\u9762\u53c8\u5206\u6210\u82e5\u5e72\u4e2ashard\u3002\u610f\u4e49\uff1f\u9996\u5148\u662f\u6211\u4eec\u53ef\u4ee5\u505a\u5206\u5e03\u5f0f\u5b58\u50a8\u3002\u8fd8\u6709\uff0c\u7c7b\u6bd4\u6211\u4eec\u5728\u5173\u7cfb\u578b\u6570\u636e\u5e93\u91cc\u770b\u5230\u90a3\u4e2apartition\uff0c\u5c31\u662f\u6211\u5982\u679c\u8981\u67e5\u67d0\u4e00\u5929\u7684\u6570\u636e\uff0c\u4f60\u4e0d\u7528\u53bb\u505a\u5168\u8868\u626b\u63cf\uff0c\u6216\u8005\u5efa\u4e00\u4e2a\u5168\u8868\u7684\u7d22\u5f15\u53bb\u505a\u5904\u7406\uff0c\u6211\u5c31\u5b9a\u4f4d\u5230\u8fd9\u4e2a shard group\u91cc\u53bb\u67e5\u627e\u3002\u5982\u679c\u8de8\u8d8a\u51e0\u5929\uff0c\u6211\u5c31\u67e5\u7b26\u5408\u7684\u4e24\u4e2a\u4e09\u4e2ashard group\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-463.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"261\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-463.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2181\"  sizes=\"auto, (max-width: 933px) 100vw, 933px\" \/><\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u5341\u4e5d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e91\u6570\u636e\u5e93\u7684\u6982\u5ff5\u548c\u7279\u70b9<\/h2>\n\n\n\n<p>\u4e91\u6570\u636e\u5e93\u7684\u4e00\u4e2a\u6700\u5927\u7684\u7279\u70b9\u662f\u4ec0\u4e48\uff1f\u6bd4\u5982\u8bf4\u5728\u534e\u4e3a\u7684\u673a\u623f\u91cc\u6709\u5f88\u591a\u5f88\u591a\u7684\u670d\u52a1\u5668\u62ff\u51fa\u6765\u53bb\u7ed9\u4f60\u7528\u4e86\uff0c\u7136 \u540e\u4f60\u4e5f\u522b\u7ba1\u5b83\u6709\u591a\u5c11\u7269\u7406\u670d\u52a1\u5668\uff0c\u4f60\u5c31\u8bf4\u6211\u9700\u8981\u4e00\u53f0\u865a\u62df\u673a\uff0c\u90a3\u7406\u8bba\u4e0a\u5c31\u662f\u8fd9\u4e2a\u673a\u623f\u91cc\u6240\u6709\u7684\u673a\u5668\u5168\u90e8 \u53ef\u4ee5\u7ed9\u4f60\u62ff\u6765\u7528\uff08\u6bd4\u5982\u652f\u6301\u5728\u7ebf\u5f39\u6027\u4f38\u7f29\uff09\uff0c\u4f60\u53ea\u8981\u6709\u94b1\u5c31\u53ef\u4ee5\u2014\u2014\u5bf9\u4f60\u6765\u8bf4\u5c31\u662f\u4f60\u4e0d\u8981\u7ba1\u8fd9\u4e2a\u673a\u623f\u91cc \u6709\u591a\u5c11\u673a\u5668\uff0c<strong>\u4f60\u773c\u775b\u91cc\u770b\u5230\u7684\u662f\u4e00\u53f0\u8d85\u7ea7\u8ba1\u7b97\u673a<\/strong>\u3002\u6211\u628a\u6240\u6709\u7684\u786c\u76d8\u5408\u5230\u4e00\u8d77\uff0c\u5f62\u6210\u4e86\u4e00\u4e2a\u7f51\u7edc\u6587\u4ef6\u7cfb \u7edf\uff0c\u6211\u518d\u628a\u673a\u5668\u4e0a\u8fd0\u884c\u7684\u8fd9\u4e9b CPU \u901a\u8fc7\u7f51\u7edc\u5408\u5728\u4e00\u8d77\uff0c\u5f62\u6210\u4e86\u4e00\u4e2a\u8d85\u7ea7CPU\u3002<\/p>\n\n\n\n<p>\u7136\u540e\u6211\u6240\u6709\u7684\u4efb\u52a1\u6765\u4e86\u4e4b\u540e\uff0c\u5c31\u5728\u8fd9\u4e9b CPU \u4e0a\u53bb\u8c03\u5ea6\uff0c\u5229\u7528\u5e95\u4e0b\u6240\u6709\u7684\u786c\u76d8\u5408\u8d77\u6765\u6784\u6210\u7684\u7f51\u7edc\u6587\u4ef6\u7cfb \u7edf\u53bb\u5b58\u50a8\u6570\u636e\uff0c\u8fd9\u5c31\u662f\u5b58\u50a8\u548c\u8ba1\u7b97\u7684\u5206\u79bb\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c31\u548c\u5927\u5bb6\u770b\u5230\u7684\u672c\u5730\u7684\u8ba1\u7b97\u673a\u4e0d\u4e00\u6837\uff0c\u751a\u81f3\u8ddf\u4f60\u672c\u5730\u641e\u4e86 5 \u53f0\u8ba1\u7b97\u673a\uff0c\u5927\u5bb6\u5efa\u4e00\u4e2a\u96c6\u7fa4\u4e5f\u4e0d\u4e00\u6837\u3002\u96c6 \u7fa4\u7684\u76ee\u7684\u662f\u505a\u4e3b\u4ece\u5907\u4efd\u2014\u2014\u4e00\u4e3b\u56db\u4ece\uff0c\u505a\u8bfb\u5199\u5747\u8d1f\u8f7d\u5747\u8861\uff0c\u4f46\u662f\u4f60\u90e8\u7f72\u4e3a\u4e00\u4e2a\u4e91\u7684\u8bdd\uff0c\u5728\u6211\u773c\u91cc\u770b\u5230\u7684 \u4e0d\u662f\u4e94\u53f0\u673a\u5668\uff0c\u662f\u4e00\u53f0\u673a\u5668\uff0c\u6240\u6709\u7684\u4efb\u52a1\u53ef\u4ee5\u5728\u8fd9\u4e0a\u9762\u53bb\u8fdb\u884c\u8c03\u5ea6\uff0c\u8fd9\u8ddf\u4f60\u4e94\u53f0\u673a\u5668\u5f7c\u6b64\u4e4b\u95f4\u9694\u79bb\uff0c\u7136 \u540e\u5927\u5bb6\u4e92\u76f8\u4e4b\u95f4\u53bb\u505a\u5907\u4efd\u662f\u4e0d\u4e00\u6837\u7684\u3002\u6240\u4ee5\u4ed6\u8fd9\u91cc\u5c31\u8bb2\u4e86\u6211\u4eec\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u5171\u4eab\u5b58\u50a8\u3002<\/p>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u662f\u5171\u4eab\u5b58\u50a8\uff1f\u5c31\u521a\u624d\u8bb2\u5b83\u662f\u4e00\u4e2a\u8d85\u5927\u7684\u4e00\u4e2a\u5b58\u50a8\uff0c\u4e00\u4e2a\u7f51\u76d8\uff0c\u7136\u540e\u5728\u8fd9\u4e2a\u57fa\u7840\u4e4b\u4e0a\u8981\u505a\u9ad8\u53ef\u7528\u7684 \u5bb9\u707e\uff0c\u5c31\u662f\u6211\u6240\u6709\u7684\u670d\u52a1\u5668\u6709\u53ef\u80fd\u4f1a\u51fa\u9519\uff0c\u4e00\u65e6\u51fa\u9519\u9a6c\u4e0a\u5c31\u6709\u5176\u4ed6\u7684\u9876\u4e0a\u6765\uff0c\u7136\u540e\u6211\u4efb\u52a1\u548c\u6570\u636e\u5c31\u505a\u4e00 \u6b21\u8fc1\u79fb\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GaussDB<\/h2>\n\n\n\n<p>GaussDB\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u6570\u636e\u5e93\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u534e\u4e3a\u7684openGauss\u4e0d\u662f\u4e91\u6570\u636e\u5e93\uff0c\u642c\u4e0a\u4e91GaussDB\u624d\u662f\u4e91\u6570\u636e\u5e93\u3002<\/li>\n\n\n\n<li>openGauss\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u3001\u9ad8\u5b89\u5168\u3001\u9ad8\u53ef\u9760\u6027\u7684\u4f01\u4e1a\u7ea7\u5f00\u6e90\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/li>\n\n\n\n<li>openGauss\u662f\u4e00\u4e2a\u5355\u8fdb\u7a0b\u591a\u7ebf\u7a0b\u7684\u67b6\u6784\uff0c\u4f46\u662fmySQL\u662f\u4e00\u4e2a\u591a\u8fdb\u7a0b\u7684\u67b6\u6784\uff0c\u5f88\u53ef\u80fd\u4e00\u4e2a\u6570\u636e\u5e93\u8fde \u63a5\u5c31\u5bf9\u5e94\u4e00\u4e2a\u8fdb\u7a0b\u3002\u4f7f\u7528\u5355\u8fdb\u7a0b\u7684\u8bdd\u53ef\u4ee5\u964d\u4f4e\u901a\u4fe1\u7684\u5f00\u9500\u3002\u591a\u8fdb\u884c\u9700\u8981\u4f7f\u7528\u5230\u8fdb\u7a0b\u95f4\u901a\u8baf\uff0c\u800c\u5355\u8fdb \u7a0b\u7684\u8bdd\u53ef\u4ee5\u4f7f\u7528\u5171\u4eab\u5185\u5b58\u7684\u65b9\u6cd5\u3002<\/li>\n\n\n\n<li>\u5355\u8868\u5927\u5c0f32TB\uff0c\u5355\u884c\u6570\u636e\u91cf\u652f\u63011GB<\/li>\n<\/ul>\n\n\n\n<p>\u5206\u5e03\u5f0f\u7684\u56f0\u96be\uff1f\u4e00\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff0c\u8981\u60f3\u505a\u5206\u5e03\u5f0f\u5c31\u5f88\u6076\u5fc3\u4e86\uff0c\u5c31\u56f0\u96be\u5728\u4f60\u628a\u6570\u636e\u600e\u4e48\u5b58\u50a8\u624d\u80fd\u8ba9\u8fd9\u4e2a \u6570\u636e\u5e93\u5b83\u7684\u6027\u80fd\u4f1a\u6bd4\u8f83\u9ad8\uff0c\u6bd4\u5982\u8bf4\u8981\u505a\u4e00\u4e2a\u67e5\u8be2\uff0c\u6b63\u597d\u8fd9\u4e2a\u67e5\u8be2\u6d89\u53ca\u5230\u6570\u636e\u5168\u90e8\u5b58\u5728\u4e0d\u540c\u7684\u8282\u70b9\u4e0a\uff0c\u90a3 \u4f60\u8981\u628a\u6570\u636e\u5168\u90e8\u7684\u6c47\u805a\u5230\u4e00\u4e2a\u5730\u65b9\uff0c\u8fd9\u5c31\u5f88\u6076\u5fc3\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-449-1024x453.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-449-1024x453.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1974\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">GaussDB\u7684\u5206\u5e03\u5f0f\u4f18\u5316\u5668<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-464.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"477\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-464.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2184\"  sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/div><\/figure>\n\n\n\n<p>\u4f60\u5199\u4e86\u4e00\u4e2a SQL \u7684\u67e5\u8be2\uff0c\u4ed6\u5c31\u5148\u505a\u8bed\u6cd5\u548c\u89e3\u6790\uff0c\u5c31\u770b\u4f60\u8981\u5e72\u5565\uff0c\u7136\u540e\u751f\u6210\u4e00\u68f5\u67e5\u8be2\u8ba1\u5212\u6811\u3002\u5b83\u7684\u6267\u884c \u6548\u7387\u5c31\u53ef\u80fd\u4e0d\u9ad8\uff0c\u6240\u4ee5\u5c31\u6839\u636e\u6211\u9884\u5148\u5b9a\u4e49\u597d\u7684\u4e00\u4e9b\u89c4\u5219\u53bb\u4f18\u5316\u3002<\/p>\n\n\n\n<p>\u4f18\u5316\u7684\u4e1c\u897f\u6709\u5305\u62ec\u4ec0\u4e48\u5462\uff1f\u6bd4\u5982\u5728\u5206\u5e03\u5f0f\u573a\u666f\u4e0b\uff0c\u6bd4\u5982\u8bf4\u6211\u6709\u4e24\u5f20\u8868\u53bb\u8fde\u63a5\uff0c\u90a3\u4f60\u53ef\u4ee5T1 \u8fde\u63a5T2\uff0c T2 \u53ef\u4ee5\u8fde\u63a5T1\u3002<\/p>\n\n\n\n<p>\u6240\u4ee5\u7ecf\u8fc7\u8fd9\u4e00\u7cfb\u5217\u7684\u4e1c\u897f\uff0c\u6700\u540e\u4f60\u4f1a\u53d1\u73b0\u4f60\u5199\u7684\u8fd9\u4e2a SQL \u8bed\u53e5\uff0c\u4f60\u53ef\u80fd\u538b\u6839\u90fd\u6ca1\u60f3\u8fc7\u6570\u636e\u662f\u5206\u5e03\u7684\uff0c \u7136\u540e\u8fd8\u6709\u4ec0\u4e48\u5c06\u6765\u80fd\u5e76\u884c\u7684\u3002\u4f46\u662f\u7ecf\u8fc7\u8fd9\u4e00\u7cfb\u5217\u7684\u5904\u7406\uff0c\u6700\u540e\u5b83\u4ea7\u751f\u7684\u662f\u5728\u591a\u4e2a\u673a\u5668\u4e0a\uff0c\u800c\u4e14\u662f\u5e76\u884c\u53bb \u6267\u884c\u7684\uff0c\u8fd9\u6837\u7684\u903b\u8f91\u5c31\u8ddf\u4f60\u5199\u7684\u4e0d\u4e00\u6837\u4e86\uff0c\u4e2d\u95f4\u7ecf\u8fc7\u4e86\u4e00\u7cfb\u5217\u7684\u4f18\u5316\uff0c\u5c31\u5728\u9632\u6b62\u4f60\u5199\u7684\u4e1c\u897f\u5f88\u70c2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GaussDB\u591a\u79df\u6237<\/h3>\n\n\n\n<p>\u5982\u679c\u5b58\u7684\u65f6\u5019\u6bcf\u4e00\u4e2a\u6570\u636e\u5e93\u90fd\u662f\u6240\u6709\u4eba\u5404\u81ea\u72ec\u5360\uff0c\u5b8c\u5168\u4e0d\u4e00\u6837\uff0c\u90a3\u4e48\u5e26\u6765\u7684\u4e00\u4e2a\u95ee\u9898\u662f\u6211\u8fd9\u4e2a\u5f88\u96be\u53bb\u7ef4 \u62a4\u3002\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5b83\u7684\u4e00\u4e2a\u57fa\u672c\u7684\u539f\u7406\u662f\uff1a\u5b83\u8981\u7528\u5230\u5fae\u4fe1\u672c\u8eab\u81ea\u5df1\u63d0\u4f9b\u7684\u90a3\u4e9b\u670d\u52a1\u53bb\u5f00\u53d1\u4ed6\u81ea\u5df1\u7684\u4e1c\u897f\u3002 \u90a3\u4e48\u5982\u679c\u6211\u8981\u662f\u770b\u5230\u6240\u6709\u7684\u8fd9\u4e9b\u5c0f\u7a0b\u5e8f\uff0c\u4ed6\u4eec\u90fd\u6709\u5404\u81ea\u5b8c\u5168\u4e0d\u540c\u7684\u6570\u636e\u7ed3\u6784\u53bb\u5b58\u50a8\uff0c\u7136\u540e\u8fd8\u8981\u6211\u5bf9\u4ed6\u4eec \u53bb\u8fdb\u884c\u652f\u6491\uff0c\u6211\u5c31\u4e00\u4e2a\u6570\u636e\u5e93\uff0c\u6211\u5982\u4f55\u4e3a\u6240\u6709\u7684\u5c0f\u7a0b\u5e8f\u670d\u52a1\uff1f<\/p>\n\n\n\n<p>\u6362\u53e5\u8bdd\u8bf4\uff0c<strong>\u4f60\u6709\u4e00\u4e2a\u6570\u636e\u5e93\u670d\u52a1\u5668\u7684\u5b9e\u4f8b\uff0c\u4f60\u7684\u4e1c\u897f\u53bb\u7ed9\u4e0d\u540c\u7684\u79df\u6237\uff0c\u4ed6\u4eec\u6bcf\u4e00\u4e2a\u4eba\u90fd\u5728\u4e0a\u9762\u53ef\u4ee5\u5b58\u4ed6\u4eec\u7684\u6570\u636e\uff0c\u4f46\u662f\u4ed6\u4eec\u5f7c\u6b64\u4e4b\u95f4\u90fd\u8ba4\u4e3a\u81ea\u5df1\u662f\u6709\u4e00\u4e2a\u72ec\u5360\u7684\u6570\u636e\u5e93\u3002<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-465-1024x577.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-465-1024x577.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2185\" style=\"width:660px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-450-1024x601.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-450-1024x601.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1976\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u8bbe\u6211\u73b0\u5728\u6709\u4e24\u4e2a\u5e94\u7528\uff0c\u4e00\u4e2a\u5e94\u7528\u8bf4\u6211\u8fd9\u4e2a\u6570\u636e\u5e93\u91cc\u9762\u8fd9\u4e2a\u8868\uff0c\u5b83\u5c31\u4e00\u5f20\u8868\uff0c\u4ed6\u8bf4\u6211\u7684\u5b57\u6bb5\u5206\u522b\u662fa\u3001b\u3001 c\u3001d\u3001e\u3002\u90a3\u6709\u53e6\u5916\u4e00\u4e2a\u7528\u6237\uff0c\u4ed6\u8bf4\u6211\u7684\u5b57\u6bb5\u662f\u8fd9\u6837\u7684\uff1aa\u3001b\u3001c\u3001d\u3001f\u3002\u5982\u4f55\u670d\u52a1\u8fd9\u4e24\u4e2a\u7528\u6237\uff1f<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7b2c\u4e00\u79cd\u65b9\u6cd5\uff1asingle table\uff0c\u6211\u53ea\u6709\u4e00\u5f20\u8868\uff0c\u6ca1\u6709\u4e2a\u6027\u5316\u7684\u4e1c\u897f\uff0c\u6700\u540e\u8868\u6709\u4e2a\u8868\u793aoid\uff08owner id\uff09\uff0c \u7528\u8fd9\u4e2a\u6807\u8bc6\u6765\u533a\u5206\u6570\u636e\u662f\u8c01\u7684\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u76f4\u63a5\u9694\u79bb\u4e86\u3002\u7f3a\u70b9\uff1aschema\u8981\u6c42\u662f\u4e00\u6837\u7684\uff0c\u4e0d\u652f\u6301\u4e2a \u6027\u5316\u4e86\uff0c\u4e8b\u52a1\u7684\u7ba1\u7406\u4e5f\u4f1a\u6bd4\u8f83\u590d\u6742\uff0c\u5e76\u53d1\u91cf\u9ad8\uff0c\u8bbf\u95ee\u6027\u80fd\u5c31\u4f1a\u4e0b\u964d\u3002<\/li>\n\n\n\n<li>\u7b2c\u4e8c\u79cd\u65b9\u6cd5\uff1a\u4e0d\u662f\u4e00\u5f20\u8868\u3002\u7b2c\u4e00\u5f20\u8868\u6bd4\u5982\u6211\u5b58abcd+oid\uff0c\u7b2c\u4e8c\u5f20\u8868\u5b58oid+\u4e3b\u952e\uff08\u5173\u8054\u5230\u7b2c\u4e00\u5f20\u8868\uff09 +\u6269\u5c55key+\u6269\u5c55value\u3002\u8fd9\u91cc\u5176\u5b9e\u5c31\u662f\u628a\u81ea\u5df1\u7279\u6709\u7684\u5217\u8f6c\u4e3a\u4e86\u884c\u6765\u5b58\u50a8\u3002<\/li>\n\n\n\n<li>\u7b2c\u4e09\u79cd\u65b9\u6cd5\uff1a\u7b97\u4e86\uff0c\u5927\u5bb6\u8fd8\u662f\u522b\u5b58\u5728\u4e00\u8d77\u4e86\u3002\u7b2c\u4e00\u4e2a\u5e94\u7528\u6709\u81ea\u5df1\u7684\u8868\uff0c\u7b2c\u4e8c\u4e2a\u5e94\u7528\u6709\u81ea\u5df1\u7684\u8868\uff0c\u4f46 \u662f\u5927\u5bb6\u8fd8\u662f\u653e\u5728\u4e00\u4e2adb\u91cc\u9762\u3002<\/li>\n\n\n\n<li>\u7b2c\u56db\u79cd\u65b9\u6cd5\uff1a\u5e72\u8106\u4e00\u4e2a\u4eba\u4e00\u4e2adb\uff0c\u5f7b\u5e95\u5206\u5f00\u3002\uff08\u6700\u4e0d\u597d\uff0c\u6700\u6d6a\u8d39\u8d44\u6e90\u7684\u65b9\u6cd5\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u7ad9\u5728\u6570\u636e\u5e93\u7684\u89d2\u5ea6\u6765\u770b\uff1a<\/p>\n\n\n\n<p>1. schema \u5982\u679c\u6709\u4e00\u4e9b\u53ef\u4ee5\u5171\u4eab\uff0c\u90a3\u4e48\u6211\u8fd9\u4e2a\u6570\u636e\u5e93\u5c31\u597d\u7ba1\u7406\uff0c\u6211\u65e2\u53ef\u4ee5\u652f\u6301\u4f60\u6709\u8fd9\u4e2a\u5171\u540c\u7684\u4e1c\u897f\uff0c \u4e5f\u53ef\u4ee5\u652f\u6301\u4f60\u4e2a\u6027\u5316\u4e1c\u897f\u3002 2. \u786c\u4ef6\u7684\u8d44\u6e90\u8981\u9694\u79bb\u5f00\uff0c\u67d0\u4e00\u4e2a\u79df\u6237\u6302\u4e86\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u4eba\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">openGauss\u7684\u67e5\u8be2\u4f18\u5316<\/h2>\n\n\n\n<p>\u56e0\u4e3a\u6570\u636e\u91cf\u5de8\u5927\uff0c\u6240\u4ee5\u4f18\u5316\u662f\u503c\u5f97\u7684\uff0c\u5426\u5219\u6570\u636e\u91cf\u5c0f\uff0c\u6bd4\u5982\u522b\u505a\u4f18\u5316\uff0c\u4f18\u5316\u53cd\u800c\u82b1\u65f6\u95f4\u3002\u5177\u4f53\u4f18\u5316\u770b\u4e0a\u9762\u7684\u56fe\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u57fa\u4e8e\u89c4\u5219\u7684\u67e5\u8be2\u4f18\u5316\uff08RBO\uff09\n<ul class=\"wp-block-list\">\n<li>\u6839\u636e\u9884\u5b9a\u4e49\u7684\u542f\u53d1\u5f0f\u89c4\u5219\u5bf9SQL\u8bed\u53e5\u8fdb\u884c\u4f18\u5316<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u57fa\u4e8e\u4ee3\u4ef7\u7684\u67e5\u8be2\u4f18\u5316\uff08CBO\uff09\n<ul class=\"wp-block-list\">\n<li>\u5229\u7528\u7edf\u8ba1\u4fe1\u606f\uff0c\u901a\u8fc7\u57fa\u7840\u548c\u4ee3\u4ef7\u4f30\u8ba1\u5bf9SQL\u8bed\u53e5\u5bf9\u5e94\u7684\u5019\u9009\u7269\u7406\u8ba1\u5212\u8fdb\u884c\u4ee3\u4ef7\u4f30\u7b97\uff0c\u5e76\u4ece\u5019\u9009\u8ba1\u5212\u4e2d\u9009\u62e9\u4ee3\u4ef7\u6700\u4f4e\u7684\u7269\u7406\u8ba1\u5212\u4f5c\u4e3a\u6700\u7ec8\u7684\u6267\u884c\u8ba1\u5212<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u57fa\u4e8e\u4eba\u5de5\u667a\u80fd\u7684\u67e5\u8be2\u4f18\u5316\uff08ABO\uff09\n<ul class=\"wp-block-list\">\n<li>\u6536\u96c6\u6267\u884c\u8ba1\u5212\u7684\u7279\u5f81\u7edf\u8ba1\u4fe1\u606f\uff0c\u501f\u52a9\u4eba\u5de5\u667a\u80fd\u6a21\u578b\u4f30\u8ba1\u57fa\u6570\u548c\u4ee3\u4ef7\uff0c\u5e76\u9009\u62e9\u9ad8\u6548\u7684\u6267\u884c\u8ba1\u5212<\/li>\n\n\n\n<li>\u667a\u80fd\u57fa\u6570\u4f30\u8ba1\u548c\u4ee3\u4ef7\u4f30\u8ba1<\/li>\n\n\n\n<li>\u667a\u80fd\u8ba1\u5212\u9009\u62e9\u548c\u751f\u6210<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u884c\u5b58\u50a8\u548c\u5217\u5b58\u50a8<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u884c\u5b58\u50a8\uff1a\u9002\u5408\u4e1a\u52a1\u6570\u636e\u7684\u9891\u7e41\u66f4\u65b0\uff0c\u6bd4\u5982\u63d2\u5165\u66f4\u65b0\u4e00\u6761\u6570\u636e\uff0c\u7c7b\u6bd4\u53cc\u5341\u4e00\u5f00\u5356\u7684\u65f6\u5019\u8ba2\u5355\u5f88\u591a\u6761\u76ee\u8981\u63d2\u5165\u8fdb\u6765<\/li>\n\n\n\n<li>\u5217\u5b58\u50a8\uff1a\u652f\u6301\u4e1a\u52a1\u6570\u636e\u7684\u8ffd\u52a0\u548c\u5206\u6790\u573a\u666f\uff0c\u7c7b\u6bd4\u53cc\u5341\u4e00\u7ed3\u675f\u7684\u7684\u65f6\u5019\u9700\u8981\u7edf\u8ba1\u9500\u552e\u989d\u3010\u6ce8\u610f\uff1a\u5728\u6279\u91cf\u52a0\u8f7d\u7684\u65f6\u5019\u4e3a\u4ec0\u4e48\u66f4\u9002\u5408\u5217\u5b58\u50a8\u5462\uff1f\u56e0\u4e3a\u5217\u5b58\u50a8\u7684\u65f6\u5019\u538b\u7f29\u7387\u9ad8\uff0c\u6bd4\u5982\u67d0\u4e00\u5217\u8fde\u7eed\u4e0b\u6765\u5b58\u7684\u662f5\u4e2a\u8fde\u7eed\u76841\uff0c\u6211\u5c31\u53ef\u4ee5\u538b\u7f29\u4e00\u4e0b\uff0c\u6216\u8005\u6211\u65f6\u95f4\u6233\u7684\u8bdd\u53d1\u73b0\u53ef\u4ee5\u8bb0\u5f55\u4e00\u4e2a\u589e\u91cf\uff0c\u8fd9\u6837\u5c31\u5927\u5927\u7684\u4f18\u5316\u4e86\u5b58\u50a8\u7684\u7a7a\u95f4\uff0c\u4f7f\u7528\u5217\u5b58\u50a8\u7684\u8bdd\u66f4\u52a0\u7684\u9ad8\u6548\u3011<\/li>\n\n\n\n<li>openGauss\u7684\u5f15\u64ce\u4f1a\u6839\u636e\u6267\u884c\u7684SQL\u8bed\u53e5\u5224\u65ad\u662f\u5728\u884c\u8fd8\u662f\u5217\u5b58\u50a8\u4e0a\u8fdb\u884c\u67e5\u627e<\/li>\n\n\n\n<li>\u540c\u65f6\u505a\u884c\u5b58\u50a8\u548c\u5217\u5b58\u50a8\u7684\u7f3a\u70b9\u662f\u6d6a\u8d39\u4e86\u7a7a\u95f4\uff0c\u4f46\u662f\u597d\u5904\u662f\u9002\u5408\u7684SQL\u4f1a\u53d1\u5230\u5bf9\u5e94\u7684\u5b58\u50a8\u4e0a\uff0c\u901f\u5ea6\u4f1a\u660e\u663e\u63d0\u9ad8\u3002<\/li>\n\n\n\n<li>\u5185\u5b58\u8868\uff1a\u6570\u636e\u6574\u4e2a\u5728\u5185\u5b58\u91cc\u9762\uff0c\u5927\u91cf\u7684\u6570\u636e\u4e00\u6b21\u6027\u52a0\u8f7d\u5230\u5185\u5b58\u91cc\u9762\uff0c\u4ee5\u540e\u7684\u6240\u6709\u64cd\u4f5c\u5168\u90e8\u90fd\u5728\u5185\u5b58\u91cc\u9762\uff0c\u53ef\u80fd\u53ea\u8981\u6211\u4e0d\u5173\u673a\uff0c\u6211\u53ef\u80fd\u6570\u636e\u4e00\u76f4\u90fd\u4e0d\u7528\u843d\u786c\u76d8\uff0c\u6bcf\u5929\u53ef\u80fd\u4e3a\u4e86\u5907\u4efd\uff0c\u628a\u6570\u636e\u843d\u4e00\u6b21\u786c\u76d8\u3002\uff08\u90a3\u548c\u6211\u4eec\u4e4b\u524d\u8bf4\u7684mysql\u6709\u4ec0\u4e48\u533a\u522b\u5462\uff1f\u4e4b\u524d\u6240\u8bf4\u7684buffer\u6bd4\u8f83\u5c0f\uff0c\u6211\u4eec\u53ea\u80fd\u628a\u6b63\u5728\u64cd\u4f5c\u6216\u9700\u8981\u64cd\u4f5c\u7684\u6570\u636e\u52a0\u8f7d\u5230buffer\u91cc\u9762\uff0c\u4f46\u662f\u5185\u5b58\u8868\u8981\u6c42\u5f88\u5927\u7684\u7f13\u5b58\uff0c\u5f00\u673a\u7684\u4e00\u523b\u5c31\u628a\u6570\u636e\u52a0\u8f7d\u5230\u5185\u5b58\u4e2d\uff09<\/li>\n\n\n\n<li>\u5e94\u7528\u573a\u666f\uff1a\u6bd4\u5982\u5b58\u50a8\u4e00\u7cfb\u5217\u98ce\u529b\u53d1\u7535\u673a\u7684\u5382\u5bb6\u3001\u578b\u53f7\u3001\u98ce\u573a\u4fe1\u606f\u7528\u884c\u5b58\u50a8\uff0c\u4f46\u662f\u5982\u679c\u98ce\u529b\u53d1\u7535\u673a\u4e0d\u65ad\u7684\u53d1\u65f6\u5e8f\u6570\u636e\u7684\u8bdd\uff0c\u8fd9\u4e9b\u6570\u636e\u5e94\u8be5\u66f4\u9002\u5408\u5217\u5b58\u50a8\u3002\u540c\u65f6\u9700\u8981\u884c\u3001\u5217\u5b58\u50a8\u7684\u573a\u666f\u5c31\u662f\u8fd9\u6837<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">ORM\u6548\u7387<\/h2>\n\n\n\n<p>\u6709\u4eba\u53ef\u80fd\u6709\u7591\u95ee\uff1aORM\u6620\u5c04\u662f\u901a\u8fc7\u628a\u5bf9\u8c61\u7684\u64cd\u4f5c\u901a\u8fc7JPA\u5de5\u5177\u751f\u6210SQL\u8bed\u53e5\uff0c\u7136\u540e\u53d1\u9001\u7ed9\u6570\u636e\u5e93\u8fdb\u884c\u64cd \u4f5c\u7684\uff0c\u90a3\u5982\u679c\u6211\u81ea\u5df1\u76f4\u63a5\u5199SQL\u8bed\u53e5\u7684\u8bdd\u4e0d\u662f\u907f\u514d\u4e86\u8fd9\u4e2a\u8f6c\u6362\u7684\u8fc7\u7a0b\uff0c\u4e00\u5b9a\u4f1a\u6709\u66f4\u9ad8\u7684\u6548\u7387\u5417\uff1f<\/p>\n\n\n\n<p>\u56de\u7b54\uff1a\u9519\u8bef\u7684\u3002JPA\u5de5\u5177\u91cc\u9762\u6709\u5927\u91cf\u79ef\u7d2f\u7684\u4f18\u5316\u7684SQL\u7684\u7ecf\u9a8c\uff0c\u4f1a\u628a\u5bf9\u8c61\u7684\u64cd\u4f5c\u8f6c\u6362\u4e3a\u57fa\u672c\u4e0a\u8bf4\u662f\u6700\u4f18\u6548\u7387\u7684SQL\u64cd\u4f5c\u8bed\u53e5\u3002\u4f46\u662f\u5982\u679c\u4f60\u81ea\u5df1\u5199SQL\u8bed\u53e5\u53ef\u80fd\u6548\u7387\u8fdc\u8fdc\u6bd4\u4e0d\u4e0a\u3002\u4f46\u662f\u6709\u4eba\u8bf4\u6570\u636e\u5e93\u4e0d\u662f\u6709\u67e5\u8be2\u4f18\u5316\u5417\uff1f\u5b9e\u9645\u4e0a\u6570\u636e\u5e93\u7684\u67e5\u8be2\u4f18\u5316\u5f88\u6709\u9650\uff08\u8bfe\u4e0a\u7684\u4e3e\u4f8b\u5c31\u662f\u5e95\u677f\u4e0d\u884c\u600e\u4e48\u6253\u626e\u90fd\u4e0d\u597d\u770b\uff09\u6240\u4ee5\u8bf4\u901a\u8fc7ORM\u6620\u5c04\u4ea7\u751f\u7684SQL\u57fa\u672c\u5c31\u662f\u6700\u4f18\u89e3\u3002\u6b64\u5916\u8fd8\u6709\u4e00\u79cd\u60c5\u51b5\uff0c\u6bd4\u5982\u6570\u636e\u5e93\u91cc\u9762\u6709\u4e00\u4e9b\u51fd\u6570\u9700\u8981\u88ab\u8c03\u7528\uff0c\u4ed6 \u4eec\u4ea7\u751f\u7684\u662f\u4e00\u4e2a\u7ed3\u679c\u8fd4\u56de\u6211\uff0c\u6570\u636e\u7684\u5904\u7406\u5c31\u662f\u5728\u6570\u636e\u5e93\u91cc\u9762\u5b9e\u73b0\u7684\uff0c\u5982\u679c\u7528ORM\u7684\u8bdd\u53ef\u80fd\u4f1a\u5199\u4e00\u4e2a\u904d\u5386\uff0c\u90a3\u8fd9\u6837\u7684\u60c5\u51b5\u53ef\u80fdORM\u5c31\u6bd4\u8f83\u5dee\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GaussDB\u7684\u5206\u5e03\u5f0f\u4e8b\u52a1<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-466-1024x539.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"539\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-466-1024x539.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2188\" style=\"width:708px;height:auto\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u5982\u679c\u4f60\u53ea\u6d89\u53ca\u5230\u4e00\u4e2a\u6570\u636e\u8282\u70b9\uff0c\u90a3\u8fd9\u662f\u4e00\u79cd\u60c5\u51b5\uff0c\u5982\u679c\u4f60\u6d89\u53ca\u5230\u4e24\u4e2a\u6570\u636e\u8282\u70b9\uff0c\u90a3\u5c31\u4f1a\u6709\u4e00\u4e2a\u4e24\u9636\u6bb5\u63d0 \u4ea4\u534f\u8bae\u3002<\/p>\n\n\n\n<p>\u4f18\u5316\u662f\u8bf4\u5728\u7b2c\u4e8c\u4e2a\u9636\u6bb5\u5b83\u662f\u5f02\u6b65\u7684\uff1b\u4ed6\u53d1\u8bf7\u6c42\u51fa\u53bb\uff0c\u7136\u540e\u4ed6\u4e5f\u6ca1\u6709\u53bb\u7b49\u7740\u4ed6\u4eec\uff1b\u56de\u6ca1\u6709\u56de\u6765\u7684\u8fd9\u4e2a\u7ebf\u3002 \u4e5f\u5c31\u662f\u8bf4\u8fd9\u4e2a\u7070\u8272\u7684\u90e8\u5206\u76f8\u5f53\u4e8e\u5728\u540e\u53f0\u6162\u6162\u53bb\u5904\u7406\uff0c\u524d\u7aef\u8fd9\u7aef\u4ed6\u9a6c\u4e0a\u5c31\u5230 OK \u4e86\uff0c\u5c31\u6b64\u5904\u540e\u9762\u8fd9\u7aef\u4ed6\u4f1a \u60f3\u529e\u6cd5\u53bb\u8ba9\u4ed6\u4e00\u5b9a\u80fd\u63d0\u4ea4\u7684\uff0c\u90a3\u4e48\u8fd9\u662f\u4ed6\u505a\u7684\u4e00\u4e2a\u4f18\u5316\u3002<\/p>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u8981\u6709\u5f02\u6b65\uff1f\u4e3e\u4e2a\u4f8b\u5b50\uff1a \u6bd4\u5982\u8bf4\u6709\u4e00\u4e2a\u6570\u636e\u91c7\u96c6\u5668\uff0c\u5b83\u6bcf\u9694\u4e00\u6bb5\u65f6\u95f4\u5c31\u4f1a\u53bb\u91c7\u96c6\u4e00\u4e0b\u6570\u636e\uff0c\u7136\u540e\u628a\u6570\u636e\u5199\u5230\u6570\u636e\u5e93\u91cc\u9762\u53bb\u3002 \u4f46\u53ef\u80fd\u6570\u636e\u53d1\u8fc7\u6765\u975e\u5e38\u7684\u5feb\uff0c\u7b2c\u4e00\u4e2a\u6570\u636e\u8fd8\u6ca1\u5904\u7406\u5b8c\uff0c\u7b2c\u4e8c\u4e2a\u6570\u636e\u5c31\u53d1\u8fc7\u6765\u4e86\u3002\u540c\u6b65\u7684\u60c5\u51b5\u4e0b\uff0c\u5fc5 \u987b\u662f\u524d\u7aef\u53d1\u8fc7\u6765\u4e00\u4e2a\u6570\u636e\uff0c\u540e\u7aefserver\u53bb\u5904\u7406\uff0c\u5904\u7406\u5b8c\u4e86\u548c\u524d\u7aef\u8bf4\u54e6\u6211\u5904\u7406\u5b8c\u4e86\uff0c\u524d\u7aef\u518d\u6765\u4e0b\u4e00 \u4e2a\u3002\u8fd9\u5c31\u4f1a\u51fa\u73b0\u95ee\u9898\u3002 \u4ec0\u4e48\u610f\u601d\uff1f\u5c31\u662f\u5728\u73b0\u5728\u8fd9\u4e2a\u573a\u666f\u4e4b\u4e0b\uff0c\u662f\u6211\u4eec\u4e0d\u65ad\u7684\u6765\u4e8b\u4ef6\uff0c\u4e8b\u4ef6\u5728\u6ca1\u6709\u88ab\u5904\u7406\u5b8c\u4e4b\u524d\u4f1a\u6709\u65b0\u7684\u4e8b \u4ef6\u8fdb\u6765\uff0c\u6211\u4eec\u8981\u4f9d\u6b21\u8981\u53bb\u5904\u7406\uff0c\u5b83\u4e0d\u80fd\u4e22\u3002\u4f46\u662f\u6211\u6bcf\u4e00\u4e2a\u5904\u7406\u4e4b\u540e\u4e0d\u662f\u540c\u6b65\u5728\u5904\u7406\uff0c\u4e0d\u662f\u8bf4\u7b2c\u4e00\u4e2a \u5904\u7406\u5b8c\u4e86\uff0c\u7b2c\u4e8c\u4e2a\u624d\u80fd\u6765\uff0c\u90a3\u8fd9\u79cd\u4e1c\u897f\u53eb\u5565\u5462\uff1f\u53eb\u6d41\u5f0f\u6570\u636e\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GaussDB\u7248\u672c\u66f4\u65b0<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-451-1024x490.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-451-1024x490.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1977\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u7b80\u5355\u6765\u8bf4\u53ea\u6709xmin\u548cxmax\u4e4b\u95f4\u7684\u662f\u53ef\u89c1\u53ef\u7528\u7684\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-452-1024x474.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"474\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-452-1024x474.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1978\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-453-1024x502.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"502\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-453-1024x502.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-1979\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Data Warehouse \u6570\u636e\u4ed3\u5e93<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u591a\u5143\u7684\u6570\u636e\u5982\u4f55\u878d\u5408\u5904\u7406\uff1f\u6570\u636e\u4ed3\u5e93\uff1a<strong>\u628a\u5f88\u591a\u6765\u6e90\u7684\u6570\u636e\u52a0\u8f7d\u4e4b\u540e\uff0c\u628a\u4ed6\u4eec\u5b89\u88c5\u540c\u4e00\u4e2a\u65b9\u5f0f\u5b58\u50a8\u3002<\/strong><\/li>\n\n\n\n<li>\u6bd4\u5982\u4ea4\u5927\u7684\u6570\u636e\u3001\u590d\u65e6\u3001\u540c\u6d4e\u7684\u6570\u636e\uff0c\u53ef\u80fd\u5206\u522b\u670910\u300111\u300112\u4e2a\u5b57\u6bb5\u7684\u6570\u636e\uff0c\u9700\u8981\u628a\u8fd9\u4e9b\u6570\u636e\u201c\u62bd\u53d6\u3001\u8f6c\u6362\u3001\u5b58\u50a8\u201d\uff0c\u901a\u5e38\u6765\u8bf4\u628a\u4e0d\u540c\u7684\u6587\u4ef6\u8f6c\u5b58\u50a8\u5230Parquet\/RC File\u7684\u6587\u4ef6\u683c\u5f0f<\/li>\n\n\n\n<li>RC File\u7684\u6587\u4ef6\uff1a\u628a\u539f\u59cb\u7684\u5173\u7cfb\u62bd\u53d6\u67d0\u4e00\u5217\u6216\u8005\u51e0\u5217\u3001\u751a\u81f3\u628a\u6574\u4e2a\u8868\u5b58\u50a8\u8d77\u6765\u3002\u540c\u65f6\u6587\u4ef6\u6700\u524d\u9762\u8fd8\u6709\u6709\u4e00\u4e9b\u5143\u6570\u636e \u8868\u8fbe\u7684\u884c\u53f7\u662f\u54ea\u51e0\u884c\u3001\u6216\u8005\u662f\u5426\u6709\u538b\u7f29\uff0c\u538b\u7f29\u540ekey\u957f\u5ea6\u3002\u7136\u540e\u8fd9\u4e9b\u6587\u4ef6\u88ab\u5efa\u6210HDFS\u7684\u5757\u3002<\/li>\n\n\n\n<li>Parquet\uff1a\u7c7b\u4f3cRC File\u3002<\/li>\n\n\n\n<li>\u5b58\u5728\u7684\u95ee\u9898\uff1a<strong>\u9700\u8981ETL\uff08\u62bd\u53d6\u3001\u8f6c\u6362\u3001\u5b58\u50a8\uff09\u7136\u540e\u5199\u5165\u5230Parquet\u7684\u4e2d\u95f4\u6587\u4ef6\u683c\u5f0f\uff0c\u8fd9\u4e2a\u7684\u4ee3\u4ef7\u662f\u5f88\u5927\u7684<\/strong>\u3002\u800c\u8fd9\u4e9b\u6587\u4ef6\u5728\u4e4b\u540e\u5982\u679c\u76f4\u63a5\u505aSQL\u7684\u65f6\u5019\u6548\u7387\u5f88\u4f4e\u3002\u6240\u4ee5\u6700\u7ec8\u8fd8\u662f\u8981\u8f6c\u5230SQL\u7684\u6570\u636e\u5e93\u4e2d\uff08\u76f4\u63a5\u5bf9\u6570\u636e\u5e93\u5904\u7406\uff09\u90a3\u6211\u4eec \u5c31\u60f3\uff1a\u5982\u679c\u6570\u636e\u6765\u4e86\uff0c\u6211\u4eec\u53ef\u4e0d\u53ef\u4ee5\u5148\u628a\u6570\u636e\u6309\u7167\u539f\u59cb\u7684\u683c\u5f0f\u5b58\u50a8\uff0c\u5f53\u6211\u771f\u6b63\u9700\u8981\u7684\u65f6\u5019\uff0c\u518d\u628a\u6570\u636e\u5bfc\u5165\u8fdb\u6765\u3002 \u6240\u4ee5\u8fd9\u5c31\u662f\u6570\u636e\u6e56\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Data Lake \u6570\u636e\u6e56<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ee5\u81ea\u7136\/\u539f\u59cb\u683c\u5f0f\u5b58\u50a8\u6570\u636e\u7684\u7cfb\u7edf\u6216\u5b58\u50a8\u5e93\uff0c\u901a\u5e38\u662f\u5bf9\u8c61blob\u6216\u6587\u4ef6<\/li>\n\n\n\n<li>\u6570\u636e\u6e56\u901a\u5e38\u662f\u4e00\u4e2a\u5355\u4e00\u7684\u6570\u636e\u5b58\u50a8\uff0c\u5305\u62ec\u6e90\u7cfb\u7edf\u6570\u636e\u3001\u4f20\u611f\u5668\u6570\u636e\u3001\u793e\u4ea4\u6570\u636e\u7b49\u7684\u539f\u59cb\u526f\u672c\uff0c\u4ee5\u53ca\u7528\u4e8e\u62a5\u544a\u3001\u53ef \u89c6\u5316\u3001\u9ad8\u7ea7\u5206\u6790\u548c\u673a\u5668\u5b66\u4e60\u7b49\u4efb\u52a1\u7684\u8f6c\u6362\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u6e56\u53ef\u4ee5\u5305\u62ec\u6765\u81ea\u5173\u7cfb\u6570\u636e\u5e93\u7684\u7ed3\u6784\u5316\u6570\u636e\uff08\u884c\u548c\u5217\uff09\u3001\u534a\u7ed3\u6784\u5316\u6570\u636e\uff08CSV\u3001\u65e5\u5fd7\u3001XML\u3001JSON\uff09\u3001\u975e\u7ed3 \u6784\u5316\u6570\u636e\uff08\u7535\u5b50\u90ae\u4ef6\u3001\u6587\u6863\u3001pdf\uff09\u548c\u4e8c\u8fdb\u5236\u6570\u636e\uff08\u56fe\u50cf\u3001\u97f3\u9891\u3001\u89c6\u9891\uff09\u3002\u6570\u636e\u6e56\u53ef\u4ee5\u5efa\u7acb\u5728\u201c\u672c\u5730\u201d\uff08\u5728\u7ec4\u7ec7\u7684\u6570 \u636e\u4e2d\u5fc3\u5185\uff09\u6216\u201c\u4e91\u4e2d\u201d\uff08\u4f7f\u7528\u4e9a\u9a6c\u900a\u3001\u5fae\u8f6f\u3001\u7532\u9aa8\u6587\u4e91\u6216\u8c37\u6b4c\u7b49\u4f9b\u5e94\u5546\u7684\u4e91\u670d\u52a1\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1. \u5728\u5fc5\u8981\u7684\u65f6\u5019\u4f1a\u901a\u8fc7ETL\u7684\u65b9\u6cd5\uff0c\u628a\u6570\u636e\u5bfc\u5165\u5230\u6570\u636e\u4ed3\u5e93\u7684\u91cc\u9762 <\/li>\n\n\n\n<li>2. \u6570\u636e\u6e56\u8981\u89e3\u51b3\u7684\u95ee\u9898\u5c31\u662f\uff1a\u9762\u4e34\u5927\u91cf\u7684\u6570\u636e\u8981\u5bfc\u5165\u7684\u65f6\u5019\u600e\u4e48\u628a\u539f\u59cb\u6570\u636e\u5feb\u901f\u63a5\u53d7\u4e0b\u6765<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Data Lake vs Data Warehouse<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td>Data Lake<\/td><td>Data Warehouse<\/td><\/tr><tr><td>Data Structure<\/td><td>Raw<\/td><td>Processed<\/td><\/tr><tr><td>Purpose of Data<\/td><td>Not yet defined<\/td><td>Currently in use<\/td><\/tr><tr><td>Users<\/td><td>Data Scientists\uff1a \u9488\u5bf9\u539f\u59cb\u6570\u636e\u8fdb\u884c\u5904\u7406<\/td><td>Business Professionals\uff1a \u4e3b\u8981\u9488\u5bf9\u5546\u4e1a\u91d1\u878d\u7684\u5206\u6790\u3001\u7edf<\/td><\/tr><tr><td>Accessibility<\/td><td>Highly accessible and quick to update\uff1a\u56e0\u4e3a\u4e0d\u9700\u8981\u53bb\u505aetl\u8fd9\u6837\u7684\u52a8\u4f5c<\/td><td>More complicated and costly to make changes\uff1a \u53ef\u4ee5\u7406\u89e3\u4e3a\u4e3b\u8981\u662f\u6570\u636e\u7684\u4e00\u6b21\u5bfc\u5165\uff0c \u4ee5\u540e\u53ea\u662f\u505a\u5206\u6790\u7684<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u7279\u70b9<\/td><td>\u6570\u636e\u4ed3\u5e93<\/td><td>\u6570\u636e\u6e56<\/td><\/tr><tr><td>\u6570\u636e<\/td><td>\u5173\u7cfb\u6570\u636e<\/td><td>\u5404\u79cd\u6570\u636e\uff08\u56e0\u4e3a\u5b83\u662f\u76f4\u63a5\u5b58\u50a8\u7684\u539f\u59cb\u6570\u636e\uff1a \u7ed3\u6784\u5316\u534a\u7ed3\u6784\u5316\u7b49\u7b49\u90fd\u53ef\u4ee5\uff09<\/td><\/tr><tr><td>schema \u6a21\u5f0f<\/td><td>\u6bd4\u8f83\u4e25\u683c\u7684\u6a21\u5f0f\uff0c \u6570\u636e\u5728\u8bfb\u53d6\u7684\u65f6\u5019\u6216\u8005\u5199\u5165\u7684\u65f6\u5019\u505a\u4e00\u4e2a\u6821\u9a8c \uff08schema-on-write\u6216\u8005read\uff09<\/td><td>schema-on-read\uff08\u53ea\u6709\u5728\u6570\u636e\u5206\u6790\u7684\u65f6\u5019\uff0c \u4e5f\u5c31\u662f\u4ece\u8bfb\u8d70\u6570\u636e\u7684\u65f6\u5019\u6821\u9a8c\u6570\u636e\u7684\u6a21\u5f0f\u662f\u5426\u5408\u6cd5\uff0c \u56e0\u4e3a\u5b83\u662f\u76f4\u63a5\u5b58\u50a8\u7684\u539f\u59cb\u6570\u636e\uff0c\u5b58\u50a8\u7684\u65f6\u5019\u4e0d\u6821\u9a8c\uff09<\/td><\/tr><tr><td>\u6027\u80fd<\/td><td>\u672c\u5730\u5b58\u50a8\u7684\u65f6\u5019\u975e\u5e38\u5feb<\/td><td>\u7528\u4f4e\u6210\u672c\u7684\u5b58\u50a8\u628a\u5927\u91cf\u7684\u6570\u636e\u5b58\u50a8\u8fdb\u6765\uff0c \u5f53\u641c\u7d22\u7684\u65f6\u5019\u53ef\u80fd\u6bd4\u8f83\u6162<\/td><\/tr><tr><td>\u6570\u636e\u8d28\u91cf<\/td><td>schema-on-write\uff0c\u8fc7\u6ee4\u4e86\u4e0d\u5408\u89c4\u5b9a\u7684\u6570\u636e<\/td><td>\u56e0\u4e3a\u6240\u6709\u6570\u636e\u76f4\u63a5\u63a5\u53d7\uff0c\u8d28\u91cf\u65e0\u4fdd\u8bc1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u6e56\u4ed3\u4e00\u4f53\uff1a\u4e0d\u7ba1\u662f\u8c01\u8981\u6765\u67e5\u6570\u636e\uff0c\u90fd\u5230\u5e95\u5c42\u53bb\u6293\u6570\u636e\uff0c\u5982\u679c\u662f\u5173\u7cfb\u578b\u7684\u5c31\u53bb\u5173\u7cfb\u578b\u7684\u627e\u6570\u636e\uff0c\u975e\u5173\u7cfb\u578b\u7684\u5c31\u5230\u975e\u5173\u7cfb\u578b\u7684\u53bb\u627e\u5c31\u597d\u4e86\uff0c\u4e0d\u4e25\u683c\u533a\u5206\u6570\u636e\u6e56\u548c\u6570\u636e\u4ed3\u5e93\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e00\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u96c6\u7fa4<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6709\u8bb8\u591a\u7528\u6237\uff0c\u53ef\u80fd\u5728\u8bb8\u591a\u4e0d\u540c\u7684\u5730\u65b9\uff08\u9ad8\u6027\u80fd\uff09<\/li>\n\n\n\n<li>\u7cfb\u7edf\u662f\u957f\u65f6\u95f4\u8fd0\u884c\u7684\uff0c\u4e0d\u80fd\u7ec8\u7aef\u670d\u52a1\uff08\u53ef\u9760\u6027\uff09<\/li>\n\n\n\n<li>\u6bcf\u79d2\u5904\u7406\u5927\u91cf\u4e8b\u52a1<\/li>\n\n\n\n<li>\u7528\u6237\u6570\u91cf\u548c\u7cfb\u7edf\u8d1f\u8f7d\u53ef\u80fd\u4f1a\u589e\u52a0\uff08\u6bd4\u5982open ai\uff09<\/li>\n\n\n\n<li>\u4ee3\u8868\u53ef\u89c2\u7684\u5546\u4e1a\u4ef7\u503c(\u6bd4\u5982\u652f\u4ed8\u7cfb\u7edf\u662f\u4e00\u4e2a\u5f88\u5173\u952e\u7684\u7cfb\u7edf\uff0c\u4f46\u662f\u7c7b\u6bd4\u7535\u5b50\u4e66\u5e97\u7684\u6d4f\u89c8\u529f\u80fd\u5c31\u662f\u4e2a\u5f88\u968f \u4fbf\u7684\u529f\u80fd\uff0c\u56e0\u6b64\u4e3a\u4e86\u4fdd\u8bc1\u652f\u4ed8\u7684\u53ef\u9760\u6027\uff0c\u5f88\u53ef\u80fd\u9700\u8981\u628a\u5e38\u89c4\u7684\u4e1a\u52a1\u670d\u52a1\u548c\u652f\u4ed8\u670d\u52a1\u5206\u5f00\uff0c\u4fdd\u8bc1\u5b89\u5168 \u548c\u53ef\u9760\u6027)<\/li>\n\n\n\n<li>\u7531\u591a\u4eba\u64cd\u4f5c\u548c\u7ba1\u7406<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Nginx<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u96c6\u7fa4<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u96c6\u7fa4\uff08Clustering\uff09\u662f\u7531\u4e00\u7ec4\u677e\u6563\u8026\u5408\u7684\u670d\u52a1\u5668\u7ec4\u6210\uff0c\u5411\u5ba2\u6237\u7aef\u63d0\u4f9b\u7edf\u4e00\u7684\u670d\u52a1\u3002<\/li>\n\n\n\n<li>\u4ece\u5ba2\u6237\u7aef\u89c6\u89d2\uff0c\u96c6\u7fa4\u8868\u73b0\u4e3a\u5355\u4e00\u7cfb\u7edf\uff08\u5355\u4e00\u7cfb\u7edf\u89c6\u56fe\u6216\u5355\u4e00\u7cfb\u7edf\u955c\u50cf\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8282\u70b9\uff08Nodes\uff09\uff1a<\/strong>&nbsp;\u96c6\u7fa4\u4e2d\u7684\u8ba1\u7b97\u673a\u79f0\u4e3a\u8282\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>RAS \u5c5e\u6027<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53ef\u9760\u6027\uff08Reliability\uff09\uff1a<\/strong>&nbsp;\u6d88\u9664\u5355\u70b9\u6545\u969c\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u7528\u6027\uff08Availability\uff09\uff1a<\/strong>&nbsp;\u786e\u4fdd\u603b\u4f53\u53ef\u7528\u6027\uff0c\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a&nbsp;1\u2212(1\u2212\ud835\udc53%)^n\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u7ef4\u62a4\u6027\uff08Serviceability\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u590d\u6742\u6027\u6bd4\u5355\u4e00\u670d\u52a1\u5668\u66f4\u9ad8\uff0c\u4f46\u652f\u6301\u70ed\u5347\u7ea7\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>\u53ef\u6269\u5c55\u6027\uff08Scalability\uff09\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53ef\u5728\u7cfb\u7edf\u8fd0\u884c\u671f\u95f4\u589e\u52a0\u670d\u52a1\u5668\uff0c\u51cf\u5c11\u4e2d\u65ad\u3002<\/li>\n\n\n\n<li>\u5229\u7528\u6807\u51c6\u786c\u4ef6\u6784\u5efa\u96c6\u7fa4\u6bd4\u4f7f\u7528\u591a\u5904\u7406\u5668\u673a\u5668\u66f4\u4fbf\u5b9c\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u8d1f\u8f7d\u5747\u8861\u4e0e\u6545\u969c\u8f6c\u79fb<\/strong><\/h2>\n\n\n\n<p><strong>\u8d1f\u8f7d\u5747\u8861\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-456.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"238\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-456.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2100\" style=\"width:353px;height:auto\"  sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5b9a\u4e49\uff1a\u5c06\u8bf7\u6c42\u5206\u914d\u7ed9\u96c6\u7fa4\u4e2d\u7684\u4e0d\u540c\u8282\u70b9\uff0c\u4ee5\u4f18\u5316\u6574\u4f53\u6027\u80fd\u3002<\/li>\n\n\n\n<li>\u65b9\u6cd5\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7cfb\u7edf\u5316<\/strong>\uff08\u987a\u5e8f\u5206\u914d\uff09\u6216<strong>\u968f\u673a<\/strong>\u5206\u914d\u3002<\/li>\n\n\n\n<li><strong>\u76d1\u63a7\u8282\u70b9\u8d1f\u8f7d<\/strong>\uff0c\u9009\u62e9\u8d1f\u8f7d\u8f83\u4f4e\u7684\u8282\u70b9\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f1a\u8bdd\u7c98\u6027\uff08Session Stickiness\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u95ee\u9898\uff1asession\u4f1a\u5b58\u5728\u4e8e\u67d0\u4e00\u53f0\u7279\u5b9a\u7684\u670d\u52a1\u5668\u4e0a\uff0c\u5bfc\u81f4\u540e\u7eed\u4f1a\u8bdd\u53ea\u80fd\u4e0e\u7279\u5b9a\u670d\u52a1\u5668\u4ea4\u4e92<\/li>\n\n\n\n<li>\u89e3\u51b3\uff1a \n<ol class=\"wp-block-list\">\n<li><strong>broadcast <\/strong>\u5c06session\u5e7f\u64ad\u7ed9\u6240\u6709\u670d\u52a1\u5668\u3002\u7f3a\u70b9\u6d6a\u8d39\u3002<\/li>\n\n\n\n<li>\u627e\u4e13\u95e8\u7684session\u670d\u52a1\u5668\uff0c\u5904\u7406session\u3002\u597d\u5904\u662f\u6240\u6709\u670d\u52a1\u5668\u90fd\u65e0\u72b6\u6001\u4e86\uff0c\u574f\u5904\u662f\u8fd9\u53f0\u670d\u52a1\u5668\u53d8\u6210\u4e86\u5355\u4e00\u72b6\u6001\u8282\u70b9\uff0c\u53ef\u80fd\u8981\u5bf9\u5176\u5907\u4efd\u3002\uff08\u8fd9\u4e2abug\u5728\u4e8e\u5355\u70b9\u6545\u969c\uff0c\u5982\u679credis\u6302\u4e86\u9ebb\u70e6\u5c31\u5927\u4e86\uff09<\/li>\n\n\n\n<li>\u7528ip-hash\uff0c\u4fdd\u8bc1\u5bf9\u4e8e\u540c\u4e00\u4e2a\u7528\u6237\u7684\u8bbf\u95ee\uff0c\u7528\u540c\u4e00\u53f0\u673a\u5668\u5904\u7406\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6545\u969c\u8f6c\u79fb\uff08Failover\uff09\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8bf7\u6c42\u7ea7\u6545\u969c\u8f6c\u79fb\uff1a<\/strong>&nbsp;\u67d0\u8282\u70b9\u65e0\u6cd5\u670d\u52a1\u65f6\uff0c\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u53e6\u4e00\u8282\u70b9\u3002<\/li>\n\n\n\n<li><strong>\u4f1a\u8bdd\u7ea7\u6545\u969c\u8f6c\u79fb\uff1a<\/strong>&nbsp;\u5982\u679c\u4f1a\u8bdd\u72b6\u6001\u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u95f4\u5171\u4eab\uff0c\u9700\u5728\u65b0\u8282\u70b9\u4e0a\u91cd\u5efa\u72b6\u6001\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5e42\u7b49\u6027\uff08Idempotence\uff09<\/strong><\/h3>\n\n\n\n<p><strong>\u5b9a\u4e49\uff1a<\/strong>\u5e42\u7b49\u64cd\u4f5c\u662f\u6307\u5bf9\u540c\u4e00\u8bf7\u6c42\u91cd\u590d\u6267\u884c\uff0c\u59cb\u7ec8\u83b7\u5f97\u76f8\u540c\u7ed3\u679c\u7684\u64cd\u4f5c\u3002\u5982\uff1aHTTP \u7684 GET \u8bf7\u6c42\u901a\u5e38\u662f\u5e42\u7b49\u7684\u3002<\/p>\n\n\n\n<p><strong>\u5931\u8d25\u53ef\u80fd\u70b9\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8bf7\u6c42\u53d1\u51fa\u540e\uff0c\u670d\u52a1\u65b9\u6cd5\u6267\u884c\u524d\u5931\u8d25\u3002\u89e3\u51b3\uff1a\u6362\u4e00\u53f0\u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li>\u670d\u52a1\u65b9\u6cd5\u6267\u884c\u4e2d\u9014\u5931\u8d25\u3002\u89e3\u51b3\uff1a\u91cd\u65b0\u6362\u670d\u52a1\u5668\uff0c\u91cd\u65b0\u62ffsession\u6267\u884c\u3002<\/li>\n\n\n\n<li>\u670d\u52a1\u65b9\u6cd5\u6267\u884c\u5b8c\u6210\u540e\uff0c\u54cd\u5e94\u4f20\u8f93\u5931\u8d25\u3002\u89e3\u51b3\uff1a\u4fdd\u8bc1\u7cfb\u7edf\u4e25\u683c\u5e42\u7b49\u7684\u60c5\u51b5\u4e0b\u6362\u670d\u52a1\u5668\u6267\u884c\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Nginx<\/h3>\n\n\n\n<p>\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u5f00\u6e90Web\u670d\u52a1\u5668\u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u540c\u65f6\u8fd8\u53ef\u4ee5\u7528\u4f5c\u90ae\u4ef6\u4ee3\u7406\u548c\u8d1f\u8f7d\u5747\u8861\u5668\u3002WordPress\u4f7f\u7528\u6b64\u6280\u672f\u3002<\/p>\n\n\n\n<p>\u53cd\u5411\u4ee3\u7406\uff1a\uff08reverse proxy\uff09\uff0c\u6307\u7684\u662f\u4ee3\u7406\u5916\u7f51\u7528\u6237\u7684\u8bf7\u6c42\u5230\u5185\u90e8\u7684\u6307\u5b9a\u7684\u670d\u52a1\u5668\uff0c\u5e76\u5c06\u6570\u636e\u8fd4\u56de\u7ed9\u7528 \u6237\u7684\u4e00\u79cd\u65b9\u5f0f\uff1b\u5ba2\u6237\u7aef\u4e0d\u76f4\u63a5\u4e0e\u540e\u7aef\u670d\u52a1\u5668\u8fdb\u884c\u901a\u4fe1\uff0c\u800c\u662f\u4e0e\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fdb\u884c\u901a\u4fe1,\u9690\u85cf\u4e86\u540e\u7aef\u670d\u52a1\u5668\u7684 IP \u5730\u5740\u3002 \u53cd\u5411\u4ee3\u7406\u7684\u4e3b\u8981\u4f5c\u7528\u662f\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u548c\u9ad8\u53ef\u7528\u6027\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8d1f\u8f7d\u5747\u8861\uff1aNginx\u53ef\u4ee5\u5c06\u4f20\u5165\u7684\u8bf7\u6c42\u5206\u53d1\u7ed9\u591a\u4e2a\u540e\u7aef\u670d\u52a1\u5668\uff0c\u4ee5\u5e73\u8861\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\uff0c\u63d0\u9ad8\u7cfb\u7edf\u6027\u80fd \u548c\u53ef\u9760\u6027\u3002 <\/li>\n\n\n\n<li>\u7f13\u5b58\u529f\u80fd\uff1aNginx\u53ef\u4ee5\u7f13\u5b58\u9759\u6001\u6587\u4ef6\u6216\u52a8\u6001\u9875\u9762\uff0c\u51cf\u8f7b\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\uff0c\u63d0\u9ad8\u54cd\u5e94\u901f\u5ea6\u3002 <\/li>\n\n\n\n<li>\u52a8\u9759\u5206\u79bb\uff1a\u5c06\u52a8\u6001\u751f\u6210\u7684\u5185\u5bb9\uff08\u5982 PHP\u3001Python\u3001Node.js \u7b49\uff09\u548c\u9759\u6001\u8d44\u6e90\uff08\u5982 HTML\u3001CSS\u3001 JavaScript\u3001\u56fe\u7247\u3001\u89c6\u9891\u7b49\uff09\u5206\u522b\u5b58\u653e\u5728\u4e0d\u540c\u7684\u670d\u52a1\u5668\u6216\u8def\u5f84\u4e0a\u3002 <\/li>\n\n\n\n<li>\u591a\u7ad9\u70b9\u4ee3\u7406\uff1aNginx\u53ef\u4ee5\u4ee3\u7406\u591a\u4e2a\u57df\u540d\u6216\u865a\u62df\u4e3b\u673a\uff0c\u5c06\u4e0d\u540c\u7684\u8bf7\u6c42\u8f6c\u53d1\u5230\u4e0d\u540c\u7684\u540e\u7aef\u670d\u52a1\u5668\u4e0a\uff0c\u5b9e \u73b0\u591a\u4e2a\u7ad9\u70b9\u7684\u5171\u4eab\u7aef\u53e3\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u5c5e\u6027<\/strong><\/th><th><strong>\u4ee3\u7406\uff08Proxy\uff09<\/strong><\/th><th><strong>\u53cd\u5411\u4ee3\u7406\uff08Reverse Proxy\uff09<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u670d\u52a1\u5bf9\u8c61<\/strong><\/td><td>\u5ba2\u6237\u7aef\uff08\u7528\u6237\uff09<\/td><td>\u76ee\u6807\u670d\u52a1\u5668\uff08\u670d\u52a1\u7aef\uff09<\/td><\/tr><tr><td><strong>\u4e3b\u8981\u529f\u80fd<\/strong><\/td><td>\u5e2e\u52a9\u5ba2\u6237\u7aef\u8bbf\u95ee\u76ee\u6807\u670d\u52a1\u5668<\/td><td>\u5e2e\u52a9\u670d\u52a1\u5668\u5904\u7406\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\uff0c\u53d1\u9001\u7ed9\u5904\u7406\u8bf7\u6c42\u670d\u52a1\u5668<\/td><\/tr><tr><td><strong>\u9690\u85cf\u4fe1\u606f<\/strong><\/td><td>\u9690\u85cf\u5ba2\u6237\u7aef\u7684IP\u548c\u8eab\u4efd\u4fe1\u606f<\/td><td>\u9690\u85cf\u540e\u7aef\u670d\u52a1\u5668\u7684IP\u548c\u7ed3\u6784\u4fe1\u606f<\/td><\/tr><tr><td><strong>\u5178\u578b\u7528\u9014<\/strong><\/td><td>\u4e0a\u7f51\u4ee3\u7406\u3001\u533f\u540d\u6d4f\u89c8\u3001\u5185\u5bb9\u8fc7\u6ee4<\/td><td>\u8d1f\u8f7d\u5747\u8861\u3001\u5b89\u5168\u9632\u62a4\u3001\u7f13\u5b58\u52a0\u901f<\/td><\/tr><tr><td><strong>\u5e38\u89c1\u5de5\u5177<\/strong><\/td><td>Squid\u3001Shadowsocks\u3001HTTP Proxy<\/td><td>Nginx\u3001HAProxy\u3001Apache Traffic Server<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u8d1f\u8f7d\u5747\u8861\u65b9\u5f0f<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8f6e\u8be2\uff08Round-robin\uff09\uff1a<\/strong>&nbsp;\u8bf7\u6c42\u6309\u987a\u5e8f\u5206\u914d\u7ed9\u670d\u52a1\u5668\u3002(\u4f18\u70b9\uff1a\u8d1f\u8f7d \u5747\u8861\u7684\u6548\u679c\u6bd4\u8f83\u597d\uff0c\u4e0d\u540c\u7684\u673a\u5668\u8f6e\u6d41\u6765\u5904\u7406\uff0c\u4e00\u822c\u6765\u8bf4\u6bd4\u65b9\u6cd5\u4e09\u7684\u6548\u679c\u597d\uff1b\u7f3a\u70b9\uff1asession\u9700\u8981\u5355 \u72ec\u7ef4\u62a4\uff0c\u4ee5\u53ca\u6ca1\u6709\u65b9\u6cd5\u4e8c\u7684\u4f18\u70b9)<\/li>\n\n\n\n<li><strong>\u6700\u5c11\u8fde\u63a5\uff08Least-connected\uff09\uff1a<\/strong>&nbsp;\u5206\u914d\u7ed9\u5f53\u524d\u6d3b\u52a8\u8fde\u63a5\u6570\u6700\u5c11\u7684\u670d\u52a1\u5668\u3002<\/li>\n\n\n\n<li><strong>IP \u54c8\u5e0c\uff08IP-hash\uff09\uff1a<\/strong>&nbsp;\u4f7f\u7528\u54c8\u5e0c\u51fd\u6570\u6839\u636e\u5ba2\u6237\u7aef IP \u5730\u5740\u9009\u62e9\u670d\u52a1\u5668\u3002\u4f18\u70b9\uff1a\u4fdd\u8bc1\u4e86\u4f1a\u8bdd\u7684\u7c98\u5236\u6027\uff0c\u53ea\u8981\u7528\u6237\u7684IP\u4e0d\u53d8\uff0c\u96c6\u7fa4\u4e2d\u5904\u7406\u7528\u6237\u8bf7\u6c42\u7684\u673a\u5668 \u5c31\u4e0d\u4f1a\u53d8\uff0c\u7f3a\u70b9\uff1a\u8fd9\u662f\u4e09\u79cd\u65b9\u6cd5\u91cc\u9762\u8d1f\u8f7d\u5747\u8861\u6548\u679c\u6700\u5dee\u7684\u4e00\u79cd\uff0c\u5982\u679chash\u51fd\u6570\u9009\u62e9\u7684\u4e0d\u597d\u7684\u8bdd\uff0c\u6700\u7ec8\u7684\u7ed3\u679c\u5f88\u53ef\u80fd\u662f\u5bfc\u81f4\u96c6\u7fa4\u91cc\u9762\u7684\u7ecf\u5e38\u662f\u4e00\u53f0\u673a\u5668\u5728\u5904\u7406\u8bf7\u6c42\uff1b\u5f53\u7136\u8fd8\u6709\u4e00\u4e2a\u7f3a\u70b9\u5c31\u662f\u5982\u679c\u7528\u6237\u6539\u53d8\u4e86IP\uff0c\u6bd4\u5982\u4e0a\u7f51\u9014\u4e2d\u5f00\u542f\u4e86\u6216\u8005\u5173\u95ed\u4e86VPN\u6216\u8005\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u5bfc\u81f4\u7528\u6237ip\u6539\u53d8\uff0c\u8fd9\u65f6\u5019session\u5c31\u53ef\u80fd\u4e22\u5931\uff09<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Mysql\u96c6\u7fa4<\/h2>\n\n\n\n<p>\u7ec4\u6210\uff1a\u4e00\u4e2a\u7c7b\u4f3cGateWay\u7684MySQL Router\uff0c\u8d1f\u8d23\u8f6c\u53d1\u8bf7\u6c42\u3002<br>\u6570\u636e\u5e93\u7ec4\u6210\u53ef\u80fd\u662f\u4e00\u4e2a\u4e3bMySQL\u670d\u52a1\u5668\uff0c\u4e24\u4e2a\u4eceMySQL\u670d\u52a1\u5668\uff0c\u4e3b\u670d\u52a1\u5668\u8d1f\u8d23\u8bfb\u5199\u64cd\u4f5c\uff0c\u540e\u9762\u4e24\u4e2a\u4ece\u670d\u52a1\u5668\u53ea\u80fd\u8bfb\uff0c\u7136\u540e\u540c\u6b65\u4e3b\u670d\u52a1\u5668\u7684\u5185\u5bb9\u3002<br>MySQL Router\uff0c\u8d1f\u8d23\u8f6c\u53d1\u8bf7\u6c42\u4e5f\u4f1a\u4fdd\u8bc1\u8d1f\u8f7d\u5747\u8861\uff0c\u5bf9\u4e8e\u8bfb\u7684\u64cd\u4f5c\u5747\u8861\u5206\u914d\uff08\u5f53\u7136\u4e3b\u670d\u52a1\u5668\u53ef\u80fd\u4f1a\u5c11\u4e00\u70b9\uff09\u5bf9\u4e8e\u5199\u7684\u64cd\u4f5c\u5206\u914d\u7ed9\u4e3b\u670d\u52a1\u5668\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e8c\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Cloud Computting<\/h2>\n\n\n\n<p>\u4e91\u8ba1\u7b97\u662f\u4e00\u79cd\u901a\u8fc7\u865a\u62df\u5316\u6280\u672f\uff0c\u5b9e\u73b0\u8d44\u6e90\u52a8\u6001\u5206\u914d\u548c\u7ba1\u7406\u7684\u8ba1\u7b97\u6a21\u578b\u3002\u7528\u6237\u6309\u9700\u83b7\u53d6\u8d44\u6e90\uff0c\u964d\u4f4e\u4e86\u786c\u4ef6\u6295\u8d44\u6210\u672c\u3002\u628a\u6240\u6709\u4e1c\u897f\u53d8\u6210\u4e92\u8054\u7f51\u4e0a\u9762\u80fd\u591f\u8bbf\u95ee\u7684\u670d\u52a1\uff0c\u66b4\u9732\u51fa\u6765\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7279\u70b9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5f39\u6027\u4f38\u7f29 (Elastic Scaling)<\/strong>\uff1a<br>\u4e91\u8ba1\u7b97\u670d\u52a1\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u65e0\u9650\u6269\u5c55\u6216\u7f29\u51cf\uff0c\u6ee1\u8db3\u5ba2\u6237\u5f39\u6027\u7684\u9700\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u6309\u9700\u4ed8\u8d39 (Pay-as-you-go)<\/strong>\uff1a<br>\u7528\u6237\u53ea\u9700\u4e3a\u5b9e\u9645\u4f7f\u7528\u7684\u8d44\u6e90\u4ed8\u8d39\uff0c\u65e0\u9700\u9884\u4ed8\u5927\u989d\u8d39\u7528\u3002<\/li>\n\n\n\n<li><strong>\u5feb\u901f\u90e8\u7f72 (Rapid Provisioning)<\/strong>\uff1a<br>\u90e8\u7f72\u670d\u52a1\u7684\u65f6\u95f4\u4ece\u4f20\u7edf\u7684\u6570\u5468\u6216\u6570\u6708\u7f29\u77ed\u81f3\u51e0\u79d2\u6216\u51e0\u5206\u949f\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u7ea7\u865a\u62df\u5316\u6280\u672f (Advanced Virtualization)<\/strong>\uff1a<br>\u4e91\u8ba1\u7b97\u901a\u8fc7\u865a\u62df\u5316\u5b9e\u73b0\u8d44\u6e90\u6c60\u5316\u548c\u9ad8\u6548\u5206\u914d\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u6838\u5fc3\u6280\u672f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>MapReduce<\/strong><\/h3>\n\n\n\n<p>MapReduce \u662f\u4e00\u79cd\u5178\u578b\u7684\u6279\u5904\u7406\u6846\u67b6\uff0c\u9002\u5408\u5927\u89c4\u6a21\u6570\u636e\u7684\u5206\u5e03\u5f0f\u8ba1\u7b97\u4efb\u52a1\uff0c\u89e3\u51b3\u6d77\u91cf\u6570\u636e\u7684\u5e76\u884c\u5904\u7406\u548c\u5bb9\u9519\u95ee\u9898\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 Map \u548c Reduce \u7684\u5206\u9636\u6bb5\u5904\u7406\u6a21\u578b\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u5207\u5206\u4efb\u52a1\u5b9e\u73b0\u5e76\u884c\u5316\u8ba1\u7b97\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u4efb\u52a1\u91cd\u8bd5\u548c\u4e2d\u95f4\u6587\u4ef6\u673a\u5236\u5b9e\u73b0\u5bb9\u9519\u3002<\/li>\n\n\n\n<li>\u9002\u5408\u79bb\u7ebf\u6570\u636e\u5904\u7406\uff0c\u4f46\u786c\u76d8\u8bfb\u5199\u53ef\u80fd\u5bfc\u81f4\u6027\u80fd\u74f6\u9888\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u4e24\u4e2a\u9636\u6bb5<\/h4>\n\n\n\n<p>Map\u9636\u6bb5\uff1a\u5c06\u8f93\u5165\u6570\u636e\u5206\u7247\uff0c\u6620\u5c04\u4e3a\u952e\u503c\u5bf9\uff08key-value\uff09\uff0c\u5e76\u751f\u6210\u4e2d\u95f4\u7ed3\u679c\u3002<br>Reduce\u9636\u6bb5\uff1a\u5bf9\u4e2d\u95f4\u7ed3\u679c\u7684\u952e\u503c\u5bf9\u8fdb\u884c\u5f52\u5e76\u548c\u805a\u5408\uff0c\u751f\u6210\u6700\u7ec8\u7684\u8f93\u51fa\u7ed3\u679c\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6d41\u7a0b\u5206\u89e3<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-487-1024x518.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"518\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-487-1024x518.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2764\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7528\u6237\u7a0b\u5e8f\uff08User Program\uff09<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u7528\u6237\u7f16\u5199 MapReduce \u7a0b\u5e8f\u3002<\/li>\n\n\n\n<li>\u7a0b\u5e8f\u901a\u8fc7\u5ba2\u6237\u7aef\u63d0\u4ea4\u5230\u96c6\u7fa4\uff0c\u7531 Master \u8fdb\u884c\u8c03\u5ea6\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Master \u8c03\u5ea6\u4efb\u52a1<\/strong>\n<ul class=\"wp-block-list\">\n<li>Master \u8d1f\u8d23\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5c06\u8f93\u5165\u6587\u4ef6\u5207\u5206\u6210\u591a\u4e2a\u903b\u8f91\u5206\u7247\uff08split\uff09\u3002<\/li>\n\n\n\n<li>\u5c06 Map \u548c Reduce \u4efb\u52a1\u5206\u914d\u7ed9\u7a7a\u95f2\u7684 Worker \u8282\u70b9\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8f93\u5165\u6587\u4ef6\u7684\u5206\u7247\u5927\u5c0f<\/strong>\u901a\u5e38\u7b49\u4e8e\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff08\u5982 HDFS\uff09\u7684 block \u5927\u5c0f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Map \u9636\u6bb5<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a Map Worker \u5904\u7406\u4e00\u4e2a\u6216\u591a\u4e2a\u5206\u7247\uff08split\uff09\uff0c\u4ece\u672c\u5730\u78c1\u76d8\u8bfb\u53d6\u6570\u636e\u3002<\/li>\n\n\n\n<li>Map Worker \u6267\u884c\u7528\u6237\u5b9a\u4e49\u7684&nbsp;<code>map()<\/code>&nbsp;\u51fd\u6570\uff0c\u5c06\u6570\u636e\u8f6c\u5316\u4e3a\u952e\u503c\u5bf9\uff08<code>key-value<\/code>\uff09\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\uff0c\u8bfb\u53d6\u4e00\u6b21\u201cam\u201d\uff0c\u8f93\u51fa&nbsp;<code>{am: 1}<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u4e2d\u95f4\u7ed3\u679c\u5199\u5165\u672c\u5730\u78c1\u76d8\uff0c\u751f\u6210<strong>\u4e2d\u95f4\u6587\u4ef6\uff08Intermediate Files\uff09<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Shuffle \u9636\u6bb5<\/strong>\n<ul class=\"wp-block-list\">\n<li>Reduce \u9636\u6bb5\u5f00\u59cb\u524d\uff0c\u6240\u6709<strong>\u4e2d\u95f4\u6587\u4ef6<\/strong>\u4f1a\u901a\u8fc7\u7f51\u7edc\u4f20\u8f93\uff08http\uff09\u5230 Reduce Worker\u3002<\/li>\n\n\n\n<li>\uff08<strong>sort<\/strong>\uff09Master \u6309\u7167\u952e\u503c\u5bf9\u7684\u952e\uff08<code>key<\/code>\uff09\u5bf9\u4e2d\u95f4\u6587\u4ef6\u5206\u533a\uff0c\u5e76\u5206\u914d\u5230\u4e0d\u540c\u7684 Reduce Worker\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\uff0c\u952e\u503c\u5bf9&nbsp;<code>{A-N}<\/code>&nbsp;\u53d1\u9001\u5230 Reduce Worker 1\uff0c<code>{O-Z}<\/code>&nbsp;\u53d1\u9001\u5230 Reduce Worker 2\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uff08<strong>Secondary Sort<\/strong>\uff09\u5982\u679c\u9700\u8981\u5bf9 key \u7684\u5206\u7ec4\u89c4\u5219\u548c\u6392\u5e8f\u89c4\u5219\u8fdb\u884c\u533a\u5206\uff0c\u53ef\u4ee5\u901a\u8fc7&nbsp;<code>Job.setSortComparatorClass(Class)<\/code>&nbsp;\u6765\u6307\u5b9a\u81ea\u5b9a\u4e49\u7684\u6392\u5e8f\u89c4\u5219\uff0c\u53ef\u4ee5\u63a7\u5236 key \u5982\u4f55\u5206\u7ec4\uff0c\u4ece\u800c\u5b9e\u73b0\u57fa\u4e8e&nbsp;value&nbsp;\u7684\u4e8c\u6b21\u6392\u5e8f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Reduce \u9636\u6bb5<\/strong>\n<ul class=\"wp-block-list\">\n<li>Reduce Worker \u8bfb\u53d6\u5206\u914d\u7684\u4e2d\u95f4\u6587\u4ef6\u3002<\/li>\n\n\n\n<li>\u6267\u884c\u7528\u6237\u5b9a\u4e49\u7684&nbsp;<code>reduce()<\/code>&nbsp;\u51fd\u6570\uff0c\u5bf9\u952e\u503c\u5bf9\u8fdb\u884c\u5f52\u5e76\u548c\u805a\u5408\uff0c\u751f\u6210\u6700\u7ec8\u7ed3\u679c\u3002\n<ul class=\"wp-block-list\">\n<li>\u4f8b\u5982\uff0c\u5c06&nbsp;<code>{are: 1, are: 1}<\/code>&nbsp;\u5f52\u5e76\u4e3a&nbsp;<code>{are: 2}<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u6700\u7ec8\u7ed3\u679c\u5199\u5165\u8f93\u51fa\u6587\u4ef6\uff08Output Files\uff09\u3002\u6ce8\u610f\uff1aReducer \u7684\u8f93\u51fa\u6570\u636e<strong>\u4e0d\u662f\u6392\u5e8f\u7684<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8f93\u51fa\u7ed3\u679c<\/strong>\n<ul class=\"wp-block-list\">\n<li>Reduce Worker \u7684\u8f93\u51fa\u6587\u4ef6\u5b58\u50a8\u5728\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u4e2d\uff0c\u4f9b\u7528\u6237\u4f7f\u7528\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u540e\u51e0\u4e2a\u9636\u6bb5\u90fd\u5c5e\u4e8ereduce\uff0c\u4eceShuffle<strong> <\/strong>\u7b97\u8d77\u3002\u5982\u679c\u6309\u7167\u8bfe\u4ef6\uff0creduce\u5206\u4e3a\u4e09\u4e2a\u9636\u6bb5suffle \uff0csort\uff0creduce<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">\u5bb9\u9519\u673a\u5236<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4efb\u52a1\u91cd\u8bd5<\/strong>\uff1a\u5982\u679c\u67d0\u4e2a Worker \u8282\u70b9\u5de5\u4f5c\u7f13\u6162\u6216\u5b95\u673a\uff0cMaster \u4f1a\u5c06\u672a\u5b8c\u6210\u7684\u4efb\u52a1\u5206\u914d\u7ed9\u5176\u4ed6\u7a7a\u95f2\u7684 Worker\u3002\u4f8b\u5982\uff0c\u5f53\u5904\u7406\u7b2c 100 \u5757\u6570\u636e\u7684 Worker \u51fa\u73b0\u95ee\u9898\uff0cMaster \u4f1a\u5c06\u4efb\u52a1\u5206\u914d\u7ed9\u53e6\u4e00\u4e2a\u7a7a\u95f2\u8282\u70b9\u3002<\/li>\n\n\n\n<li><strong>\u4e2d\u95f4\u6587\u4ef6\u7684\u5197\u4f59<\/strong>\uff1a\u4e2d\u95f4\u6587\u4ef6\u5b58\u50a8\u5728\u672c\u5730\u78c1\u76d8\u4e2d\uff0c\u4efb\u52a1\u5931\u8d25\u65f6\u53ef\u4ee5\u88ab\u5176\u4ed6 Worker \u91cd\u65b0\u8bfb\u53d6\u548c\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u6279\u5904\u7406\u7279\u70b9<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6279\u5904\u7406\uff1a\u6240\u6709\u6570\u636e\u5904\u7406\u5fc5\u987b\u6309\u7167\u9636\u6bb5\uff08Map -&gt; Shuffle -&gt; Reduce\uff09\u5b8c\u6210\uff0c\u6570\u636e\u4ee5\u6279\u6b21\u6d41\u52a8\u3002\n<ul class=\"wp-block-list\">\n<li>Reduce \u9636\u6bb5\u5f00\u59cb\u524d\uff0c\u6240\u6709 Map \u9636\u6bb5\u5fc5\u987b\u5b8c\u6210\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u5904\u7406\u662f\u79bb\u7ebf\u7684\uff0c\u9002\u5408\u9700\u8981\u5168\u91cf\u6570\u636e\u5206\u6790\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u6d41\u5f0f\u5904\u7406\uff1a\u4e0e\u6279\u5904\u7406\u4e0d\u540c\uff0c\u6d41\u5f0f\u5904\u7406\uff08\u5982 Spark Streaming\uff09\u53ef\u4ee5\u8fb9\u63a5\u6536\u6570\u636e\u8fb9\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u6027\u80fd\u4f18\u5316<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u786c\u76d8\u8bfb\u5199\u7684\u74f6\u9888\uff1aMapReduce \u4e2d\u95f4\u7ed3\u679c\u5b58\u50a8\u5728\u672c\u5730\u78c1\u76d8\uff0c\u5bf9\u6027\u80fd\u6709\u4e00\u5b9a\u5f71\u54cd\u3002<\/li>\n\n\n\n<li>\u5185\u5b58\u4f18\u5316\uff1a\u4e3a\u63d0\u9ad8\u6027\u80fd\uff0c\u53ef\u4ee5\u5c06\u4e2d\u95f4\u7ed3\u679c\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\uff08\u5982 Spark \u4f7f\u7528 RDD \u6570\u636e\u7ed3\u6784\u5b9e\u73b0\uff09\uff0c\u5185\u5b58\u4f18\u5316\u9700\u8981\u9ad8\u6548\u7684\u6570\u636e\u7ed3\u6784\u652f\u6301\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Google\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf (GFS)<\/strong>:<\/p>\n\n\n\n<p>\u5229\u7528\u73b0\u6709\u7684\u6587\u4ef6\u7cfb\u7edf\u5b9e\u73b0\u6587\u4ef6\u7ba1\u7406\uff0c\u5728\u4e0a\u9762\u518d\u52a0\u4e00\u5c42\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8bbe\u8ba1\u7528\u4e8e\u6ee1\u8db3\u5927\u89c4\u6a21\u6570\u636e\u5904\u7406\u9700\u6c42\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u65e5\u5fd7\u8bb0\u5f55\u63d0\u4ea4\u7684\u66f4\u65b0\uff0c\u5e76\u901a\u8fc7\u5185\u5b58\u548c\u6301\u4e45\u5316\u5b58\u50a8\u7ed3\u5408\u5b9e\u73b0\u9ad8\u6548\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-470-1024x390.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"390\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-470-1024x390.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2192\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p><strong>Bigtable<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-471-1024x295.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"295\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-471-1024x295.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2193\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Google\u5f00\u53d1\u7684\u5206\u5e03\u5f0f\u5b58\u50a8\u7cfb\u7edf\uff0c\u7528\u4e8e\u7ba1\u7406\u7ed3\u6784\u5316\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u4ee5\u884c\u952e\u3001\u5217\u952e\u548c\u65f6\u95f4\u6233\u7684\u5f62\u5f0f\u7d22\u5f15\uff0c\u9002\u7528\u4e8e\u5904\u7406\u6d77\u91cf\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1. \u9996\u5148\u548cmongoDB\u4e00\u6837\uff0c\u4e0d\u5b58\u5728\u4ec0\u4e48\u4e71\u4e03\u516b\u7cdf\u7684\u5916\u952e\u5173\u8054\u3002 <\/li>\n\n\n\n<li>2. Column Family \u5217\u65cf\uff1a\u50cf\u4e8c\u7ea7\u5206\u7c7b\u4e00\u6837\uff0c\u6bd4\u5982\u4f60\u6709\u5341\u4e2a\u5b57\u6bb5\uff0c\u6211\u4eec\u5206\u4e3a3+3+4\uff0c3\uff0c3\uff0c4\u5c31\u5206\u522b\u6210 \u4e3a\u5217\u65cf\u3002\u540e\u9762\u7ed3\u6784\u4e5f\u53ef\u4ee5\u6bd4\u8f83\u81ea\u7531\u5730\u53d8\u5316\uff0c\u6ca1\u6709\u90a3\u4e48\u4e25\u683c\u7684schema\u3002 <\/li>\n\n\n\n<li>3. TimeStamp\uff1a\u57fa\u4e8e\u65f6\u95f4\u6233\u7684\u6570\u636e\u5b58\u50a8\u3002\u4e0a\u56fe\u4e2d\u5c55\u793a\u51fa\u4e86\u4e00\u4e2a\u7acb\u4f53\u7684\u7ed3\u6784\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u603b\u7ed3\uff1a\u6570\u636e\u91cf\u975e\u5e38\u5927\u3001schema\u6ca1\u90a3\u4e48\u4e25\u683c\u3001\u5e0c\u671b\u5b58\u50a8\u591a\u4e2a\u7248\u672c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Apache Hadoop<\/strong>:\n<ul class=\"wp-block-list\">\n<li>\u4e00\u79cd\u5f00\u6e90\u6846\u67b6\uff0c\u652f\u6301\u53ef\u9760\u3001\u53ef\u6269\u5c55\u7684\u5206\u5e03\u5f0f\u8ba1\u7b97\u3002<\/li>\n\n\n\n<li>\u5305\u62ec\u6838\u5fc3\u7ec4\u4ef6\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>HDFS<\/strong>\uff1a\u9ad8\u541e\u5410\u91cf\u7684\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u3002<\/li>\n\n\n\n<li><strong>MapReduce<\/strong>\uff1a\u5927\u6570\u636e\u5206\u5e03\u5f0f\u5904\u7406\u6846\u67b6\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Edge Computing<\/strong><\/h2>\n\n\n\n<p><strong>\u8fb9\u7f18\u8ba1\u7b97<\/strong>\u662f\u4e00\u79cd\u4f18\u5316\u4e91\u8ba1\u7b97\u7684\u65b9\u5f0f\u3002<\/p>\n\n\n\n<p>\u57fa\u672c\u539f\u7406\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u601d\u60f3<\/strong>\uff1a\u5c06\u6570\u636e\u5904\u7406\u4ece\u4e91\u7aef\u201c\u4e2d\u5fc3\u5316\u201d\u5411\u201c\u53bb\u4e2d\u5fc3\u5316\u201d\u8f6c\u53d8\uff0c\u901a\u8fc7\u5c31\u8fd1\u5904\u7406\u4f18\u5316\u6027\u80fd\u548c\u6548\u7387\u3002\u5f53\u65e0\u6cd5\u5904\u7406\u65f6\u5019\u5411\u4e0a\u5378\u8f7d\u5230\u8ba1\u7b97\u80fd\u529b\u66f4\u5f3a\u8282\u70b9\u3002<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\u8fb9\u7f18<\/strong>\uff1a\u662f\u6307\u9760\u8fd1\u6570\u636e\u6e90\uff08\u5982\u4f20\u611f\u5668\u3001\u7269\u8054\u7f51\u8bbe\u5907\u3001\u667a\u80fd\u7ec8\u7aef\u7b49\uff09\u7684\u90e8\u5206\uff0c\u800c\u4e0d\u662f\u4f9d\u8d56\u4e8e\u8fdc\u7a0b\u4e91\u6570\u636e\u4e2d\u5fc3\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u7279\u70b9 <\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u51cf\u5c11\u5e26\u5bbd\u9700\u6c42<\/strong>\uff1a<br>\u6570\u636e\u65e0\u9700\u5168\u90e8\u4e0a\u4f20\u5230\u4e91\u7aef\uff0c\u8282\u7701\u7f51\u7edc\u4f20\u8f93\u6210\u672c\u3002<\/li>\n\n\n\n<li><strong>\u672c\u5730\u5904\u7406\u80fd\u529b<\/strong>\uff1a<br>\u5728\u8bbe\u5907\u672c\u5730\u5b8c\u6210\u5927\u90e8\u5206\u8ba1\u7b97\u4efb\u52a1\uff0c\u4f8b\u5982\u667a\u80fd\u624b\u673a\u3001\u4f20\u611f\u5668\u3001\u5e73\u677f\u7535\u8111\u3002<\/li>\n\n\n\n<li><strong>\u65ad\u7f51\u8fd0\u884c<\/strong>\uff1a<br>\u8fb9\u7f18\u8bbe\u5907\u53ef\u4ee5\u5728\u7f51\u7edc\u4e0d\u7a33\u5b9a\u6216\u65ad\u7f51\u65f6\u7ee7\u7eed\u8fd0\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5e94\u7528\u573a\u666f<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89c6\u9891\u5206\u6790<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f20\u7edf\u4e91\u8ba1\u7b97\u56e0\u5ef6\u8fdf\u548c\u9690\u79c1\u95ee\u9898\u4e0d\u9002\u5408\u5904\u7406\u89c6\u9891\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u8fb9\u7f18\u8ba1\u7b97\u53ef\u4ee5\u5728\u672c\u5730\u8bbe\u5907\u5206\u6790\u89c6\u9891\uff0c\u5e76\u4ec5\u4e0a\u4f20\u7ed3\u679c\u5230\u4e91\u7aef\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u667a\u80fd\u5bb6\u5c45<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5728\u5bb6\u4e2d\u672c\u5730\u5904\u7406\u6570\u636e\uff0c\u51cf\u5c11\u9690\u79c1\u6cc4\u9732\u548c\u5e26\u5bbd\u538b\u529b\u3002<\/li>\n\n\n\n<li>\u8fb9\u7f18\u7f51\u5173\uff08\u5982<strong>EdgeOS<\/strong>\uff09\u53ef\u4ee5\u5b9e\u73b0\u8bbe\u5907\u7684\u9ad8\u6548\u7ba1\u7406\u548c\u670d\u52a1\u90e8\u7f72\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u79fb\u52a8\u8fb9\u7f18\u8ba1\u7b97 (MEC)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e91\u5378\u8f7d<\/strong>\uff08Cloud Offloading \uff09\n<ul class=\"wp-block-list\">\n<li>\u8fb9\u7f18\u670d\u52a1\u5668\u6709\u65f6\u65e0\u6cd5\u5904\u7406\u8fc7\u591a\u7684\u8bf7\u6c42\u6216\u8ba1\u7b97\uff0c\u6b64\u65f6\u53ef\u4ee5\u5411\u4e0a\u5378\u8f7d\u5230\u8ba1\u7b97\u80fd\u529b\u66f4\u5f3a\u7684\u8282\u70b9\u5904\u7406\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8ba1\u7b97\u5378\u8f7d (Computation Offloading)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5c06\u590d\u6742\u8ba1\u7b97\u4efb\u52a1\u4ece\u7ec8\u7aef\u8bbe\u5907\u8f6c\u79fb\u5230\u8fb9\u7f18\u670d\u52a1\u5668\uff0c\u8282\u7701\u8bbe\u5907\u80fd\u8017\uff0c\u63d0\u9ad8\u8ba1\u7b97\u901f\u5ea6\u3002<\/li>\n\n\n\n<li>\u5f62\u5f0f\u5305\u62ec\u672c\u5730\u6267\u884c\u3001\u5b8c\u5168\u5378\u8f7d\u548c\u90e8\u5206\u5378\u8f7d\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e09\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">GraphQL<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>API\u7684\u67e5\u8be2\u8bed\u8a00<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>GraphQL\u662f\u4e00\u79cd\u7528\u4e8eAPI\u7684\u67e5\u8be2\u8bed\u8a00\u3002<\/li>\n\n\n\n<li>\u5b83\u5141\u8bb8\u5ba2\u6237\u7aef<strong>\u53ea\u8bf7\u6c42\u6240\u9700\u7684\u6570\u636e<\/strong>\uff0c\u5982\u6307\u5b9a\u7684Order_id\u800c\u975e\u5168\u90e8Order\uff0c\u907f\u514d\u4e86\u4f20\u7edfREST API\u5197\u4f59\u6570\u636e\u7684\u95ee\u9898\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7c7b\u578b\u7cfb\u7edf (Type System)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>GraphQL\u57fa\u4e8e\u4e00\u4e2a\u7528\u6237\u5b9a\u4e49\u7684\u7c7b\u578b\u7cfb\u7edf\u6765\u8fd0\u884c\uff0c\u80fd\u517c\u5bb9\u73b0\u6709\u7684\u6570\u636e\u548c\u4ee3\u7801\u3002<\/li>\n\n\n\n<li>\u901a\u8fc7\u5b9a\u4e49\u6570\u636e\u7c7b\u578b\u548c\u5b57\u6bb5\uff0c\u63d0\u4f9b\u7075\u6d3b\u4e14\u5f3a\u5927\u7684\u6570\u636e\u67e5\u8be2\u65b9\u5f0f\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u529f\u80fd<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u67e5\u8be2\u548c\u53d8\u66f4 (Queries and Mutations)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u67e5\u8be2 (Query)\uff1a\u7528\u4e8e\u83b7\u53d6\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u53d8\u66f4 (Mutation)\uff1a\u7528\u4e8e\u66f4\u65b0\u6216\u5199\u5165\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b57\u6bb5\u548c\u53c2\u6570 (Fields and Arguments)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>GraphQL\u652f\u6301\u4e3a\u6bcf\u4e2a\u5b57\u6bb5\u5b9a\u4e49\u53c2\u6570\uff0c\u5b9e\u73b0\u7cbe\u786e\u67e5\u8be2\u3002\u5982\u67e5\u6240\u6709hero\u7684name\uff0c\u6307\u5b9a\u6570\u636e\u8f6c\u6362\u4e3a\u82f1\u5c3a\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u522b\u540d (Aliases)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5141\u8bb8\u7ed9\u5b57\u6bb5\u8bbe\u7f6e\u522b\u540d\uff0c\u89e3\u51b3\u6570\u636e\u51b2\u7a81\u95ee\u9898\u3002\u5982\u4e0d\u540cfield\u91cc\u7684id\uff0c\u8d77\u522b\u540d\u533a\u5206<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7247\u6bb5 (Fragments)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u652f\u6301\u5728\u591a\u4e2a\u67e5\u8be2\u4e2d\u590d\u7528\u5b57\u6bb5\u96c6\u5408\uff0c\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u53d8\u91cf (Variables)<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u52a8\u6001\u503c\u53ef\u4ee5\u4ece\u67e5\u8be2\u4e2d\u63d0\u53d6\uff0c\u901a\u8fc7\u5b57\u5178\u65b9\u5f0f\u4f20\u9012\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">GraphQL \u548c RESTful API \u5bf9\u6bd4<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GraphQL \u4f18\u52bf<\/strong>\uff1a\u7075\u6d3b\u7684\u6570\u636e\u83b7\u53d6\u65b9\u5f0f\u3001\u907f\u514d\u591a\u4f59\u6216\u4e0d\u8db3\u6570\u636e\u4f20\u8f93\u3001\u652f\u6301\u5b9e\u65f6\u6570\u636e\u63a8\u9001\u3001\u51cf\u5c11\u8bf7\u6c42\u6b21\u6570\uff0c\u9002\u5408\u590d\u6742\u548c\u73b0\u4ee3\u5316\u5e94\u7528\u3002<\/li>\n\n\n\n<li><strong>RESTful API \u4f18\u52bf<\/strong>\uff1a\u8bbe\u8ba1\u7b80\u5355\u3001\u751f\u6001\u6210\u719f\u3001\u9002\u5408\u8d44\u6e90\u7ed3\u6784\u6e05\u6670\u3001\u63a5\u53e3\u7a33\u5b9a\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u5bf9\u6bd4\u7ef4\u5ea6<\/strong><\/th><th><strong>GraphQL<\/strong><\/th><th><strong>RESTful API<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u7aef\u70b9\u6570\u91cf<\/strong><\/td><td>\u5355\u4e00\u7aef\u70b9\uff0c\u6240\u6709\u67e5\u8be2\u901a\u8fc7\u4e00\u4e2a <code>\/graphql<\/code> \u7aef\u70b9\u5b8c\u6210\u3002<\/td><td>\u591a\u4e2a\u7aef\u70b9\uff0c\u6bcf\u4e2a\u7aef\u70b9\u4ee3\u8868\u4e00\u4e2a\u8d44\u6e90\u6216\u4e00\u7ec4\u76f8\u5173\u8d44\u6e90\u3002<\/td><\/tr><tr><td><strong>\u67e5\u8be2\u8bed\u8a00<\/strong><\/td><td>\u4f7f\u7528\u5f3a\u5927\u7684\u67e5\u8be2\u8bed\u8a00\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u7cbe\u786e\u8bf7\u6c42\u6240\u9700\u7684\u6570\u636e\u5b57\u6bb5\u3002<\/td><td>\u4e0d\u652f\u6301\u67e5\u8be2\u8bed\u8a00\uff0c\u5ba2\u6237\u7aef\u53ea\u80fd\u83b7\u53d6\u670d\u52a1\u5668\u9884\u5b9a\u4e49\u7684\u6570\u636e\u7ed3\u6784\u3002<\/td><\/tr><tr><td><strong>\u6570\u636e\u83b7\u53d6\u65b9\u5f0f<\/strong><\/td><td>\u5ba2\u6237\u7aef\u51b3\u5b9a\u6570\u636e\u7ed3\u6784\uff0c\u53ef\u4ee5\u6309\u9700\u83b7\u53d6\u9700\u8981\u7684\u6570\u636e\uff0c\u907f\u514d\u8fc7\u591a\u6216\u8fc7\u5c11\u7684\u6570\u636e\u4f20\u8f93\u3002<\/td><td>\u670d\u52a1\u5668\u51b3\u5b9a\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5ba2\u6237\u7aef\u9700\u8981\u6839\u636e\u670d\u52a1\u5668\u7aef\u7684\u8bbe\u8ba1\u8bbf\u95ee\u8d44\u6e90\u8def\u5f84\u83b7\u53d6\u6570\u636e\u3002<\/td><\/tr><tr><td><strong>\u7248\u672c\u7ba1\u7406<\/strong><\/td><td>\u4e0d\u9700\u8981\u4e25\u683c\u7684\u7248\u672c\u7ba1\u7406\u3002\u65b0\u589e\u6216\u4fee\u6539\u5b57\u6bb5\u4e0d\u4f1a\u5f71\u54cd\u73b0\u6709\u5ba2\u6237\u7aef\u3002<\/td><td>\u901a\u5e38\u9700\u8981\u901a\u8fc7\u589e\u52a0 API \u7248\u672c\uff08\u5982 <code>\/v1\/resource<\/code>\uff09\u6765\u7ba1\u7406\u66f4\u65b0\uff0c\u786e\u4fdd\u517c\u5bb9\u6027\u3002<\/td><\/tr><tr><td><strong>\u5b9e\u65f6\u6570\u636e\u652f\u6301<\/strong><\/td><td>\u652f\u6301\u5b9e\u65f6\u6570\u636e\u63a8\u9001\uff0c\u901a\u8fc7\u8ba2\u9605\uff08Subscription\uff09\u673a\u5236\u5b9e\u73b0\u3002<\/td><td>\u4e0d\u76f4\u63a5\u652f\u6301\u5b9e\u65f6\u6570\u636e\uff0c\u901a\u5e38\u9700\u8981\u901a\u8fc7\u8f6e\u8be2\u6216 WebSocket \u7b49\u673a\u5236\u5b9e\u73b0\u3002<\/td><\/tr><tr><td><strong>\u8d44\u6e90\u8868\u793a<\/strong><\/td><td>\u5141\u8bb8\u5ba2\u6237\u7aef\u6839\u636e\u9700\u6c42\u7ec4\u5408\u8d44\u6e90\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u7075\u6d3b\u51b3\u5b9a\u5982\u4f55\u83b7\u53d6\u548c\u7ec4\u5408\u6570\u636e\u3002<\/td><td>\u4ee5\u8d44\u6e90\u4e3a\u4e2d\u5fc3\uff0c\u6bcf\u4e2a\u8d44\u6e90\u6709\u552f\u4e00\u7684 URI\uff0c\u8d44\u6e90\u8868\u793a\u56fa\u5b9a\uff0c\u7f3a\u4e4f\u7075\u6d3b\u6027\u3002<\/td><\/tr><tr><td><strong>\u8fc7\u591a\u6570\u636e\u4f20\u8f93<\/strong><\/td><td>\u907f\u514d\u8fc7\u591a\u6570\u636e\u4f20\u8f93\uff0c\u5ba2\u6237\u7aef\u53ea\u4f1a\u63a5\u6536\u5230\u660e\u786e\u8bf7\u6c42\u7684\u6570\u636e\u5b57\u6bb5\u3002<\/td><td>\u53ef\u80fd\u4f1a\u8fd4\u56de\u5ba2\u6237\u7aef\u4e0d\u9700\u8981\u7684\u6570\u636e\uff0c\u9020\u6210\u6570\u636e\u6d6a\u8d39\u3002<\/td><\/tr><tr><td><strong>\u4e0d\u8db3\u6570\u636e\u4f20\u8f93<\/strong><\/td><td>\u907f\u514d\u4e0d\u8db3\u6570\u636e\u4f20\u8f93\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u5728\u4e00\u6b21\u8bf7\u6c42\u4e2d\u83b7\u53d6\u6240\u6709\u9700\u8981\u7684\u6570\u636e\uff0c\u907f\u514d\u591a\u6b21\u8bf7\u6c42\u3002<\/td><td>\u5982\u679c\u4e00\u4e2a\u8d44\u6e90\u4e0d\u5305\u542b\u5ba2\u6237\u7aef\u9700\u8981\u7684\u5168\u90e8\u6570\u636e\uff0c\u53ef\u80fd\u9700\u8981\u591a\u6b21\u8bf7\u6c42\u4e0d\u540c\u7684\u7aef\u70b9\u6765\u83b7\u53d6\u5b8c\u6574\u6570\u636e\u3002<\/td><\/tr><tr><td><strong>\u590d\u6742\u67e5\u8be2\u652f\u6301<\/strong><\/td><td>\u652f\u6301\u590d\u6742\u67e5\u8be2\uff0c\u53ef\u4ee5\u5728\u5355\u4e2a\u8bf7\u6c42\u4e2d\u83b7\u53d6\u591a\u4e2a\u76f8\u5173\u8d44\u6e90\u7684\u6570\u636e\u3002<\/td><td>\u590d\u6742\u67e5\u8be2\u9700\u8981\u591a\u4e2a\u7aef\u70b9\u8bf7\u6c42\uff0c\u6216\u8005\u901a\u8fc7\u670d\u52a1\u5668\u7aef\u8bbe\u8ba1\u4e13\u95e8\u7684\u67e5\u8be2\u63a5\u53e3\u3002<\/td><\/tr><tr><td><strong>\u5b9e\u65f6\u6027<\/strong><\/td><td>\u539f\u751f\u652f\u6301\u8ba2\u9605\u673a\u5236\uff0c\u9002\u5408\u9700\u8981\u5b9e\u65f6\u66f4\u65b0\u6570\u636e\u7684\u573a\u666f\u3002<\/td><td>\u4e0d\u652f\u6301\u539f\u751f\u5b9e\u65f6\u66f4\u65b0\uff0c\u901a\u5e38\u9700\u8981\u989d\u5916\u5b9e\u73b0\uff08\u5982\u8f6e\u8be2\u6216 WebSocket\uff09\u3002<\/td><\/tr><tr><td><strong>\u5b66\u4e60\u66f2\u7ebf<\/strong><\/td><td>\u9700\u8981\u5b66\u4e60 GraphQL \u7684\u67e5\u8be2\u8bed\u8a00\u548c\u67b6\u6784\u8bbe\u8ba1\uff0c\u521d\u671f\u5b66\u4e60\u66f2\u7ebf\u8f83\u9661\u3002<\/td><td>\u4f7f\u7528 HTTP \u534f\u8bae\u7684\u6807\u51c6\u65b9\u6cd5\uff0c\u5b66\u4e60\u66f2\u7ebf\u8f83\u5e73\u7f13\uff0c\u5f00\u53d1\u8005\u8f83\u4e3a\u719f\u6089\u3002<\/td><\/tr><tr><td><strong>\u5de5\u5177\u652f\u6301<\/strong><\/td><td>\u6709\u4e30\u5bcc\u7684\u5de5\u5177\u652f\u6301\uff08\u5982 Apollo\u3001Relay \u7b49\uff09\uff0c\u53ef\u4ee5\u5e2e\u52a9\u5feb\u901f\u5f00\u53d1\u548c\u8c03\u8bd5\u3002<\/td><td>\u6709\u5e7f\u6cdb\u7684\u5de5\u5177\u548c\u5e93\u652f\u6301\uff08\u5982 Postman\u3001Swagger \u7b49\uff09\uff0c\u751f\u6001\u6210\u719f\u3002<\/td><\/tr><tr><td><strong>\u6027\u80fd\u4f18\u5316<\/strong><\/td><td>\u53ef\u4ee5\u51cf\u5c11\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u8bf7\u6c42\u6b21\u6570\uff0c\u4f18\u5316\u6027\u80fd\uff08\u7279\u522b\u662f\u5728\u9700\u8981\u590d\u6742\u67e5\u8be2\u65f6\uff09\u3002<\/td><td>\u53ef\u80fd\u9700\u8981\u591a\u6b21\u8bf7\u6c42\u6765\u5b8c\u6210\u590d\u6742\u67e5\u8be2\uff0c\u589e\u52a0\u7f51\u7edc\u5f00\u9500\u3002<\/td><\/tr><tr><td><strong>\u9519\u8bef\u5904\u7406<\/strong><\/td><td>\u9519\u8bef\u4fe1\u606f\u901a\u5e38\u96c6\u4e2d\u5728\u54cd\u5e94\u7684 <code>errors<\/code> \u5b57\u6bb5\u4e2d\uff0c\u4fbf\u4e8e\u5ba2\u6237\u7aef\u5904\u7406\u3002<\/td><td>\u9519\u8bef\u4fe1\u606f\u901a\u8fc7 HTTP \u72b6\u6001\u7801\u548c\u54cd\u5e94\u4f53\u8fd4\u56de\uff0c\u9700\u8981\u5ba2\u6237\u7aef\u89e3\u6790\u548c\u5904\u7406\u3002<\/td><\/tr><tr><td><strong>\u751f\u6001\u6210\u719f\u5ea6<\/strong><\/td><td>\u65b0\u5174\u6280\u672f\uff0c\u751f\u6001\u7cfb\u7edf\u6b63\u5728\u5feb\u901f\u53d1\u5c55\uff0c\u9002\u5408\u73b0\u4ee3\u5316\u5e94\u7528\u5f00\u53d1\u3002<\/td><td>\u6210\u719f\u7684\u6280\u672f\uff0c\u5e7f\u6cdb\u5e94\u7528\u4e8e\u5404\u79cd\u9879\u76ee\uff0c\u7279\u522b\u662f\u4f20\u7edf\u7cfb\u7edf\u548c\u7b80\u5355\u5e94\u7528\u573a\u666f\u3002<\/td><\/tr><tr><td><strong>\u9002\u7528\u573a\u666f<\/strong><\/td><td>\u9002\u5408\u9700\u8981\u7075\u6d3b\u6570\u636e\u83b7\u53d6\u3001\u5b9e\u65f6\u6027\u5f3a\u3001\u590d\u6742\u67e5\u8be2\u7684\u573a\u666f\uff08\u5982\u79fb\u52a8\u7aef\u3001\u524d\u7aef\u5e94\u7528\uff09\u3002<\/td><td>\u9002\u5408\u8d44\u6e90\u7b80\u5355\u3001\u63a5\u53e3\u7a33\u5b9a\u3001\u4f20\u7edf\u9879\u76ee\u4e2d\uff0c\u7279\u522b\u662f CRUD \u64cd\u4f5c\u8f83\u591a\u7684\u573a\u666f\u3002<\/td><\/tr><tr><td><strong>\u7f13\u5b58\u652f\u6301<\/strong><\/td><td>\u5ba2\u6237\u7aef\u9700\u8981\u81ea\u884c\u5b9e\u73b0\u7f13\u5b58\u903b\u8f91\uff08\u5982 Apollo Client \u63d0\u4f9b\u7684\u7f13\u5b58\u529f\u80fd\uff09\u3002<\/td><td>\u57fa\u4e8e HTTP \u7684\u7f13\u5b58\u673a\u5236\uff08\u5982 ETag\u3001Last-Modified\uff09\u652f\u6301\u539f\u751f\u7f13\u5b58\u529f\u80fd<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u56db\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Container<\/h2>\n\n\n\n<p>\u5bb9\u5668\u662f\u4e00\u4e2a<strong>\u6c99\u76d2\u5316\u7684\u8fdb\u7a0b<\/strong>\uff0c\u8fd0\u884c\u5728\u4e3b\u673a\u7cfb\u7edf\u4e2d\uff0c\u4e0e\u5176\u4ed6\u8fdb\u7a0b\u5b8c\u5168\u9694\u79bb\u3002<br>\u5bb9\u5668\u5229\u7528\u4e86Linux\u5185\u6838\u4e2d\u7684\u4ee5\u4e0b\u529f\u80fd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Namespaces\uff08\u547d\u540d\u7a7a\u95f4\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63d0\u4f9b\u8fdb\u7a0b\u3001\u7f51\u7edc\u3001\u6587\u4ef6\u7cfb\u7edf\u7b49\u9694\u79bb\u73af\u5883\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>cgroups\uff08\u63a7\u5236\u7ec4\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u63a7\u5236\u8d44\u6e90\u5206\u914d\uff0c\u5982CPU\u3001\u5185\u5b58\u7b49\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Docker<\/h2>\n\n\n\n<p>Docker \u662f\u4e00\u79cd\u5bb9\u5668\u5316\u6280\u672f\uff0c\u901a\u8fc7\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u7684\u865a\u62df\u5316\uff0c\u5c06\u5e94\u7528\u7a0b\u5e8f\u53ca\u5176\u4f9d\u8d56\u6253\u5305\u5230\u4e00\u4e2a\u5bb9\u5668\u4e2d\u3002\u5bb9\u5668\u63d0\u4f9b\u4e86\u4e00\u4e2a\u72ec\u7acb\u7684\u8fd0\u884c\u73af\u5883\uff0c\u53ef\u4ee5\u5728\u4efb\u4f55\u5730\u65b9\u8fd0\u884c\uff08\u5f00\u53d1\u3001\u6d4b\u8bd5\u3001\u751f\u4ea7\u73af\u5883\u4e00\u81f4\uff09\u3002\u4e0e\u4f20\u7edf\u865a\u62df\u673a\u76f8\u6bd4\uff0c\u5bb9\u5668\u66f4\u52a0\u8f7b\u91cf\u7ea7\uff0c\u56e0\u4e3a\u5b83\u4eec<strong>\u76f4\u63a5\u4e0e\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u4ea4\u4e92\uff0c\u65e0\u9700\u865a\u62df\u5316\u786c\u4ef6<\/strong>\u3002<\/p>\n\n\n\n<p>Docker\u4f7f\u8fd9\u4e9b\u6280\u672f\u53d8\u5f97\u66f4\u52a0\u6613\u4e8e\u4f7f\u7528\u3002\u603b\u7ed3\u6765\u8bf4\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5bb9\u5668\u662f\u4e00\u79cd\u53ef\u8fd0\u884c\u7684\u955c\u50cf\u5b9e\u4f8b<\/strong>\uff1a\u53ef\u4ee5\u901a\u8fc7Docker API\u6216CLI\u521b\u5efa\u3001\u542f\u52a8\u3001\u505c\u6b62\u3001\u79fb\u52a8\u6216\u5220\u9664\u3002<\/li>\n\n\n\n<li><strong>\u8de8\u5e73\u53f0<\/strong>\uff1a\u53ef\u4ee5\u5728\u672c\u5730\u3001\u865a\u62df\u673a\u6216\u4e91\u7aef\u8fd0\u884c\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u5ea6\u9694\u79bb<\/strong>\uff1a\u5bb9\u5668\u6709\u81ea\u5df1\u7684\u8f6f\u4ef6\u3001\u4e8c\u8fdb\u5236\u6587\u4ef6\u3001\u914d\u7f6e\u7b49\uff0c\u5f7c\u6b64\u72ec\u7acb\u3002\u5bb9\u5668\u5f7c\u6b64\u72ec\u7acb\uff0c\u4e92\u4e0d\u5e72\u6270\uff08\u901a\u8fc7 cgroup \u548c namespace \u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\uff09\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u79fb\u690d<\/strong>\uff1a\u53ef\u4ee5\u8fd0\u884c\u5728\u4e0d\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Image<\/strong><\/h2>\n\n\n\n<p>\u955c\u50cf\u662f\u6784\u5efa\u5bb9\u5668\u7684\u57fa\u7840\uff0c\u6bcf\u4e2a\u955c\u50cf\u7c7b\u4f3c\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5feb\u7167\uff0c\u662f\u4e00\u4e2a<strong>\u53ea\u8bfb\u6a21\u677f<\/strong>\uff0c\u7528\u6765\u521b\u5efa\u5bb9\u5668\u3002\u5bb9\u5668\u542f\u52a8\u65f6\u4ece\u955c\u50cf\u83b7\u53d6\u6587\u4ef6\u7cfb\u7edf\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u955c\u50cf\u63d0\u4f9b\u4e86\u5bb9\u5668\u6240\u9700\u7684\u9694\u79bb\u6587\u4ef6\u7cfb\u7edf<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u955c\u50cf\u5305\u542b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5e94\u7528\u8fd0\u884c\u6240\u9700\u7684\u6240\u6709\u4f9d\u8d56\u3001\u914d\u7f6e\u3001\u811a\u672c\u3001\u4e8c\u8fdb\u5236\u6587\u4ef6\u7b49\u3002<\/li>\n\n\n\n<li>\u5bb9\u5668\u7684\u5143\u6570\u636e\uff08\u5982\u73af\u5883\u53d8\u91cf\u3001\u9ed8\u8ba4\u8fd0\u884c\u547d\u4ee4\u7b49\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-457.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"279\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-457.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2116\"  sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/div><\/figure>\n\n\n\n<p>\u865a\u62df\u673a\u9700\u8981\u4e00\u4e2a\u5b8c\u6574\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u8fd0\u884c\uff0c\u8d44\u6e90\u5f00\u9500\u8f83\u5927\u3002\u800c\u5bb9\u5668\u5171\u4eab\u5bbf\u4e3b\u673a\u7684\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\uff0c\u542f\u52a8\u901f\u5ea6\u5feb\u3001\u8d44\u6e90\u5360\u7528\u4f4e\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>\u7279\u6027<\/strong><\/th><th><strong>\u5bb9\u5668<\/strong><\/th><th><strong>\u865a\u62df\u673a<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u542f\u52a8\u901f\u5ea6<\/strong><\/td><td>\u6781\u5feb\uff08\u901a\u5e38\u5728\u51e0\u79d2\u5185\uff09<\/td><td>\u8f83\u6162\uff08\u901a\u5e38\u9700\u8981\u51e0\u5206\u949f\uff09<\/td><\/tr><tr><td><strong>\u8d44\u6e90\u5360\u7528<\/strong><\/td><td>\u8f7b\u91cf\uff08\u5171\u4eab\u4e3b\u673a\u5185\u6838\uff09<\/td><td>\u91cd\uff08\u6bcf\u4e2aVM\u6709\u72ec\u7acbOS\uff0c\u8d44\u6e90\u6d88\u8017\u5927\uff09<\/td><\/tr><tr><td><strong>\u9694\u79bb\u6027<\/strong><\/td><td>\u4e2d\u7b49\uff08\u5171\u4eab\u5185\u6838\uff0c\u4f46\u8fdb\u7a0b\u9694\u79bb\uff09<\/td><td>\u9ad8\uff08\u5b8c\u5168\u9694\u79bb\uff0c\u6bcf\u4e2aVM\u72ec\u7acb\u8fd0\u884c\uff09<\/td><\/tr><tr><td><strong>\u79fb\u690d\u6027<\/strong><\/td><td>\u9ad8\uff08\u80fd\u5728\u4e0d\u540c\u73af\u5883\u4e2d\u4e00\u81f4\u8fd0\u884c\uff09<\/td><td>\u4e2d\u7b49\uff08\u4f9d\u8d56\u4e8ehypervisor\u53caOS\uff09<\/td><\/tr><tr><td><strong>\u7ba1\u7406\u5de5\u5177<\/strong><\/td><td>Docker, Kubernetes\u7b49<\/td><td>VMware, Hyper-V, KVM\u7b49<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-458-1024x640.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-458-1024x640.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2117\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Docker\u6784\u5efa<\/h2>\n\n\n\n<p><strong>\u6784\u5efa\u955c\u50cf<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a<code>Dockerfile<\/code>\u7684\u6587\u4ef6\uff08\u65e0\u540e\u7f00\uff09<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM node:18-alpine     #\u6307\u5b9a\u955c\u50cf\u7684\u57fa\u7840\u73af\u5883\nWORKDIR \/app     #\u5de5\u4f5c\u76ee\u5f55\u4f4d\u7f6e\nCOPY . .     #\u5c06\u5bbf\u4e3b\u673a\uff08\u5373\u5f00\u53d1\u73af\u5883\uff09\u5f53\u524d\u76ee\u5f55\u7684\u6240\u6709\u5185\u5bb9\uff08.\uff09\u590d\u5236\u5230\u5bb9\u5668\u7684\u5de5\u4f5c\u76ee\u5f55\uff08\/app\uff09\u3002\nRUN yarn install --production   #\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c yarn install \u547d\u4ee4\nCMD &#91;\"node\", \"src\/index.js\"]  #node\u542f\u52a8\nEXPOSE 3000  #3000\u7aef\u53e3\u66b4\u9732<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6267\u884c\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a<br><code>$ docker build -t getting-started .<\/code><\/li>\n<\/ul>\n\n\n\n<p><strong>\u542f\u52a8\u5bb9\u5668<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8\u5bb9\u5668\uff1a<br><code>$ docker run -dp 3000:3000 getting-started<\/code><\/li>\n\n\n\n<li>\u53c2\u6570\u8bf4\u660e\uff1a\n<ul class=\"wp-block-list\">\n<li><code>-d<\/code>\uff1a\u540e\u53f0\u8fd0\u884c\u5bb9\u5668\u3002<\/li>\n\n\n\n<li><code>-p 3000:3000<\/code>\uff1a\u5c06\u4e3b\u673a\u76843000\u7aef\u53e3\u6620\u5c04\u5230\u5bb9\u5668\u76843000\u7aef\u53e3\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mount<\/h2>\n\n\n\n<p>\u5f53\u9700\u8981\u5bf9\u5185\u5bb9\u4fee\u6539\uff0c\u6211\u4eec\u53ef\u4ee5\u5c06\u6570\u636e\u5199\u5230\u5bb9\u5668\u7684\u53ef\u5199\u5165\u5c42\uff0c\u4f46\u5f53\u5bb9\u5668\u505c\u6b62\u8fd0\u884c\u65f6\uff0c\u5199\u5165\u7684\u6570\u636e\u4f1a\u4e22\u5931\u3002\u8981\u4e48\u91cd\u65b0\u6253\u5305\uff0c\u8fc7\u7a0b\u5341\u5206\u7e41\u7410\u3002<\/p>\n\n\n\n<p>\u8fd9\u65f6\u5019\u53ef\u4ee5\u7528<strong>\u6570\u636e\u6302\u8f7d<\/strong>\uff0c\u6307\u7684\u662f\u5c06\u4e3b\u673a\u6587\u4ef6\u7cfb\u7edf\u4e2d\u7684\u67d0\u4e2a\u90e8\u5206\uff08\u6587\u4ef6\u6216\u76ee\u5f55\uff09\u4e0e\u5bb9\u5668\u5185\u7684\u67d0\u4e2a\u8def\u5f84\u5173\u8054\u8d77\u6765\uff0c\u4f7f\u5bb9\u5668\u53ef\u4ee5\u8bbf\u95ee\u4e3b\u673a\u7684\u6570\u636e\uff0c\u6216\u8005\u4e3b\u673a\u53ef\u4ee5\u65b9\u4fbf\u7684\u4fee\u6539\u6587\u4ef6\u6216\u6570\u636e\uff0c\u4ee5\u4e0b\u662f\u4e24\u79cd\u6302\u8f7d\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u5bf9\u6bd4\u9879<\/strong><\/th><th><strong>Bind Mount<\/strong><\/th><th><strong>Volume<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Source\u4f4d\u7f6e<\/strong><\/td><td>\u7528\u6237\u6307\u5b9a<\/td><td>\u7cfb\u7edf\u6307\u5b9a<\/td><\/tr><tr><td><strong>Source\u4e3a\u7a7a<\/strong><\/td><td>\u8986\u76d6 dest \u4e3a\u7a7a<\/td><td>\u4fdd\u7559 dest \u5185\u5bb9<\/td><\/tr><tr><td><strong>Source\u975e\u7a7a<\/strong><\/td><td>\u8986\u76d6 dest \u5185\u5bb9<\/td><td>\u8986\u76d6 dest \u5185\u5bb9<\/td><\/tr><tr><td><strong>Source\u79cd\u7c7b<\/strong><\/td><td>\u6587\u4ef6\u6216\u76ee\u5f55<\/td><td>\u53ea\u80fd\u662f\u76ee\u5f55 <\/td><\/tr><tr><td><strong>\u53ef\u79fb\u690d\u6027<\/strong><\/td><td>\u4e00\u822c\uff08\u81ea\u884c\u7ef4\u62a4\uff09<\/td><td>\u5f3a\uff08Docker \u6258\u7ba1\uff09\u53ef\u4ee5\u901a\u8fc7 docker run \u6216 docker-compose \u6587\u4ef6\u8f7b\u677e\u79fb\u690d\u5230\u4e0d\u540c\u7684\u4e3b\u673a\u3002<\/td><\/tr><tr><td><strong>\u5bbf\u4e3b\u76f4\u63a5\u8bbf\u95ee<\/strong><\/td><td>\u5bb9\u6613\uff08\u4ec5\u9700&nbsp;<code>chown<\/code>\uff09<\/td><td>\u53d7\u9650\uff08\u9700\u767b\u5f55 root \u7528\u6237\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u901a\u8fc7 nicolaka\/netshoot \u548c dig \u547d\u4ee4\uff0c\u6211\u4eec\u53ef\u4ee5\u5feb\u901f\u68c0\u67e5 Docker \u7f51\u7edc\u662f\u5426\u914d\u7f6e\u6b63\u786e\u3002\u5982\u679c\u53d1\u73b0\u95ee\u9898\uff0c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u4f7f\u7528\u5176\u4ed6\u5de5\u5177\uff08\u5982 ping, tcpdump\uff09\u8fdb\u884c\u6df1\u5165\u6392\u67e5\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>docker compose<\/strong><\/h2>\n\n\n\n<p>Docker Compose \u662f Docker \u5b98\u65b9\u63d0\u4f9b\u7684\u4e00\u4e2a\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u548c\u90e8\u7f72\u7531\u591a\u4e2a\u5bb9\u5668\u7ec4\u6210\u7684\u5e94\u7528\u7a0b\u5e8f(pod)\u3002<\/p>\n\n\n\n<p>\u901a\u8fc7\u4e00\u4e2a YAML \u683c\u5f0f\u7684\u6587\u4ef6\uff08\u901a\u5e38\u547d\u540d\u4e3a&nbsp;<code>docker-compose.yml<\/code>\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u6240\u6709\u9700\u8981\u7684\u670d\u52a1\uff08\u5bb9\u5668\uff09<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e94\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hadoop<\/strong><\/h2>\n\n\n\n<p>Hadoop\u662f\u4e00\u4e2a\u7531Apache\u57fa\u91d1\u4f1a\u6240\u5f00\u53d1\u7684\u5206\u5e03\u5f0f\u7cfb\u7edf\u57fa\u7840\u67b6\u6784\u3002\u7528\u6237\u53ef\u4ee5\u5728\u4e0d\u4e86\u89e3\u5206\u5e03\u5f0f\u5e95\u5c42\u7ec6\u8282\u7684\u60c5\u51b5\u4e0b\uff0c\u5f00\u53d1\u5206\u5e03\u5f0f\u7a0b\u5e8f\u3002\u5145\u5206\u5229\u7528\u96c6\u7fa4\u7684\u5a01\u529b\uff0c\u89e3\u51b3\u6d77\u91cf\u6570\u636e\u7684\u5b58\u50a8\u53ca\u6d77\u91cf\u6570\u636e\u7684\u5206\u6790\u8ba1\u7b97\u95ee\u9898\u3002<\/p>\n\n\n\n<p>\u5e7f\u4e49\u4e0a\u7684Hadoop\u662f\u6307Hadoop\u7684\u6574\u4e2a\u6280\u672f\u751f\u6001\u5708\uff1b\u72ed\u4e49\u4e0a\u7684Hadoop\u6307\u7684\u662f\u5176\u6838\u5fc3\u4e09\u5927\u7ec4\u4ef6\uff0c\u5305\u62ecHDFS\u3001YARN\u53caMapReduce.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hadoop Common: \u5185\u6838 <\/li>\n\n\n\n<li>HDFS: \u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf <\/li>\n\n\n\n<li>YARN: \u8d44\u6e90\u7ba1\u7406\uff0cMapReduce: \u5206\u5e03\u5f0f\u8ba1\u7b97\uff1b<\/li>\n\n\n\n<li>MapReduce\u5e76\u884c\u5904\u7406\u7684\u65f6\u5019\u4f1a\u51fa\u73b0\u4e00\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u5355\u4e00\u6545\u969c\u8282\u70b9\uff0c \u53ef\u80fd\u5bfc\u81f4\u6574\u4e2a\u7cfb\u7edf\u5d29\u4e86\uff0c\u6216\u8005\u6210\u4e3abottleneck\uff0c\u6240\u4ee5\u8981\u6709YARN\u3002 \u9488\u5bf9\u5927\u6570\u636e\u6279\u5904\u7406\u8bf7\u6c42\uff0c\u8bbe\u8ba1\u57fa\u4e8eMapReduce\/YARN\u7684\u5e76\u884c\u5904\u7406\u65b9\u6848\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-486-1024x591.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"591\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-486-1024x591.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2761\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clinent node : \u5ba2\u6237\u7aef\uff0c\u8fd0\u884cMapReduce\u7a0b\u5e8f\u7684\u5730\u65b9\uff0c\u7531\u4f60\u7f16\u5199\u7684\u4ee3\u7801\u7ec4\u6210\uff08MapReduce Program\uff09\u3002<\/li>\n\n\n\n<li>JobClient\uff1a\u662f\u5ba2\u6237\u7aef\u4e0a\u7684\u4e00\u4e2a\u7ec4\u4ef6\uff0c\u8d1f\u8d23\u5c06\u7528\u6237\u7684MapReduce\u4f5c\u4e1a\u63d0\u4ea4\u5230\u96c6\u7fa4\u4e2d\u8fd0\u884c\u3002\u5b83\u662f\u7528\u6237\u7a0b\u5e8f\u4e0eHadoop\u96c6\u7fa4\u4ea4\u4e92\u7684\u63a5\u53e3\u3002\n<ul class=\"wp-block-list\">\n<li>JobID\uff1a\u6bcf\u4e2a\u4f5c\u4e1a\u5728Hadoop\u96c6\u7fa4\u4e2d\u90fd\u6709\u4e00\u4e2a\u552f\u4e00\u7684\u6807\u8bc6\u7b26\u3002JobClient\u4f1a\u5411JobTracker\u8bf7\u6c42\u4e00\u4e2aJobID\uff0c\u4ee5\u6807\u8bc6\u8fd9\u4e2a\u4f5c\u4e1a\u3002JobID\u7c7b\u4f3c\u4e8e\u4efb\u52a1\u7684\u201c\u8eab\u4efd\u8bc1\u201d\uff0c\u7528\u4e8e\u5728\u96c6\u7fa4\u4e2d\u8ddf\u8e2a\u4efb\u52a1\u7684\u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>JobTracker\uff08<strong>\u8d1f\u8d23\u4efb\u52a1\u7684\u8c03\u5ea6\u548c\u8ddf\u8e2a\uff0c\u4f46\u5b83\u662f\u4e00\u4e2a\u5355\u70b9\u7ec4\u4ef6\uff0c\u5bb9\u6613\u6210\u4e3a\u6027\u80fd\u74f6\u9888<\/strong>\uff08Yarn\u89e3\u51b3\uff09\uff09\uff1a\u6536\u5230\u4f5c\u4e1a\u540e\uff0c\u6839\u636eHDFS\u4e2d\u8f93\u5165\u76ee\u5f55\u627e\u5230\u9700\u8981\u5904\u7406\u7684\u6587\u4ef6\u3002HDFS\u4e2d\u7684\u6587\u4ef6\u901a\u5e38\u4f1a\u88ab\u5207\u5206\u6210\u591a\u4e2a<strong>\u6570\u636e\u5757\uff08block\uff09<\/strong>\uff0c\u6bcf\u4e2a\u6570\u636e\u5757\u53ef\u80fd\u88ab\u8fdb\u4e00\u6b65\u5212\u5206\u6210\u591a\u4e2a<strong>split<\/strong>\uff08\u903b\u8f91\u4e0a\u7684\u8f93\u5165\u5206\u7247\uff09\u3002\u6bcf\u4e2asplit\u5bf9\u5e94\u4e00\u4e2aMap\u4efb\u52a1\u3002JobTracker\u4f1a\u6839\u636e\u4efb\u52a1\u7684split\u4fe1\u606f\u548c\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u72b6\u6001\uff0c\u51b3\u5b9a\u5c06\u4efb\u52a1\u5206\u914d\u7ed9\u54ea\u4e9b\u8282\u70b9\u4e0a\u7684TaskTracker\u6267\u884c\u3002\u540c\u65f6\u68c0\u6d4b\u96c6\u7fa4\u6545\u969c\u548c\u5065\u5eb7\u72b6\u6001\uff0c\u5982\u679c\u4efb\u52a1\u5931\u8d25\u8981\u91cd\u65b0\u8c03\u5ea6\u4efb\u52a1\u3002<\/li>\n\n\n\n<li>TaskTracker\uff08<strong>\u8fd0\u884c\u5728\u96c6\u7fa4\u4e0a\uff0c\u8d1f\u8d23\u63a5\u6536\u4efb\u52a1\u5206\u914d\u8bf7\u6c42\uff0c\u5e76\u62a5\u544a\u72b6\u6001<\/strong>\uff09\uff1a\u63a5\u6536\u5230\u4efb\u52a1\u540e\uff0c\u4f1a\u6839\u636e\u4efb\u52a1\u7684\u9700\u6c42\uff08\u6bd4\u5982\u9700\u8981\u5904\u7406\u7684split\uff09\u4eceHDFS\u4e2d\u8bfb\u53d6\u76f8\u5173\u6570\u636e\u3002\u4e3a\u4e86\u4fdd\u8bc1\u4efb\u52a1\u7684\u9694\u79bb\u6027\u548c\u72ec\u7acb\u6027\uff0cTaskTracker\u4f1a\u5728\u8282\u70b9\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684JVM\uff08Java\u865a\u62df\u673a\uff09\u5b50\u8fdb\u7a0b\uff0c\u5728\u8fd9\u4e2a\u5b50\u8fdb\u7a0b\u4e2d\u8fd0\u884c\u7528\u6237\u7684MapReduce\u7a0b\u5e8f\u3002 \n<ul class=\"wp-block-list\">\n<li>\u6267\u884c\u7684\u8fc7\u7a0b\u4e2d\uff0cTaskTracker\u4e0d\u65ad\u53d1\u5fc3\u8df3\u7ed9JobTracker\uff0c\u4fdd\u8bc1\u5b58\u6d3b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>MapReduce\u7a0b\u5e8f\u4f1a\u5728TaskTracker\u521b\u5efa\u7684JVM\u4e2d\u8fd0\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u4e3a\u89e3\u51b3\u4e0a\u9762\u641c\u8bf4\u7684\u6027\u80fd\u74f6\u9888\uff0c\u4f7f\u7528YARN\u901a\u8fc7\u5c06\u8d44\u6e90\u7ba1\u7406\u548c\u4efb\u52a1\u8ddf\u8e2a\u5206\u5f00\uff0c\u89e3\u51b3\u4e86JobTracker\u7684\u6027\u80fd\u74f6\u9888\u548c\u5355\u70b9\u6545\u969c\u95ee\u9898\uff0c\u540c\u65f6\u652f\u6301\u66f4\u591a\u7684\u8ba1\u7b97\u6846\u67b6\uff0c\u4f7fHadoop\u66f4\u52a0\u7075\u6d3b\u548c\u9ad8\u6548<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reducer\u6570\u76ee<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>number.of.nodes \u2217 number.of.max.containers.per.node \u2217 0.95or1.75\uff0c<strong>\u6ce8\u610f\u4e0d\u662f\u8303\u56f4\uff0c\u53ea\u6709\u4e24\u4e2a\u503c<\/strong><\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li>number.of.nodes\uff1a\u96c6\u7fa4\u4e2d\u673a\u5668\u7684\u6570\u91cf\u3002<\/li>\n\n\n\n<li>number.of.max.containers.per.node\uff1a\u6bcf\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u8fd0\u884c\u7684\u6700\u5927\u5bb9\u5668\u6570\u3002<\/li>\n\n\n\n<li>0.95\uff1a\u4fdd\u5b88\u4f30\u7b97\uff0cReducer \u6570\u91cf\u7565\u5c11\u4e8e\u96c6\u7fa4\u7684\u6700\u5927\u5e76\u884c\u80fd\u529b\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u70b9<\/strong>\uff1aReducer \u7684\u6570\u91cf\u5c0f\u4e8e\u96c6\u7fa4\u7684\u6700\u5927\u5e76\u884c\u80fd\u529b\uff0c\u6240\u6709 Reducer&nbsp;<strong>\u53ef\u4ee5\u540c\u65f6\u8fd0\u884c<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u7b80\u5355<\/strong>\uff1a\u6240\u6709 Reducer \u4e00\u6b21\u6027\u8c03\u5ea6\u548c\u8fd0\u884c\uff0c\u8c03\u5ea6\u5f00\u9500\u4f4e\u3002<\/li>\n\n\n\n<li><strong>\u6ca1\u6709\u4efb\u52a1\u7b49\u5f85<\/strong>\uff1a\u6240\u6709\u5bb9\u5668\u90fd\u53ef\u4ee5\u540c\u65f6\u5de5\u4f5c\uff0c\u4e0d\u9700\u8981\u5207\u6362\u4efb\u52a1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8d1f\u8f7d\u4e0d\u5747\u8861<\/strong>\uff1a\u5982\u679c\u67d0\u4e9b Reducer \u5904\u7406\u7684\u6570\u636e\u91cf\u7279\u522b\u5927\uff08\u6570\u636e\u503e\u659c\uff09\uff0c\u8fd9\u4e9b\u4efb\u52a1\u4f1a\u62d6\u6162\u6574\u4f53\u8fdb\u5ea6\uff0c\u5bfc\u81f4\u90e8\u5206\u5bb9\u5668\u7a7a\u95f2\u800c\u6d6a\u8d39\u8d44\u6e90\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a\u6570\u636e\u5206\u5e03\u8f83\u5747\u5300\uff0cReducer \u7684\u8d1f\u8f7d\u5dee\u5f02\u4e0d\u5927\u3002\u4efb\u52a1\u8c03\u5ea6\u7b80\u5355\uff0c\u51cf\u5c11\u8c03\u5ea6\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>1.75\uff1a\u6fc0\u8fdb\u4f30\u7b97\uff0cReducer \u6570\u91cf\u8d85\u8fc7\u96c6\u7fa4\u7684\u6700\u5927\u5e76\u884c\u80fd\u529b\uff0c\u4efb\u52a1\u5206\u6279\u6267\u884c\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u7279\u70b9<\/strong>\uff1aReducer \u7684\u6570\u91cf\u8d85\u8fc7\u96c6\u7fa4\u7684\u6700\u5927\u5e76\u884c\u80fd\u529b\uff0c\u4efb\u52a1\u9700\u8981\u5206\u6279\u6b21\u8fd0\u884c\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8d1f\u8f7d\u5747\u8861<\/strong>\uff1a\u4efb\u52a1\u88ab\u5207\u5f97\u66f4\u7ec6\uff0c\u6240\u6709 Reducer \u7684\u5de5\u4f5c\u91cf\u66f4\u52a0\u5747\u5300\uff0c\u51cf\u5c11\u6570\u636e\u503e\u659c\u5e26\u6765\u7684\u5f71\u54cd\u3002<\/li>\n\n\n\n<li><strong>\u8d44\u6e90\u5229\u7528\u7387\u9ad8<\/strong>\uff1a\u5373\u4f7f\u67d0\u4e9b Reducer \u5904\u7406\u901f\u5ea6\u6162\uff0c\u5176\u4ed6\u4efb\u52a1\u4e5f\u53ef\u4ee5\u5feb\u901f\u5b8c\u6210\u5e76\u7ee7\u7eed\u5de5\u4f5c\uff0c\u907f\u514d\u8d44\u6e90\u95f2\u7f6e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7f3a\u70b9<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8c03\u5ea6\u5f00\u9500\u9ad8<\/strong>\uff1a\u9700\u8981\u9891\u7e41\u5207\u6362\u4efb\u52a1\uff0c\u5b58\u5728\u989d\u5916\u7684\u8c03\u5ea6\u548c\u6570\u636e\u4f20\u8f93\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u6709\u5173Reduce\u5185\u5bb9\u5f80\u56de\u627eMapreduce<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u516d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Spark<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u7b80\u4ecb<\/strong><\/h3>\n\n\n\n<p><strong>Spark \u7684\u4f18\u52bf<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u76f8\u6bd4 Hadoop MapReduce\uff0cSpark <strong>\u6027\u80fd\u63d0\u5347\u53ef\u8fbe\u4e0a\u767e\u500d<\/strong>\u3002<\/li>\n\n\n\n<li>\u4ee5\u5185\u5b58\u4e3a\u6838\u5fc3\u8fdb\u884c\u8ba1\u7b97\uff0c\u907f\u514d\u9891\u7e41\u7684\u78c1\u76d8 I\/O \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u652f\u6301 <strong>\u6279\u5904\u7406<\/strong> \u548c <strong>\u6d41\u5904\u7406<\/strong>\uff0c\u53ef\u4ee5\u9002\u5e94\u591a\u79cd\u573a\u666f\uff08\u5982\u6570\u636e\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u7b49\uff09\u3002<\/li>\n\n\n\n<li>\u53ef\u8fd0\u884c\u5728 <strong>\u5355\u673a<\/strong> \u6216 <strong>\u96c6\u7fa4<\/strong> \u73af\u5883\u4e2d\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6279\u5904\u7406\u548c\u6d41\u5904\u7406\u7684\u533a\u522b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6279\u5904\u7406<\/strong>\uff1a\u6570\u636e\u4ee5\u6279\u6b21\u7684\u5f62\u5f0f\u4e00\u6b21\u6027\u5904\u7406\u5b8c\u3002\u4f8b\u5982\uff0c\u5148\u6536\u96c6\u4e00\u6279\u6570\u636e\uff0c\u5904\u7406\u540e\u624d\u80fd\u8fdb\u5165\u4e0b\u4e00\u9636\u6bb5\u3002<\/li>\n\n\n\n<li><strong>\u6d41\u5904\u7406<\/strong>\uff1a\u6570\u636e\u6e90\u6e90\u4e0d\u65ad\u5730\u5230\u6765\uff0c\u6765\u4e00\u70b9\u5904\u7406\u4e00\u70b9\u3002\u4f8b\u5982\uff0c\u4f20\u611f\u5668\u6301\u7eed\u53d1\u9001\u6570\u636e\uff0c\u670d\u52a1\u5668\u9700\u8981\u6839\u636e\u6570\u636e\u5b9e\u65f6\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6d41\u5904\u7406\u7684\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u662f\u6301\u7eed\u4ea7\u751f\u7684\uff08\u4f8b\u5982\u4f20\u611f\u5668\u4f20\u8f93\u7684\u6e29\u5ea6\u6570\u636e\uff09\u3002<\/li>\n\n\n\n<li>\u6d41\u5f0f\u5904\u7406\u5e76\u975e <strong>\u8bf7\u6c42-\u54cd\u5e94\u6a21\u5f0f<\/strong>\uff08\u5982 HTTP\uff09\u3002\u6d41\u6570\u636e\u53ef\u4ee5\u901a\u8fc7\u6d88\u606f\u4e2d\u95f4\u4ef6\uff08\u5982 Kafka\uff09\u7f13\u51b2\uff0c\u907f\u514d\u5904\u7406\u901f\u5ea6\u8ddf\u4e0d\u4e0a\u6570\u636e\u4ea7\u751f\u901f\u5ea6\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u7684\u6838\u5fc3\u4f18\u52bf\uff1a\u5185\u5b58\u8ba1\u7b97<\/strong><\/h3>\n\n\n\n<p><strong>Hadoop \u7684\u7f3a\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hadoop MapReduce \u4f7f\u7528\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff08HDFS\uff09\u8fdb\u884c\u4e2d\u95f4\u7ed3\u679c\u7684\u6c47\u805a\uff0c\u9891\u7e41\u7684\u78c1\u76d8 I\/O \u64cd\u4f5c\u4f1a\u5bfc\u81f4\u6027\u80fd\u74f6\u9888\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8bfb\u53d6\u6570\u636e\u5230\u5185\u5b58\uff08I\/O \u64cd\u4f5c\uff09\u3002<\/li>\n\n\n\n<li>\u4e2d\u95f4\u7ed3\u679c\u5199\u5165\u78c1\u76d8\uff08I\/O \u64cd\u4f5c\uff09\u3002<\/li>\n\n\n\n<li>Reduce \u9636\u6bb5\u518d\u6b21\u8bfb\u53d6\u548c\u5199\u5165\uff08I\/O \u64cd\u4f5c\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Spark \u7684\u4f18\u5316<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spark \u8bfb\u53d6\u6570\u636e\u540e\uff0c\u5229\u7528 <strong>\u5185\u5b58\u8ba1\u7b97<\/strong> \u6765\u5904\u7406\u6570\u636e\uff0c\u51cf\u5c11\u78c1\u76d8 I\/O \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u63d0\u4f9b <strong>\u7f13\u5b58\u673a\u5236\uff08cache\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5f53\u5185\u5b58\u4e0d\u8db3\u65f6\uff0cSpark \u4f18\u5148\u4fdd\u7559\u7f13\u5b58\u7684\u6570\u636e\uff0c\u5c3d\u91cf\u907f\u514d\u5c06\u6570\u636e\u5199\u5165\u78c1\u76d8\u3002<\/li>\n\n\n\n<li><strong>\u6ce8\u610f<\/strong>\uff1a\u7f13\u5b58\u662f\u7528\u6237\u7684\u201c\u613f\u671b\u201d\uff0c\u5177\u4f53\u662f\u5426\u7f13\u5b58\u7531 Spark \u6839\u636e\u8d44\u6e90\u60c5\u51b5\u51b3\u5b9a\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u6838\u5fc3\u7ec4\u4ef6<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-488-1024x432.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-488-1024x432.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2771\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>\u672f\u8bed<\/strong><\/th><th><strong>\u542b\u4e49<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Application<\/strong><\/td><td>Spark \u5e94\u7528\u7a0b\u5e8f\uff0c\u7531\u4e00\u4e2a Driver \u548c\u591a\u4e2a Executor \u7ec4\u6210\u3002<\/td><\/tr><tr><td><strong>Driver<\/strong><\/td><td>\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u8282\u70b9\uff0c\u8d1f\u8d23\u8fd0\u884c <code>main()<\/code> \u65b9\u6cd5\uff0c\u521b\u5efa <code>SparkContext<\/code>\uff0c\u5212\u5206\u4efb\u52a1\u5e76\u8c03\u5ea6 Executor \u6267\u884c\u3002<\/td><\/tr><tr><td><strong>Cluster Manager<\/strong><\/td><td>\u96c6\u7fa4\u8d44\u6e90\u7ba1\u7406\u5668\uff0c\u652f\u6301\u591a\u79cd\u6a21\u5f0f\uff08\u5982 Hadoop YARN\u3001Mesos\u3001Standalone\uff09\u3002<\/td><\/tr><tr><td><strong>Worker Node<\/strong><\/td><td>\u6267\u884c\u8ba1\u7b97\u4efb\u52a1\u7684\u5de5\u4f5c\u8282\u70b9\u3002<\/td><\/tr><tr><td><strong>Executor<\/strong><\/td><td>\u5de5\u4f5c\u8282\u70b9\u4e0a\u7684\u8fdb\u7a0b\uff0c\u8d1f\u8d23\u6267\u884c Task\uff0c\u5e76\u5c06\u7ed3\u679c\u4fdd\u5b58\u5230\u5185\u5b58\u6216\u78c1\u76d8\u4e2d\uff0c\u540c\u65f6\u5411 Driver \u6c47\u62a5\u72b6\u6001\u3002<\/td><\/tr><tr><td><strong>Task<\/strong><\/td><td>\u53d1\u9001\u5230 Executor \u7684\u5de5\u4f5c\u5355\u5143\u3002<\/td><\/tr><tr><td><strong>Job<\/strong><\/td><td>\u591a\u4e2a\u5e76\u884c\u6267\u884c\u7684 Task \u7ec4\u6210\u4e00\u4e2a Job\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u6267\u884c\u6d41\u7a0b<\/strong><\/h3>\n\n\n\n<p><strong>SparkContext<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spark \u5e94\u7528\u7a0b\u5e8f\u7684\u5165\u53e3\uff0c\u5141\u8bb8\u7528\u6237\u901a\u8fc7 SparkContext \u8bbf\u95ee\u96c6\u7fa4\u8d44\u6e90\u3002<\/li>\n\n\n\n<li>\u7528\u6237\u7a0b\u5e8f\u901a\u8fc7 SparkContext \u8fde\u63a5\u5230\u96c6\u7fa4\u8d44\u6e90\u7ba1\u7406\u5668\uff0c\u7533\u8bf7\u8ba1\u7b97\u8d44\u6e90\u5e76\u542f\u52a8 Executor\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Driver \u7684\u804c\u8d23<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5c06\u8ba1\u7b97\u4efb\u52a1\u5212\u5206\u4e3a\u6267\u884c\u9636\u6bb5\uff08stage\uff09\u548c\u591a\u4e2a Task\u3002<\/li>\n\n\n\n<li>\u5c06 Task \u5206\u53d1\u7ed9 Executor \u6267\u884c\u3002<\/li>\n\n\n\n<li>\u6c47\u603b Executor \u7684\u6267\u884c\u72b6\u6001\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Executor \u7684\u804c\u8d23<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6267\u884c Task\u3002<\/li>\n\n\n\n<li>\u5c06\u6267\u884c\u7ed3\u679c\u4fdd\u5b58\u5230\u5185\u5b58\u6216\u8005\u78c1\u76d8\u3002<\/li>\n\n\n\n<li>\u5b9a\u671f\u5411 Driver \u548c\u96c6\u7fa4\u8d44\u6e90\u7ba1\u7406\u5668\u6c47\u62a5\u72b6\u6001\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark RDD\uff08Resilient Distributed Dataset\uff09<\/strong><\/h3>\n\n\n\n<p>\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u3001\u4e0d\u53ef\u53d8\u7684\u5f39\u6027\u6570\u636e\u96c6\u5408\uff0c\u652f\u6301\u57fa\u4e8e\u5185\u5b58\u7684\u5e76\u884c\u8ba1\u7b97\uff0c\u5e76\u901a\u8fc7\u5bb9\u9519\u673a\u5236\u81ea\u52a8\u91cd\u5efa\u4e22\u5931\u7684\u5206\u533a\u6570\u636e\u3002<\/p>\n\n\n\n<p><strong>RDD \u7684\u7279\u70b9<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Resilient\uff08\u5f39\u6027\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>RDD \u4e4b\u95f4\u5f62\u6210\u6709\u5411\u65e0\u73af\u56fe\uff08DAG\uff09\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u67d0\u4e2a\u5206\u533a\u4e22\u5931\uff0c\u53ef\u4ee5\u901a\u8fc7\u7236 RDD \u91cd\u65b0\u8ba1\u7b97\u751f\u6210\uff0c\u5373\u5177\u5907\u5bb9\u9519\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Distributed\uff08\u5206\u5e03\u5f0f\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>RDD \u7684\u6570\u636e\u4ee5\u903b\u8f91\u5206\u533a\u7684\u5f62\u5f0f\u5206\u5e03\u5728\u96c6\u7fa4\u7684\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u652f\u6301\u5e76\u884c\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Dataset\uff08\u6570\u636e\u96c6\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5b58\u50a8\u7684\u6570\u636e\u53ef\u4ee5\u6765\u81ea\u5916\u90e8\u6570\u636e\u6e90\uff0c\u5982 JSON \u6587\u4ef6\u3001CSV \u6587\u4ef6\u3001\u6570\u636e\u5e93\u7b49\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>RDD \u7684\u64cd\u4f5c\u7c7b\u578b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Transformation<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8f6c\u6362\u64cd\u4f5c\uff0c\u8fd4\u56de\u4e00\u4e2a\u65b0\u7684 RDD\u3002<\/li>\n\n\n\n<li><strong>\u60f0\u6027\u6267\u884c<\/strong>\uff1a\u53ea\u6709\u9047\u5230 Action \u64cd\u4f5c\u65f6\uff0cTransformation \u624d\u4f1a\u771f\u6b63\u6267\u884c\u3002<\/li>\n\n\n\n<li>\u793a\u4f8b\uff1a<code>map<\/code>\u3001<code>filter<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6267\u884c\u64cd\u4f5c\uff0c\u8fd4\u56de\u7ed3\u679c\u6216\u5c06\u7ed3\u679c\u4fdd\u5b58\u5230\u5916\u90e8\u5b58\u50a8\u7cfb\u7edf\u3002<\/li>\n\n\n\n<li>\u793a\u4f8b\uff1a<code>reduce<\/code>\u3001<code>collect<\/code>\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u60f0\u6027\u6267\u884c\u7684\u4f18\u52bf<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Transformation \u64cd\u4f5c\u4e0d\u4f1a\u7acb\u5373\u6267\u884c\uff0c\u800c\u662f\u6784\u5efa\u4e00\u4e2a\u6709\u5411\u65e0\u73af\u56fe\uff08DAG\uff09\u3002<\/li>\n\n\n\n<li>\u53ea\u6709\u5f53 Action \u64cd\u4f5c\u89e6\u53d1\u65f6\uff0c\u624d\u4f1a\u6839\u636e DAG \u56fe\u5411\u524d\u63a8\u5bfc\u5e76\u6267\u884c Transformation\u3002<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u8282\u7701\u5185\u5b58\u7a7a\u95f4\uff0c\u907f\u514d\u4e0d\u5fc5\u8981\u7684\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u5206\u533a\uff08Partition\uff09<\/strong><\/h3>\n\n\n\n<p><strong>\u5206\u533a\u7684\u610f\u4e49<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RDD \u4f1a\u88ab\u5206\u5272\u4e3a\u82e5\u5e72\u4e2a\u5206\u533a\uff0c\u5206\u5e03\u5728\u96c6\u7fa4\u7684\u4e0d\u540c\u8282\u70b9\u4e0a\u3002<\/li>\n\n\n\n<li>\u5206\u533a\u4f7f\u5f97\u6570\u636e\u53ef\u4ee5\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\u5e76\u884c\u8ba1\u7b97\uff0c\u63d0\u5347\u8ba1\u7b97\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5206\u533a\u7684\u597d\u5904<\/strong>\uff1a<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-489.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"889\" height=\"347\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-489.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2772\" style=\"width:401px;height:auto\"  sizes=\"auto, (max-width: 889px) 100vw, 889px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-490.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1005\" height=\"447\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-490.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2773\"  sizes=\"auto, (max-width: 1005px) 100vw, 1005px\" \/><\/div><\/figure>\n<\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5047\u8bbe\u6709\u4e00\u4e2a\u7528\u6237\u4fe1\u606f\u8868\uff08userData\uff09\u548c\u4e00\u4e2a\u70b9\u51fb\u4e8b\u4ef6\u8868\uff08events\uff09\uff0c\u9700\u8981\u5bf9\u4e24\u8005\u8fdb\u884c Join \u64cd\u4f5c\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c userData \u548c events \u88ab\u5206\u533a\u5b58\u50a8\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0cJoin \u64cd\u4f5c\u53ea\u9700\u5728\u5bf9\u5e94\u8282\u70b9\u5185\u5b8c\u6210\uff0c\u51cf\u5c11\u4e86\u7f51\u7edc\u4f20\u8f93\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u5982\u679c\u6ca1\u6709\u5206\u533a\uff0cJoin \u64cd\u4f5c\u4f1a\u5bfc\u81f4\u5927\u91cf\u7684\u7f51\u7edc\u901a\u4fe1\u548c\u6570\u636e\u4f20\u8f93\uff0c\u4e25\u91cd\u5f71\u54cd\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u7684\u4f9d\u8d56\uff08Dependency\uff09<\/strong><\/h3>\n\n\n\n<p><strong>\u4f9d\u8d56\u7684\u7c7b\u578b<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7a84\u4f9d\u8d56\uff08Narrow Dependency\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u7236 RDD \u7684\u5206\u533a\u6700\u591a\u88ab\u4e00\u4e2a\u5b50 RDD \u7684\u5206\u533a\u4f7f\u7528\u3002<\/li>\n\n\n\n<li><strong>\u65e0\u9700 Shuffle<\/strong>\uff0c\u53ef\u4ee5\u5e76\u884c\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5bbd\u4f9d\u8d56\uff08Wide Dependency\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u7236 RDD \u7684\u5206\u533a\u53ef\u80fd\u88ab\u591a\u4e2a\u5b50 RDD \u7684\u5206\u533a\u4f7f\u7528\u3002<\/li>\n\n\n\n<li><strong>\u9700\u8981 Shuffle<\/strong>\uff0c\u8ba1\u7b97\u590d\u6742\u5ea6\u8f83\u9ad8\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>\u7a84\u4f9d\u8d56\u7684\u4f18\u52bf<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53ea\u9700\u91cd\u7b97\u4e22\u5931\u6570\u636e\u7684\u7236\u5206\u533a\uff0c\u652f\u6301\u5e76\u884c\u8ba1\u7b97\uff0c\u8282\u70b9\u6062\u590d\u6548\u7387\u9ad8\u3002<\/li>\n\n\n\n<li>\u5bbd\u4f9d\u8d56\u9700\u8981\u91cd\u65b0\u8ba1\u7b97\u591a\u4e2a\u7236\u5206\u533a\uff0c\u53ef\u80fd\u5bfc\u81f4\u4e0d\u5fc5\u8981\u7684\u5197\u4f59\u8ba1\u7b97\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spark \u7684 Stage \u548c DAG<\/strong><\/h3>\n\n\n\n<p><strong>Stage \u7684\u5212\u5206<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728Spark \u4e2d\uff0c\u4efb\u52a1\u4f1a\u88ab\u5212\u5206\u4e3a\u591a\u4e2a&nbsp;<strong>\u9636\u6bb5\uff08Stage\uff09<\/strong>\uff0c\u6bcf\u4e2a\u9636\u6bb5\u5185\u90e8\u5c3d\u53ef\u80fd\u591a\u5730\u5305\u542b\u53ef\u4ee5\u6d41\u6c34\u7ebf\u5316\uff08Pipeline\uff09\u7684\u64cd\u4f5c\uff0c\u4ee5\u63d0\u5347\u6548\u7387\u3002\u6240\u4ee5\u6bcf\u4e2a Stage \u5185\u90e8\u5305\u542b\u5c3d\u53ef\u80fd\u591a\u7684\u7a84\u4f9d\u8d56\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>Stage \u7684\u8fb9\u754c<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5bbd\u4f9d\u8d56\u4e0a\u7684 Shuffle \u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u5df2\u7f13\u5b58\u7684\u5206\u533a\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>DAG\uff08\u6709\u5411\u65e0\u73af\u56fe\uff09<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spark \u57fa\u4e8e DAG \u6784\u5efa\u8ba1\u7b97\u4efb\u52a1\uff0c\u6240\u6709\u7684 Transformation \u64cd\u4f5c\u4f1a\u5148\u5f62\u6210 DAG\u3002<\/li>\n\n\n\n<li>\u5f53 Action \u64cd\u4f5c\u89e6\u53d1\u65f6\uff0cDAG \u88ab\u5212\u5206\u4e3a\u591a\u4e2a Stage \u5e76\u6267\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>Stage \u7684\u6267\u884c<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u4e00\u4e2a Stage \u5185\uff0c\u6240\u6709\u7a84\u4f9d\u8d56\u7684 Transformation \u64cd\u4f5c\u4f1a\u88ab\u6d41\u6c34\u7ebf\u5316\uff08Pipeline\uff09\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>\u597d\u5904<\/strong>\uff1a\u51cf\u5c11\u5185\u5b58\u5360\u7528\u548c\u4e2d\u95f4\u7ed3\u679c\u5b58\u50a8\uff0c\u63d0\u9ad8\u6267\u884c\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-491-1024x319.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"319\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-491-1024x319.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2774\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>Stage 1\uff1a\u539f\u59cb\u6570\u636e A \u901a\u8fc7 groupBy \u8f6c\u6362\u4e3a B\uff0c\u5e76\u7f13\u5b58\u4e86 B\u3002\u56e0\u4e3a\u5df2\u7ecf\u7f13\u5b58\uff0c\u53ef\u4ee5\u770b\u5230\u6ca1\u6709\u6267\u884c\u3002<br>Stage 2\uff1a\u4ece\u7f13\u5b58\u7684 B \u5f00\u59cb\uff0c\u6267\u884c map \u548c union\uff0c\u751f\u6210\u4e2d\u95f4\u7ed3\u679c F\u3002<br>Stage 3\uff1a\u6267\u884c join \u64cd\u4f5c\uff08\u5bbd\u4f9d\u8d56\uff09\uff0c\u5c06 F \u548c\u7f13\u5b58\u7684 B \u7ed3\u5408\uff0c\u751f\u6210\u6700\u7ec8\u7ed3\u679c G\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e03\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Storm <\/h2>\n\n\n\n<p><strong>Apache Storm<\/strong> \u662f\u4e00\u79cd\u5206\u5e03\u5f0f\u5b9e\u65f6\u6d41\u5904\u7406\u6846\u67b6\uff0c\u7531\u63a8\u7279\u53d1\u660e\uff0c\u7528\u4e8e\u5904\u7406\u6e90\u6e90\u4e0d\u65ad\u7684\u6d41\u5f0f\u6570\u636e\u3002\u5b83\u64c5\u957f\u5bf9\u6d77\u91cf\u6570\u636e\u8fdb\u884c\u5b9e\u65f6\u8ba1\u7b97\uff0c\u9002\u5408\u5904\u7406\u9700\u8981\u5feb\u901f\u54cd\u5e94\u7684\u573a\u666f\uff0c\u4f8b\u5982\u63a8\u7279\u5b9e\u65f6\u5904\u7406\u7528\u6237\u4e0a\u4f20\u7684\u56fe\u7247\u3001\u65e5\u5fd7\u76d1\u63a7\u3001\u5b9e\u65f6\u7edf\u8ba1\u7b49\u3002\u6bd4\u5982\u8bf4\u7528\u6237\u4e0a\u4f20\u4e00\u5806\u5f88\u5927\u7167\u7247\uff0c\u4f60\u5c31\u53ef\u4ee5\u5148\u4f20\u56de\u4e2a\u7cca\u7684\uff0c\u518d\u6162\u6162\u53d8\u6e05\u6670\uff08JMoments\u4e5f\u7528\u4e86\uff09<\/p>\n\n\n\n<p>\u8d5b\u535a\u6597\u86d0\u86d0\uff0cHadoop \u548c Storm \u90fd\u662f\u7528\u4e8e\u5927\u6570\u636e\u5904\u7406\u7684\u6846\u67b6\uff0c\u4f46\u5b83\u4eec\u7684\u4fa7\u91cd\u70b9\u548c\u5e94\u7528\u573a\u666f\u4e0d\u540c\uff0c\u90fd\u662f\u5206\u5e03\u5f0f\u548c\u8363\u9519\u7684\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u5c5e\u6027<\/strong><\/th><th><strong>Storm<\/strong><\/th><th><strong>Hadoop<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u5904\u7406\u65b9\u5f0f<\/strong><\/td><td>\u5b9e\u65f6\u6d41\u5904\u7406<\/td><td>\u6279\u5904\u7406<\/td><\/tr><tr><td><strong>\u72b6\u6001\u7ba1\u7406<\/strong><\/td><td>\u65e0\u72b6\u6001\uff08\u5904\u7406\u4efb\u52a1\u5f7c\u6b64\u72ec\u7acb\uff09<\/td><td>\u6709\u72b6\u6001\uff08\u4efb\u52a1\u7ed3\u679c\u4f9d\u8d56\u4e8e\u6301\u4e45\u5316\u7684\u4e2d\u95f4\u72b6\u6001\uff09<\/td><\/tr><tr><td><strong>\u67b6\u6784<\/strong><\/td><td>\u57fa\u4e8e ZooKeeper \u7684\u4e3b\u4ece\u67b6\u6784\uff1a\u4e3b\u8282\u70b9\uff1aNimbus\u4ece\u8282\u70b9\uff1aSupervisors<\/td><td>\u4e3b\u4ece\u67b6\u6784\uff1a\u4e3b\u8282\u70b9\uff1aJob Tracker\u4ece\u8282\u70b9\uff1aTask Tracker<\/td><\/tr><tr><td><strong>\u6570\u636e\u5904\u7406\u80fd\u529b<\/strong><\/td><td>\u6bcf\u79d2\u5904\u7406\u6570\u4e07\u6761\u6d88\u606f\uff08\u4f4e\u5ef6\u8fdf\uff09<\/td><td>\u5904\u7406\u6d77\u91cf\u6570\u636e\uff0c\u4f46\u9700\u8981\u8017\u8d39\u6570\u5206\u949f\u6216\u6570\u5c0f\u65f6\uff08\u9ad8\u541e\u5410\uff09<\/td><\/tr><tr><td><strong>\u8fd0\u884c\u6a21\u5f0f<\/strong><\/td><td>Topology \u6301\u7eed\u8fd0\u884c\uff0c\u76f4\u5230\u4eba\u4e3a\u5173\u95ed\u6216\u53d1\u751f\u4e0d\u53ef\u6062\u590d\u7684\u6545\u969c<\/td><td>MapReduce \u4f5c\u4e1a\u6309\u987a\u5e8f\u6267\u884c\uff0c\u5b8c\u6210\u540e\u9000\u51fa<\/td><\/tr><tr><td><strong>\u5bb9\u9519\u6027<\/strong><\/td><td>\u4e3b\u8282\u70b9\uff08Nimbus\uff09\u6216\u4ece\u8282\u70b9\uff08Supervisor\uff09\u5b95\u673a\u540e\u53ef\u6062\u590d<\/td><td>\u4e3b\u8282\u70b9\uff08JobTracker\uff09\u5b95\u673a\u540e\uff0c\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u4f5c\u4e1a\u4e22\u5931<\/td><\/tr><tr><td><strong>\u5b58\u50a8<\/strong><\/td><td>\u4e0d\u8d1f\u8d23\u6570\u636e\u6301\u4e45\u5316<\/td><td>\u4f7f\u7528 HDFS\uff08\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff09\u8fdb\u884c\u6570\u636e\u5b58\u50a8<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Storm<\/strong>&nbsp;\u662f\u6d41\u5904\u7406\uff0c\u5b9e\u65f6\u6027\u5f3a\uff0c\u4efb\u52a1\u65e0\u72b6\u6001\u3002\n<ul class=\"wp-block-list\">\n<li>\u9002\u5408\u5b9e\u65f6\u8ba1\u7b97\uff08\u5982\u5b9e\u65f6\u65e5\u5fd7\u5206\u6790\u3001\u5b9e\u65f6\u63a8\u8350\u3001\u5728\u7ebf\u76d1\u63a7\u7b49\uff09\uff0c\u5f3a\u8c03\u4f4e\u5ef6\u8fdf\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Hadoop<\/strong>&nbsp;\u662f\u6279\u5904\u7406\uff0c\u541e\u5410\u91cf\u5927\uff0c\u4efb\u52a1\u6709\u72b6\u6001\u3002\n<ul class=\"wp-block-list\">\n<li>\u9002\u5408\u79bb\u7ebf\u6279\u5904\u7406\uff08\u5982\u5927\u89c4\u6a21\u6570\u636e\u7edf\u8ba1\u3001\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u7b49\uff09\uff0c\u5f3a\u8c03\u9ad8\u541e\u5410\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ed3\u5408\u4f7f\u7528<\/strong>\uff1a\u53ef\u4ee5\u7528 Hadoop \u8fdb\u884c\u79bb\u7ebf\u6570\u636e\u5b58\u50a8\u548c\u6279\u5904\u7406\uff0c\u7528 Storm \u8fdb\u884c\u5b9e\u65f6\u6570\u636e\u6d41\u5904\u7406\uff0c\u6ee1\u8db3\u4e0d\u540c\u4e1a\u52a1\u9700\u6c42\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u6838\u5fc3\u6982\u5ff5<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-493-1024x345.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"345\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-493-1024x345.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2776\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tuple<\/strong>\uff1aStorm \u7684\u57fa\u672c\u6570\u636e\u7ed3\u6784\uff0c\u662f\u4e00\u4e2a\u6709\u5e8f\u7684\u5143\u7d20\u5217\u8868\uff0c\u7c7b\u4f3c\u4e8e\u4e00\u884c\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>Stream<\/strong>\uff1a\u4e00\u4e2a\u65e0\u5e8f\u3001\u65e0\u9650\u7684 Tuple \u5e8f\u5217\uff0c\u662f Storm \u4e2d\u6570\u636e\u6d41\u52a8\u7684\u6838\u5fc3\u3002<\/li>\n\n\n\n<li><strong>Spout<\/strong>\uff1a\u6570\u636e\u7684\u6765\u6e90\uff0c\u7528\u4e8e\u4ece\u5916\u90e8\u6570\u636e\u6e90\uff08\u5982 Kafka\u3001Twitter API\uff09\u8bfb\u53d6\u6570\u636e\u5e76\u751f\u6210 Stream\u3002<\/li>\n\n\n\n<li><strong>Bolt<\/strong>\uff1a\u6570\u636e\u5904\u7406\u7684\u903b\u8f91\u5355\u5143\uff0c\u63a5\u6536 Spout \u6216\u5176\u4ed6 Bolt \u7684\u6570\u636e\uff0c\u6267\u884c\u8ba1\u7b97\u3001\u8fc7\u6ee4\u3001\u805a\u5408\u7b49\u64cd\u4f5c\u5e76\u8f93\u51fa\u7ed3\u679c\u3002<\/li>\n\n\n\n<li><strong>Topology<\/strong>\uff1a\u4e00\u4e2a\u6709\u5411\u56fe\uff0c\u7531 Spout \u548c Bolt \u7ec4\u6210\u3002\n<ul class=\"wp-block-list\">\n<li><strong>Spout<\/strong> \u662f\u8d77\u70b9\uff0c\u8d1f\u8d23\u8bfb\u53d6\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>Bolt<\/strong> \u662f\u8282\u70b9\uff0c\u8d1f\u8d23\u5904\u7406\u6570\u636e\u3002<\/li>\n\n\n\n<li>Topology \u6301\u7eed\u8fd0\u884c\uff0c\u76f4\u5230\u88ab\u624b\u52a8\u7ec8\u6b62\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4efb\u52a1\uff08Task\uff09<\/strong>\uff1aSpout \u548c Bolt \u7684\u5177\u4f53\u6267\u884c\u5b9e\u4f8b\uff0c\u4e00\u4e2a\u4efb\u52a1\u5bf9\u5e94\u4e00\u4e2a\u7ebf\u7a0b\u3002\u591a\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u5e76\u884c\u8fd0\u884c\uff0c\u63d0\u5347\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Storm \u7684\u5de5\u4f5c\u673a\u5236<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u6d41\u52a8<\/strong>\uff1a\u6570\u636e\u4ece Spout \u5f00\u59cb\u6d41\u5165\uff0c\u7ecf\u8fc7\u591a\u4e2a Bolt \u7684\u5904\u7406\u540e\u751f\u6210\u6700\u7ec8\u7ed3\u679c\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u65f6\u6027<\/strong>\uff1a\u5fae\u89c2\u4e0a\u662f\u6279\u5904\u7406\uff08\u5904\u7406\u4e00\u6761\u6761 Tuple\uff09\uff0c\u5b8f\u89c2\u4e0a\u662f\u6d41\u5904\u7406\uff08\u8fde\u7eed\u5904\u7406\u6e90\u6e90\u4e0d\u65ad\u7684\u6570\u636e\u6d41\uff09\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u9519\u6027<\/strong>\uff1a\u5982\u679c\u67d0\u4e2a\u8282\u70b9\uff08\u5982 Nimbus \u6216 Supervisor\uff09\u5b95\u673a\uff0cStorm \u4f1a\u81ea\u52a8\u6062\u590d\u5e76\u4ece\u4e2d\u65ad\u7684\u4f4d\u7f6e\u7ee7\u7eed\u8fd0\u884c\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Zookeeper <\/h3>\n\n\n\n<p><strong>Zookeeper<\/strong> \u662f Storm \u96c6\u7fa4\u7684\u534f\u8c03\u670d\u52a1\uff0c\u4e3b\u8981\u529f\u80fd\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\uff08\u5982 Nimbus \u548c Supervisor\uff09\u3002<\/li>\n\n\n\n<li>\u5b9e\u73b0\u4e00\u81f4\u6027\uff1a\u786e\u4fdd\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u5bf9\u4efb\u52a1\u7684\u72b6\u6001\u8fbe\u6210\u4e00\u81f4\u3002<\/li>\n\n\n\n<li>\u6545\u969c\u6062\u590d\uff1a\u5f53\u4e3b\u8282\u70b9\uff08Nimbus\uff09\u5b95\u673a\u65f6\uff0cZookeeper \u4f1a\u9009\u4e3e\u65b0\u7684\u4e3b\u8282\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u516b\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">HDFS<\/h2>\n\n\n\n<p>HDFS \u4f7f\u7528\u573a\u666f<\/p>\n\n\n\n<p><strong>\u9002\u5408\u7684\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5927\u6587\u4ef6\u5b58\u50a8<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u9002\u5408\u5b58\u50a8\u975e\u5e38\u5927\u7684\u6587\u4ef6\uff08\u5982 GB\u3001TB \u7ea7\u522b\uff09\u3002<\/li>\n\n\n\n<li>\u5c0f\u4e8e 100MB \u7684\u5c0f\u6587\u4ef6\u5b58\u50a8\u6548\u7387\u8f83\u4f4e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d41\u5f0f\u6570\u636e\u8bbf\u95ee<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u901a\u5e38\u662f\u201c<strong>\u4e00\u6b21\u5199\u5165\uff0c\u591a\u6b21\u8bfb\u53d6<\/strong>\u201d\u3002<\/li>\n\n\n\n<li>\u4e0d\u9002\u5408\u9891\u7e41\u4fee\u6539\u7684\u6570\u636e\u3002\u4f8b\u5982\uff1a\u65f6\u5e8f\u6570\u636e\uff08\u5982 InfluxDB \u6570\u636e\uff09\u975e\u5e38\u9002\u5408\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5ec9\u4ef7\u786c\u4ef6\uff08Commodity Hardware\uff09<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u53ef\u4ee5\u7528\u5927\u91cf\u4f4e\u6210\u672c\u7684\u786c\u4ef6\u7ec4\u6210\u96c6\u7fa4\uff0c\u4e0d\u9700\u8981\u9ad8\u6027\u80fd\u786c\u4ef6\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u201c<strong>\u526f\u672c\u673a\u5236<\/strong>\u201d\uff08\u9ed8\u8ba4 3 \u4e2a\u526f\u672c\uff09\u4fdd\u8bc1\u53ef\u9760\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>\u4e0d\u9002\u5408\u7684\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4f4e\u5ef6\u8fdf\u7684\u6570\u636e\u8bbf\u95ee<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>HDFS \u4e3b\u8981\u8ffd\u6c42\u9ad8\u541e\u5410\u91cf\uff0c\u800c\u975e\u4f4e\u5ef6\u8fdf\u3002<\/li>\n\n\n\n<li>\u4f8b\u5982\uff1a\u4e00\u4e2a\u5de8\u5927\u7684\u6587\u4ef6\u5206\u4e3a 1000 \u4e2a block\uff0c\u540c\u65f6\u8bfb\u53d6\u6548\u7387\u9ad8\uff1b\u4f46\u5c0f\u6587\u4ef6\u5355\u72ec\u8bfb\u53d6\u6548\u7387\u4f4e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5927\u91cf\u5c0f\u6587\u4ef6<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u6587\u4ef6\u9700\u8981\u8bb0\u5f55\u5143\u6570\u636e\uff08metadata\uff09\uff0c\u5c0f\u6587\u4ef6\u8fc7\u591a\u4f1a\u5bfc\u81f4\u5143\u6570\u636e\u81a8\u80c0\uff0c\u96be\u4ee5\u7ef4\u62a4\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9891\u7e41\u4fee\u6539\u3001\u591a\u5199\u8005\u573a\u666f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>HDFS \u53ea\u652f\u6301\u201c<strong>\u5355\u5199\u8005\u3001\u8ffd\u52a0\u5199<\/strong>\u201d\u3002<\/li>\n\n\n\n<li>\u4e0d\u652f\u6301\u4efb\u610f\u4f4d\u7f6e\u7684\u4fee\u6539\uff0c\u591a\u4e2a\u5199\u64cd\u4f5c\u9700\u8981\u4e32\u884c\u5316\uff0c\u5f71\u54cd\u6548\u7387\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">HDFS \u67b6\u6784<\/h3>\n\n\n\n<p>HDFS \u91c7\u7528 <strong>Master-Slave\uff08\u4e3b\u4ece\uff09\u67b6\u6784<\/strong>\uff0c\u5206\u4e3a <strong>NameNode<\/strong> \u548c <strong>DataNode<\/strong>\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-494.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"415\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-494.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2778\"  sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NameNode\uff08\u4e3b\u8282\u70b9\uff09<\/strong>\uff1a\u8d1f\u8d23\u5b58\u50a8 \u5143\u6570\u636e\uff08metadata\uff09\uff0c\u5982\u6587\u4ef6\u540d\u3001\u6587\u4ef6\u5206\u5757\u4fe1\u606f\u3001\u526f\u672c\u4f4d\u7f6e\u7b49\u3002\u4e0d\u5b58\u653e\u5b9e\u9645\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>DataNode\uff08\u4ece\u8282\u70b9\uff09<\/strong>\uff1a\u5b58\u50a8\u5b9e\u9645\u6570\u636e\u5757\uff08block\uff09\u3002\u5468\u671f\u6027\u5411 NameNode \u53d1\u9001 <strong>\u5fc3\u8df3\uff08heartbeat\uff09<\/strong> \u548c <strong>BlockReport<\/strong>\uff0c\u62a5\u544a\u81ea\u5df1\u5b58\u6d3b\u72b6\u6001\u53ca\u6570\u636e\u5757\u4fe1\u606f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u8bfb\u6570\u636e\u6d41\u7a0b<\/strong>\uff1a<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-495.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"449\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-495.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2779\"  sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><\/div><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u5411 <strong>NameNode<\/strong> \u8bf7\u6c42\u6587\u4ef6\u7684\u5143\u6570\u636e\uff08\u5982\u6587\u4ef6\u5206\u5757\u4fe1\u606f\uff0c\u6bcf\u4e2a\u5757\u7684\u4f4d\u7f6e\uff09\u3002<\/li>\n\n\n\n<li>NameNode \u8fd4\u56de\u6570\u636e\u5757\u7684\u4f4d\u7f6e\u4fe1\u606f\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u76f4\u63a5\u4ece <strong>DataNode<\/strong> \u8bfb\u53d6\u6570\u636e\uff0c<strong>NameNode \u4e0d\u53c2\u4e0e\u6570\u636e\u4f20\u8f93<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5199\u6570\u636e\u6d41\u7a0b<\/strong>\uff1a<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-496.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"493\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-496.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2780\"  sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/div><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5ba2\u6237\u7aef\u5411 <strong>NameNode<\/strong> \u8bf7\u6c42\u5199\u6743\u9650\u3002<\/li>\n\n\n\n<li>NameNode \u5206\u914d\u6570\u636e\u5757\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li>\u5ba2\u6237\u7aef\u76f4\u63a5\u5c06\u6570\u636e\u5199\u5165 <strong>DataNode<\/strong>\uff0c\u5e76\u6839\u636e\u526f\u672c\u7b56\u7565\u540c\u6b65\u5230\u5176\u4ed6 DataNode\u3002<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>\u6ce8\u610f<\/strong>\uff1aNameNode \u662f HDFS \u7684\u5355\u70b9\u6545\u969c\u70b9\uff0c\u82e5 NameNode \u6302\u6389\uff0c\u6574\u4e2a\u7cfb\u7edf\u4e0d\u53ef\u7528\u3002\u56e0\u6b64\u9700\u8981\u5bf9 NameNode \u7684\u5143\u6570\u636e\u8fdb\u884c\u5907\u4efd\u3002\u9700\u8981\u4f7f\u7528log\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">HDFS \u7684\u5173\u952e\u8bbe\u8ba1<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>\u526f\u672c\u673a\u5236\uff08Replica\uff09<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u6570\u636e\u5757\u6709\u591a\u4e2a\u526f\u672c\uff08\u9ed8\u8ba4 3 \u4e2a\uff09\uff0c\u4ee5\u63d0\u9ad8\u53ef\u9760\u6027\u548c\u5bb9\u9519\u6027\u3002\n<ul class=\"wp-block-list\">\n<li>\u8fc7\u591a\u610f\u5473\u7740\u6267\u884c\u5199\u64cd\u4f5c\u65f6\u95f4\u4f1a\u957f\uff0c\u5931\u8d25\u7684\u6982\u7387\u53d8\u5927\uff0c\u4e14\u963b\u585e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u526f\u672c\u5b58\u653e\u7b56\u7565\uff08\u4ee5 3 \u526f\u672c\u4e3a\u4f8b\uff09\uff1a<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7b2c\u4e00\u4e2a\u526f\u672c<\/strong>\uff1a\u4f18\u5148\u5b58\u653e\u5728\u6307\u5b9a\u7684 DataNode \u672c\u5730\uff0c\u5426\u5219\u968f\u673a\u5728\u96c6\u7fa4\u4e2d\u9009\u62e9 \u4e00\u4e2aDataNode .<\/li>\n\n\n\n<li><strong>\u7b2c\u4e8c\u4e2a\u526f\u672c<\/strong>\uff1a\u5b58\u653e\u5728\u4e0d\u540c\u673a\u67b6\u7684 DataNode\uff08\u8de8\u673a\u67b6\u5b58\u50a8\uff09\u3002<\/li>\n\n\n\n<li><strong>\u7b2c\u4e09\u4e2a\u526f\u672c<\/strong>\uff1a\u5b58\u653e\u5728\u7b2c\u4e8c\u4e2a\u526f\u672c\u6240\u5728\u673a\u67b6\u7684\u5176\u4ed6\u8282\u70b9\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. <strong>\u673a\u67b6\u611f\u77e5\uff08Rack Awareness\uff09<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HDFS \u901a\u8fc7\u8bc6\u522b\u7f51\u7edc\u62d3\u6251\u7ed3\u6784\uff0c\u5c06\u8282\u70b9\u5212\u5206\u4e3a\u4e0d\u540c\u7684\u673a\u67b6\u3002<\/li>\n\n\n\n<li>\u4f18\u5316\u526f\u672c\u5b58\u653e\u7b56\u7565\uff0c\u63d0\u5347\u6570\u636e\u53ef\u9760\u6027\u548c\u7f51\u7edc\u5e26\u5bbd\u5229\u7528\u7387\u3002<\/li>\n\n\n\n<li>\u6570\u636e\u4f20\u8f93\u7684\u4f18\u5148\u7ea7\uff1a<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u540c\u8282\u70b9\u3002<\/li>\n\n\n\n<li>\u540c\u673a\u67b6\u5185\u7684\u4e0d\u540c\u8282\u70b9\u3002<\/li>\n\n\n\n<li>\u4e0d\u540c\u673a\u67b6\u7684\u8282\u70b9\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. <strong>\u5fc3\u8df3\u673a\u5236\uff08Heartbeat\uff09<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DataNode \u5b9a\u671f\u5411 NameNode \u53d1\u9001\u5fc3\u8df3\uff0c\u62a5\u544a\u5b58\u6d3b\u72b6\u6001\u3002<\/li>\n\n\n\n<li>\u5fc3\u8df3\u4e2d\u5305\u542b\u72b6\u6001\u6570\u636e\uff08\u5982\u6570\u636e\u5757\u4fe1\u606f\uff0cBlockReport\uff09\uff0c\u4ee5\u586b\u6ee1 TCP \u6570\u636e\u5305\uff0c\u63d0\u9ad8\u7f51\u7edc\u5229\u7528\u7387\u3002\u5fc3\u8df3\u4e0d\u80fd\u662f\u4e13\u95e8\u7684\u4e00\u4e2a\u7ebf\u7a0b\uff0c\u771f\u6b63\u7684\u5fc3\u8df3\u5e94\u8be5\u662f\u5728\u4f60\u7684\u4e3b\u7ebf\u7a0b\u91cc\u9762\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. <strong>\u5b89\u5168\u6a21\u5f0f\uff08Safemode\uff09<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NameNode \u542f\u52a8\u65f6\u8fdb\u5165\u201c\u5b89\u5168\u6a21\u5f0f\u201d\uff0c\u4e0d\u5141\u8bb8\u5199\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u68c0\u67e5\u6240\u6709\u6570\u636e\u5757\u662f\u5426\u6ee1\u8db3\u526f\u672c\u6570\u91cf\u8981\u6c42\uff0c\u82e5\u4e0d\u8db3\u5219\u89e6\u53d1\u526f\u672c\u590d\u5236\u3002<\/li>\n\n\n\n<li>\u786e\u4fdd\u7cfb\u7edf\u4e00\u81f4\u6027\u540e\u9000\u51fa\u5b89\u5168\u6a21\u5f0f\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">HDFS \u7684\u4f18\u52bf\u548c\u5c40\u9650<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4f18\u52bf<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9ad8\u541e\u5410\u91cf<\/strong>\uff1a\u9002\u5408\u6279\u91cf\u5904\u7406\u5927\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u9ad8\u53ef\u9760\u6027<\/strong>\uff1a\u901a\u8fc7\u526f\u672c\u673a\u5236\u5b9e\u73b0\u5bb9\u9519\u3002<\/li>\n\n\n\n<li><strong>\u53ef\u6269\u5c55\u6027<\/strong>\uff1a\u652f\u6301\u96c6\u7fa4\u52a8\u6001\u6269\u5c55\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5c40\u9650<\/strong>\uff1a<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e0d\u9002\u5408\u5c0f\u6587\u4ef6<\/strong>\uff1a\u5927\u91cf\u5c0f\u6587\u4ef6\u4f1a\u5bfc\u81f4\u5143\u6570\u636e\u5b58\u50a8\u548c\u7ba1\u7406\u7684\u538b\u529b\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u652f\u6301\u9891\u7e41\u4fee\u6539<\/strong>\uff1a\u53ea\u80fd\u8ffd\u52a0\u5199\uff0c\u4e14\u53ea\u80fd\u5355\u5199\u8005\u3002<\/li>\n\n\n\n<li><strong>\u5355\u70b9\u6545\u969c<\/strong>\uff1aNameNode \u662f\u5355\u70b9\u6545\u969c\u8282\u70b9\uff0c\u9700\u505a\u597d\u5907\u4efd\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">HDFS \u7684\u5b9e\u9645\u5e94\u7528\u573a\u666f<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u65e5\u5fd7\u5b58\u50a8<\/strong>\uff1a\u5927\u91cf\u65e5\u5fd7\u6570\u636e\uff08\u5982 Web \u8bbf\u95ee\u65e5\u5fd7\u3001\u670d\u52a1\u5668\u65e5\u5fd7\uff09\u53ef\u4ee5\u5b58\u50a8\u5728 HDFS \u4e2d\uff0c\u7528\u4e8e\u540e\u7eed\u5206\u6790\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u4ed3\u5e93<\/strong>\uff1aHDFS \u662f\u5927\u6570\u636e\u751f\u6001\u7cfb\u7edf\u7684\u6838\u5fc3\u5b58\u50a8\u7ec4\u4ef6\uff0c\u5e38\u7528\u4e8e\u5b58\u50a8\u79bb\u7ebf\u5206\u6790\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u5907\u4efd\u6570\u636e\u5b58\u50a8<\/strong>\uff1a\u7531\u4e8e HDFS \u7684\u9ad8\u53ef\u9760\u6027\uff0c\u53ef\u4ee5\u7528\u4e8e\u5b58\u50a8\u91cd\u8981\u6570\u636e\u7684\u5907\u4efd\u3002<\/li>\n\n\n\n<li><strong>\u4e0d\u53ef\u53d8\u6570\u636e<\/strong>\uff1a\u8ba2\u5355\u3001\u4ea4\u6613\u8bb0\u5f55\u7b49\u751f\u6210\u540e\u4e0d\u518d\u4fee\u6539\u7684\u6570\u636e\u975e\u5e38\u9002\u5408\u5b58\u50a8\u5728 HDFS \u4e2d\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u6ce8\u610f<\/strong>\uff1a\u50cf\u5e93\u5b58\uff08Stock\uff09\u7b49\u9891\u7e41\u53d8\u52a8\u7684\u6570\u636e\u4e0d\u9002\u5408\u76f4\u63a5\u5b58\u50a8\u5728 HDFS \u4e2d\uff0c\u5efa\u8bae\u5c06\u53d8\u52a8\u90e8\u5206\u5b58\u50a8\u5728\u5185\u5b58\u6216\u6570\u636e\u5e93\u4e2d\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e8c\u5341\u4e5d\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>HBase<\/strong><\/h2>\n\n\n\n<p>HBase \u662f\u4e00\u4e2a\u9ad8\u6548\u7684\u5206\u5e03\u5f0f\u6570\u636e\u5e93\uff0c\u9002\u5408\u5b58\u50a8\u548c\u5904\u7406\u6d77\u91cf\u7684\u534a\u7ed3\u6784\u5316\u548c\u975e\u7ed3\u6784\u5316\u6570\u636e\uff0c\u975e\u5e38\u9002\u5408\u9700\u8981\u5feb\u901f\u8bfb\u5199\u3001\u52a8\u6001\u6269\u5c55\u7684\u5e94\u7528\u573a\u666f\uff0c\u5982\u65e5\u5fd7\u5206\u6790\u3001\u65f6\u95f4\u5e8f\u5217\u6570\u636e\u5b58\u50a8\u3001\u7269\u8054\u7f51\u6570\u636e\u7b49\uff0c\u4f46\u4e0d\u9002\u5408\u590d\u6742\u7684\u591a\u8868\u5173\u8054\u67e5\u8be2\u573a\u666f\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u6211\u4eec\u628a Hadoop \u6bd4\u55bb\u4e3a\u4e00\u4e2a\u4e91\u4e0a\u7684\u64cd\u4f5c\u7cfb\u7edf\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HDFS\uff1a<\/strong> \u662f\u6587\u4ef6\u7cfb\u7edf\uff0c\u8d1f\u8d23\u5b58\u50a8\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>MapReduce\uff1a<\/strong> \u662f\u4f5c\u4e1a\u8c03\u5ea6\u7cfb\u7edf\uff0c\u8d1f\u8d23\u8ba1\u7b97\u4efb\u52a1\u7684\u5206\u53d1\u548c\u6267\u884c\u3002<\/li>\n\n\n\n<li><strong>HBase\uff1a<\/strong> \u662f\u6570\u636e\u5e93\uff0c\u7c7b\u4f3c Google \u7684 BigTable\uff0c\u662f\u4e00\u4e2a\u4e13\u95e8\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u7684\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u3002<\/li>\n<\/ul>\n\n\n\n<p>HBase \u7684\u7279\u70b9\u662f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5904\u7406\u534a\u7ed3\u6784\u5316\u548c\u975e\u7ed3\u6784\u5316\u6570\u636e\uff1a<\/strong> \u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08RDBMS\uff09\u4e3b\u8981\u5904\u7406\u7ed3\u6784\u5316\u6570\u636e\uff0c\u800c HBase \u66f4\u9002\u5408\u5904\u7406\u5927\u89c4\u6a21\u7684\u534a\u7ed3\u6784\u5316\u548c\u975e\u7ed3\u6784\u5316\u6570\u636e\u3002<\/li>\n\n\n\n<li><strong>\u5206\u5e03\u5f0f\u5b58\u50a8\u4e0e\u7ebf\u6027\u6269\u5c55\uff1a<\/strong> \u6570\u636e\u53ef\u4ee5\u6c34\u5e73\u5207\u5206\u5230\u591a\u4e2a\u8282\u70b9\u4e0a\uff0c\u7cfb\u7edf\u7684\u6027\u80fd\u548c\u5bb9\u91cf\u53ef\u4ee5\u901a\u8fc7\u589e\u52a0\u8282\u70b9\u7ebf\u6027\u6269\u5c55\u3002<\/li>\n\n\n\n<li><strong>\u8fd1\u5b9e\u65f6\u8bfb\u5199\uff1a<\/strong> \u5c3d\u7ba1\u662f\u5927\u6570\u636e\u91cf\uff0cHBase \u4f9d\u7136\u53ef\u4ee5\u652f\u6301\u8fd1\u4e4e\u5b9e\u65f6\u7684\u968f\u673a\u8bfb\u5199\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u6570\u636e\u6a21\u578b<\/strong><\/h2>\n\n\n\n<p>HBase \u7684\u6570\u636e\u6a21\u578b\u4e0e\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\u6709\u5f88\u5927\u4e0d\u540c<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.1 \u8868\u7ed3\u6784\u4e0e\u5b58\u50a8\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6309\u5217\u5b58\u50a8\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u662f\u57fa\u4e8e\u5217\u5b58\u50a8\u7684\u6570\u636e\u5e93\uff0c\u4e0d\u540c\u5217\u7684\u6570\u636e\u662f\u5206\u5f00\u5b58\u50a8\u7684\u3002<\/li>\n\n\n\n<li>\u5217\u5b58\u50a8\u7684\u597d\u5904\u662f\u8bbf\u95ee\u6548\u7387\u9ad8\uff0c\u7279\u522b\u662f\u5f53\u53ea\u9700\u8981\u8bfb\u53d6\u5c11\u91cf\u5217\u65f6\uff0c\u4e0d\u9700\u8981\u626b\u63cf\u6574\u884c\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5206\u5c42\u5b58\u50a8\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u8868\u4f1a\u88ab\u6c34\u5e73\u5207\u5206\u6210\u591a\u4e2a <strong>Region<\/strong>\uff0c\u6bcf\u4e2a Region \u662f\u8868\u7684\u4e00\u90e8\u5206\uff08\u7c7b\u4f3c\u4e8e\u8868\u7684\u5206\u7247\uff09\u3002<\/li>\n\n\n\n<li>\u6bcf\u4e2a Region \u4f1a\u8fdb\u4e00\u6b65\u5207\u5206\u6210 <strong>Block<\/strong>\uff0c\u5e76\u5b58\u50a8\u5728 HDFS \u4e0a\u3002<\/li>\n\n\n\n<li>\u8fd9\u79cd\u5206\u5c42\u5b58\u50a8\u65b9\u5f0f\u52a0\u901f\u4e86\u6570\u636e\u67e5\u8be2\uff1a\n<ul class=\"wp-block-list\">\n<li>\u901a\u8fc7 <strong>Key \u7684\u8303\u56f4<\/strong>\uff0c\u5feb\u901f\u5b9a\u4f4d\u6570\u636e\u5728\u54ea\u4e2a Region\u3002<\/li>\n\n\n\n<li>\u7136\u540e\u5728 Region \u4e2d\u627e\u5230\u5177\u4f53\u7684 Block\uff0c\u6700\u540e\u8bfb\u53d6\u5bf9\u5e94\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e3b\u952e\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u884c\u6570\u636e\u90fd\u6709\u4e00\u4e2a\u552f\u4e00\u7684 <strong>Row Key<\/strong>\uff08\u4e3b\u952e\uff09\u3002<\/li>\n\n\n\n<li>\u6240\u6709\u884c\u6839\u636e Row Key \u7684\u5b57\u8282\u987a\u5e8f\u6392\u5e8f\u5b58\u50a8\u3002<\/li>\n\n\n\n<li>\u67e5\u8be2\u65f6\u5fc5\u987b\u901a\u8fc7\u4e3b\u952e\u8bbf\u95ee\uff0c\u4e3b\u952e\u7684\u8bbe\u8ba1\u8981\u6709\u610f\u4e49\uff08\u5982 URL \u5012\u5e8f\u5b58\u50a8\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5e26\u7248\u672c\u7684\u591a\u7ef4\u5b58\u50a8\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u652f\u6301\u5bf9\u540c\u4e00\u4e2a\u5b57\u6bb5\u5b58\u50a8\u591a\u4e2a\u7248\u672c\u7684\u6570\u636e\uff0c\u6bcf\u4e2a\u7248\u672c\u4ee5\u65f6\u95f4\u6233\u533a\u5206\u3002<\/li>\n\n\n\n<li>\u8fd9\u4f7f\u5f97 HBase \u53ef\u4ee5\u67e5\u770b\u67d0\u4e2a\u65f6\u95f4\u70b9\u7684\u6570\u636e\u5feb\u7167\uff0c\u6216\u8005\u5728\u4e0d\u540c\u7248\u672c\u4e4b\u95f4\u5207\u6362\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.2 \u5217\u65cf\uff08Column Family\uff09<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6982\u5ff5\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u7684\u5217\u662f\u901a\u8fc7 <strong>\u5217\u65cf\uff08Column Family\uff09<\/strong> \u7ec4\u7ec7\u7684\u3002<\/li>\n\n\n\n<li>\u6bcf\u4e2a\u5217\u65cf\u5305\u542b\u82e5\u5e72\u5217\uff08Column Keys\uff09\u3002\u5217\u65cf\u662f HBase \u7684\u57fa\u672c\u5b58\u50a8\u5355\u4f4d\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7279\u70b9\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5217\u65cf\u4e2d\u7684\u5217\u53ef\u4ee5\u52a8\u6001\u589e\u52a0\uff0c\u4e14\u4e0d\u9700\u8981\u4e3a\u5df2\u6709\u6570\u636e\u586b\u5145\u9ed8\u8ba4\u503c\u3002<\/li>\n\n\n\n<li>\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\uff0c\u589e\u52a0\u5217\u9700\u8981\u4fee\u6539\u6574\u4e2a\u8868\u7684\u7ed3\u6784\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5df2\u6709\u6570\u636e\u4e0d\u4e00\u81f4\uff1b\u800c\u5728 HBase \u4e2d\uff0c\u65b0\u589e\u5217\u4e0d\u5f71\u54cd\u5df2\u6709\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5217\u952e\u683c\u5f0f\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5217\u952e\u7684\u683c\u5f0f\u4e3a <code>family:qualifier<\/code>\uff0c\u5176\u4e2d <code>family<\/code> \u662f\u5217\u65cf\u540d\uff0c<code>qualifier<\/code> \u662f\u5217\u540d\u3002<\/li>\n\n\n\n<li>\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5217\u65cf <code>language<\/code> \u4e2d\u53ea\u6709\u4e00\u4e2a\u5217\u952e\uff0c\u7528\u4e8e\u8bb0\u5f55\u7f51\u9875\u7684\u8bed\u8a00\u3002<\/li>\n\n\n\n<li>\u5217\u65cf <code>anchor<\/code> \u4e2d\uff0c\u6bcf\u4e2a\u5217\u952e\u90fd\u662f\u4e00\u4e2a\u951a\u70b9\uff08anchor \u540d\u79f0\uff09\uff0c\u5bf9\u5e94\u7684\u503c\u662f\u94fe\u63a5\u7684\u6587\u672c\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8fde\u7eed\u5b58\u50a8\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u540c\u4e00\u5217\u65cf\u4e2d\u7684\u5217\u4f1a\u8fde\u7eed\u5b58\u50a8\uff0c\u8fd9\u6837\u53ef\u4ee5\u63d0\u9ad8\u8bbf\u95ee\u6548\u7387\u3002<\/li>\n\n\n\n<li>\u4f8b\u5982\uff0c\u67e5\u8be2\u67d0\u4e2a\u5217\u65cf\u65f6\uff0c\u4e0d\u9700\u8981\u626b\u63cf\u6574\u4e2a\u8868\uff0c\u53ea\u9700\u626b\u63cf\u8be5\u5217\u65cf\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.3 \u65f6\u95f4\u6233\u4e0e\u591a\u7248\u672c\u6570\u636e<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u591a\u7248\u672c\u6570\u636e\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u7684\u6bcf\u4e2a\u5355\u5143\u683c\uff08Cell\uff09\u53ef\u4ee5\u5b58\u50a8\u591a\u4e2a\u7248\u672c\u7684\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u7248\u672c\u901a\u8fc7\u65f6\u95f4\u6233\u6807\u8bb0\uff0c\u53ef\u4ee5\u4fdd\u5b58\u6700\u65b0\u7684 N \u4e2a\u7248\u672c\uff08N \u662f\u7528\u6237\u914d\u7f6e\u7684\u503c\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u65f6\u95f4\u6233\u673a\u5236\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u6b21\u5199\u5165\u6570\u636e\u65f6\uff0cHBase \u4f1a\u81ea\u52a8\u4e3a\u6570\u636e\u6dfb\u52a0\u65f6\u95f4\u6233\u3002<\/li>\n\n\n\n<li>\u67e5\u8be2\u65f6\u53ef\u4ee5\u6307\u5b9a\u65f6\u95f4\u6233\uff0c\u83b7\u53d6\u67d0\u4e2a\u65f6\u95f4\u70b9\u7684\u6570\u636e\uff0c\u6216\u8005\u67e5\u770b\u67d0\u4e2a\u5b57\u6bb5\u7684\u5386\u53f2\u503c\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7075\u6d3b\u6027\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u540c\u5355\u5143\u683c\u53ef\u4ee5\u6709\u4e0d\u540c\u6570\u91cf\u7684\u7248\u672c\u3002\u4f8b\u5982\uff0c\u4e00\u4e2a\u5355\u5143\u683c\u53ef\u4ee5\u5b58 5 \u4e2a\u7248\u672c\uff0c\u800c\u53e6\u4e00\u4e2a\u5355\u5143\u683c\u53ea\u6709 2 \u4e2a\u7248\u672c\u3002<\/li>\n\n\n\n<li>\u8fd9\u79cd\u673a\u5236\u589e\u5f3a\u4e86\u6570\u636e\u7684\u8868\u8fbe\u80fd\u529b\uff0c\u662f\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\u65e0\u6cd5\u5b9e\u73b0\u7684\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.4 Web Table \u793a\u4f8b<\/strong><\/h3>\n\n\n\n<p><strong>URL \u5012\u5e8f\u5b58\u50a8\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728 Web Table \u4e2d\uff0cURL \u901a\u5e38\u5b58\u50a8\u4e3a\u5012\u5e8f\u5f62\u5f0f\u3002\u4f8b\u5982\uff1a<br><code>\u539f\u59cb URL: www.example.com\/page1 \u5012\u5e8f URL: com.example.www\/page1<\/code><\/li>\n\n\n\n<li>\u8fd9\u6837\u53ef\u4ee5\u5c06\u540c\u4e00\u57df\u540d\u7684\u7f51\u9875\u5b58\u50a8\u5728\u4e00\u8d77\uff0c\u63d0\u9ad8\u67e5\u8be2\u6548\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<p><strong>\u5217\u65cf\u8bbe\u8ba1\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5047\u8bbe Web Table \u6709\u4e24\u4e2a\u5217\u65cf\uff1a\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u8a00\uff08language\uff09\uff1a<\/strong> \u5b58\u50a8\u7f51\u9875\u7684\u8bed\u8a00 ID\u3002<\/li>\n\n\n\n<li><strong>\u951a\u70b9\uff08anchor\uff09\uff1a<\/strong> \u6bcf\u4e2a\u5217\u952e\u8868\u793a\u4e00\u4e2a\u951a\u70b9\uff0c\u503c\u662f\u94fe\u63a5\u7684\u6587\u672c\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u8fd9\u79cd\u8bbe\u8ba1\u53ef\u4ee5\u7075\u6d3b\u6269\u5c55\uff0c\u4f8b\u5982\u65b0\u589e\u5217\u952e\u65f6\uff0c\u4e0d\u9700\u8981\u4fee\u6539\u8868\u7ed3\u6784\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. HBase \u7684\u64cd\u4f5c\u4e0e\u7279\u70b9<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.1 \u64cd\u4f5c\u65b9\u5f0f<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e3b\u952e\u8bbf\u95ee\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6240\u6709\u64cd\u4f5c\u5fc5\u987b\u901a\u8fc7\u4e3b\u952e\uff08Row Key\uff09\u8fdb\u884c\uff0c\u4e3b\u952e\u7684\u8bbe\u8ba1\u975e\u5e38\u91cd\u8981\u3002<\/li>\n\n\n\n<li>\u4e3b\u952e\u7684\u6392\u5e8f\u65b9\u5f0f\uff08\u6309\u5b57\u8282\u7801\u6392\u5e8f\uff09\u4f1a\u5f71\u54cd\u6570\u636e\u7684\u5b58\u50a8\u548c\u67e5\u8be2\u6548\u7387\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5199\u64cd\u4f5c\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u7684\u5199\u64cd\u4f5c\u662f\u8ffd\u52a0\u5f0f\u7684\uff0c\u4e0d\u4f1a\u8986\u76d6\u539f\u6709\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u5199\u5165\u6570\u636e\u65f6\u4f1a\u81ea\u52a8\u751f\u6210\u65f6\u95f4\u6233\uff0c\u4ece\u800c\u652f\u6301\u591a\u7248\u672c\u5b58\u50a8\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8bfb\u64cd\u4f5c\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u67e5\u8be2\u65f6\u53ef\u4ee5\u6307\u5b9a\u4e3b\u952e\u8303\u56f4\uff0c\u6216\u8005\u901a\u8fc7\u65f6\u95f4\u6233\u83b7\u53d6\u67d0\u4e2a\u7248\u672c\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.2 HBase \u7684\u4f18\u52bf<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u52a8\u6001\u5217\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5217\u65cf\u4e2d\u7684\u5217\u53ef\u4ee5\u52a8\u6001\u589e\u52a0\uff0c\u4e0d\u9700\u8981\u4fee\u6539\u8868\u7ed3\u6784\uff0c\u4e14\u4e0d\u4f1a\u5f71\u54cd\u5df2\u6709\u6570\u636e\u3002<\/li>\n\n\n\n<li>\u8fd9\u5bf9\u6570\u636e\u6a21\u578b\u53d8\u5316\u9891\u7e41\u7684\u573a\u666f\u975e\u5e38\u53cb\u597d\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9ad8\u6548\u7684\u968f\u673a\u8bfb\u5199\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u652f\u6301\u8fd1\u5b9e\u65f6\u7684\u968f\u673a\u8bfb\u5199\u64cd\u4f5c\uff0c\u9002\u5408\u9700\u8981\u9891\u7e41\u66f4\u65b0\u548c\u67e5\u8be2\u7684\u573a\u666f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7ebf\u6027\u6269\u5c55\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u53ef\u4ee5\u6c34\u5e73\u5207\u5206\u5230\u591a\u4e2a\u8282\u70b9\uff0c\u7cfb\u7edf\u6027\u80fd\u53ef\u4ee5\u901a\u8fc7\u589e\u52a0\u8282\u70b9\u7ebf\u6027\u6269\u5c55\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9002\u5408\u534a\u7ed3\u6784\u5316\u548c\u975e\u7ed3\u6784\u5316\u6570\u636e\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u53ef\u4ee5\u5b58\u50a8\u7075\u6d3b\u7684\u6570\u636e\u6a21\u578b\uff0c\u652f\u6301\u590d\u6742\u7684\u67e5\u8be2\u548c\u5206\u6790\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.3 HBase \u7684\u5c40\u9650\u6027<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e0d\u652f\u6301\u590d\u6742\u67e5\u8be2\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>HBase \u4e0d\u652f\u6301 SQL \u67e5\u8be2\uff0c\u65e0\u6cd5\u76f4\u63a5\u6267\u884c\u590d\u6742\u7684 Join \u548c\u805a\u5408\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li>\u9002\u5408\u5355\u8868\u64cd\u4f5c\uff0c\u4e0d\u9002\u5408\u591a\u8868\u5173\u8054\u67e5\u8be2\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4f9d\u8d56\u4e3b\u952e\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u67e5\u8be2\u5fc5\u987b\u4f9d\u8d56\u4e3b\u952e\uff0c\u4e3b\u952e\u8bbe\u8ba1\u4e0d\u5408\u7406\u53ef\u80fd\u5bfc\u81f4\u67e5\u8be2\u6548\u7387\u4f4e\u4e0b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6a21\u578b\u590d\u6742\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5217\u65cf\u548c\u591a\u7248\u672c\u673a\u5236\u867d\u7136\u7075\u6d3b\uff0c\u4f46\u4e5f\u589e\u52a0\u4e86\u6570\u636e\u6a21\u578b\u7684\u590d\u6742\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e09\u5341\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Hive<\/h2>\n\n\n\n<p>Hive \u662f\u4e00\u4e2a\u57fa\u4e8e Hadoop \u7684\u6570\u636e\u4ed3\u5e93\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u5c06\u7ed3\u6784\u5316\u7684\u6570\u636e\u6587\u4ef6\u6620\u5c04\u4e3a\u6570\u636e\u5e93\u8868\uff0c\u5e76\u63d0\u4f9b\u7c7b\u4f3c SQL \u7684\u67e5\u8be2\u529f\u80fd\u3002Hive \u7684\u6838\u5fc3\u4f5c\u7528\u662f\u5c06 SQL \u67e5\u8be2\u7ffb\u8bd1\u6210\u5e95\u5c42\u7684 MapReduce \u6216 Spark \u4efb\u52a1\u8fdb\u884c\u8ba1\u7b97\uff0c\u800c\u6570\u636e\u5b58\u50a8\u5219\u7531 HDFS\uff08Hadoop \u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff09\u8d1f\u8d23\u3002\u4e3b\u8981\u7528\u4e8e\u5927\u89c4\u6a21\u6570\u636e\u7684\u79bb\u7ebf\u5206\u6790\uff0c\u901a\u8fc7\u7c7b SQL \u7684\u63a5\u53e3\u964d\u4f4e\u4e86 MapReduce \u7684\u5b66\u4e60\u6210\u672c\uff0c\u5e76\u652f\u6301\u591a\u79cd\u6587\u4ef6\u683c\u5f0f\u548c\u6269\u5c55\u529f\u80fd\uff0cHive \u7684\u8bbe\u8ba1\u7406\u5ff5\u662f <strong>Schema on Read<\/strong>\uff0c\u5728\u67e5\u8be2\u65f6\u624d\u8fdb\u884c\u6570\u636e\u89e3\u6790\u548c\u8f6c\u6362\uff0c\u9002\u5408\u5904\u7406\u6d77\u91cf\u6570\u636e\u7684\u5206\u6790\u573a\u666f\u3002<\/p>\n\n\n\n<p>\\Hive \u662f\u4e00\u4e2a\u5c06 SQL \u8f6c\u6362\u4e3a MapReduce\/Spark \u4efb\u52a1\u7684\u5de5\u5177\uff0c\u751a\u81f3\u53ef\u4ee5\u770b\u4f5c\u662f MapReduce\/Spark \u7684 SQL \u5ba2\u6237\u7aef\u3002<\/p>\n\n\n\n<p><strong>\u6ce8\u610f\uff1a<\/strong> Hive \u5e76\u4e0d\u9002\u5408\u7528\u4f5c\u4e8b\u52a1\u578b\u6570\u636e\u5e93\uff08\u5982\u7535\u5b50\u5546\u52a1\u7cfb\u7edf\u7684\u8ba2\u5355\u7ba1\u7406\uff09\uff0c\u5b83\u7684\u6838\u5fc3\u76ee\u6807\u662f\u9ad8\u6548\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u7684\u6279\u91cf\u5206\u6790\u4efb\u52a1\uff0c\u9002\u5408\u6570\u636e\u4ed3\u5e93\u548c\u6570\u636e\u6e56\u7684\u573a\u666f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hive \u7684\u7279\u70b9<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u53ef\u6269\u5c55\u6027<\/strong>Hive \u652f\u6301\u52a8\u6001\u6269\u5c55\u96c6\u7fa4\u89c4\u6a21\uff0c\u901a\u5e38\u4e0d\u9700\u8981\u91cd\u542f\u670d\u52a1\u3002<\/li>\n\n\n\n<li><strong>\u5ef6\u5c55\u6027<\/strong>\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5b9a\u4e49\u81ea\u5df1\u7684\u51fd\u6570\uff08UDF\u3001UDAF\u3001UDTF\uff09\u6765\u6269\u5c55 Hive \u7684\u529f\u80fd\u3002<\/li>\n\n\n\n<li><strong>\u5bb9\u9519\u6027<\/strong>Hive \u5177\u6709\u826f\u597d\u7684\u5bb9\u9519\u6027\uff0c\u5373\u4f7f\u67d0\u4e9b\u8282\u70b9\u51fa\u73b0\u95ee\u9898\uff0cSQL \u67e5\u8be2\u4efb\u52a1\u4ecd\u7136\u80fd\u591f\u5b8c\u6210\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Hive \u4e2d\u7684\u57fa\u672c\u6982\u5ff5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. ETL<\/h4>\n\n\n\n<p>ETL \u662f\u6570\u636e\u4ed3\u5e93\u548c\u5927\u6570\u636e\u5904\u7406\u4e2d\u5e38\u89c1\u7684\u6d41\u7a0b\uff0c\u4ee3\u8868\u6570\u636e\u7684\u62bd\u53d6\uff08Extract\uff09\u3001\u8f6c\u6362\uff08Transform\uff09\u548c\u52a0\u8f7d\uff08Load\uff09\u3002\u5728 Hive \u4e2d\uff0cETL \u8fc7\u7a0b\u901a\u5e38\u5305\u62ec\u4ee5\u4e0b\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u62bd\u53d6\uff08Extract\uff09<\/strong><br>\u4ece\u4e0d\u540c\u7684\u6570\u636e\u6e90\uff08\u5982\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3001\u65e5\u5fd7\u6587\u4ef6\u7b49\uff09\u4e2d\u83b7\u53d6\u6570\u636e\uff0c\u53ef\u4ee5\u4f7f\u7528\u5de5\u5177\u5982 Sqoop \u6216\u76f4\u63a5\u8bfb\u53d6\u6587\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u8f6c\u6362\uff08Transform\uff09<\/strong><br>\u4f7f\u7528 HiveQL \u5bf9\u539f\u59cb\u6570\u636e\u8fdb\u884c\u6e05\u6d17\u3001\u7b5b\u9009\u3001\u805a\u5408\u7b49\u64cd\u4f5c\uff0c\u4f7f\u5176\u7b26\u5408\u76ee\u6807\u6570\u636e\u4ed3\u5e93\u7684\u683c\u5f0f\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u52a0\u8f7d\uff08Load\uff09<\/strong><br>\u5c06\u8f6c\u6362\u540e\u7684\u6570\u636e\u52a0\u8f7d\u5230 Hive \u8868\u4e2d\uff0c\u53ef\u901a\u8fc7 <code>LOAD DATA<\/code> \u547d\u4ee4\u6216\u5206\u533a\u8868\u673a\u5236\u5b8c\u6210\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. Metadata Store\uff08\u5143\u6570\u636e\u5b58\u50a8\uff09<\/h4>\n\n\n\n<p>Hive \u7684\u8868\u7531\u4e24\u90e8\u5206\u6784\u6210\uff1a<strong>\u6570\u636e<\/strong> \u548c <strong>\u5143\u6570\u636e<\/strong>\u3002<br>\u5143\u6570\u636e\u63cf\u8ff0\u4e86\u8868\u4e2d\u6570\u636e\u7684\u7ed3\u6784\u548c\u5e03\u5c40\uff0c\u4f8b\u5982\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6587\u4ef6\u5305\u542b\u7684\u5217\u6570\u548c\u5217\u7684\u6570\u636e\u7c7b\u578b<\/li>\n\n\n\n<li>\u6570\u636e\u6587\u4ef6\u7684\u5b58\u50a8\u8def\u5f84<\/li>\n\n\n\n<li>\u6587\u4ef6\u7684\u683c\u5f0f\uff08\u5982 CSV\u3001Parquet \u7b49\uff09<\/li>\n<\/ul>\n\n\n\n<p>\u5143\u6570\u636e\u901a\u5e38\u5b58\u50a8\u5728 Hive \u7684\u5143\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\u4e2d\uff08\u5982 MySQL \u6216 Derby \u6570\u636e\u5e93\uff09\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. \u6570\u636e\u52a0\u8f7d<\/h4>\n\n\n\n<p>\u901a\u8fc7\u547d\u4ee4 <code>LOAD DATA<\/code> \u53ef\u4ee5\u5feb\u901f\u5c06\u6587\u4ef6\u52a0\u8f7d\u5230 Hive \u8868\u4e2d\u3002\u4f8b\u5982\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LOAD DATA LOCAL INPATH '\/home\/hadoop\/data\/emp.txt' \nOVERWRITE INTO TABLE emp;<\/code><\/pre>\n\n\n\n<p>\u6ce8\u610f\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8be5\u547d\u4ee4\u4e0d\u4f1a\u76f4\u63a5\u6267\u884c\u6570\u636e\u7684\u89e3\u6790\u3001\u8f6c\u6362\u6216\u52a0\u8f7d\uff08\u5373\u4e0d\u8fdb\u884c ETL \u64cd\u4f5c\uff09\u3002<\/li>\n\n\n\n<li>\u5b83\u53ea\u662f\u544a\u8bc9 Hive \u8868\u7684\u6570\u636e\u6765\u6e90\u4e8e\u6307\u5b9a\u6587\u4ef6\uff0c\u771f\u6b63\u7684\u89e3\u6790\u548c\u8f6c\u6362\u4f1a\u5728\u6267\u884c HQL \u67e5\u8be2\u65f6\u8fdb\u884c\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u79cd\u7b56\u7565\u7684\u4f18\u70b9\u662f\u52a0\u8f7d\u901f\u5ea6\u5feb\uff0c\u4f46\u5728\u67e5\u8be2\u65f6\u53ef\u80fd\u4f1a\u7a0d\u6162\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hive \u652f\u6301\u7684\u6587\u4ef6\u683c\u5f0f<\/h3>\n\n\n\n<p>Hive \u652f\u6301\u591a\u79cd\u6587\u4ef6\u683c\u5f0f\u548c\u538b\u7f29\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>TextFile<\/strong>\uff1a\u9ed8\u8ba4\u7684\u6587\u672c\u6587\u4ef6\u683c\u5f0f\u3002<\/li>\n\n\n\n<li><strong>SequenceFile<\/strong>\uff1aHadoop \u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u683c\u5f0f\uff0c\u652f\u6301\u5206\u5757\u538b\u7f29\u3002<\/li>\n\n\n\n<li><strong>RCFile\uff08Row Columnar File\uff09<\/strong>\uff1a\u884c\u5217\u6df7\u5408\u5b58\u50a8\u683c\u5f0f\uff0c\u9002\u5408\u4e8e\u67d0\u4e9b\u67e5\u8be2\u573a\u666f\u3002<\/li>\n\n\n\n<li><strong>ORCFile\uff08Optimized Row Columnar File\uff09<\/strong>\uff1a\u4f18\u5316\u884c\u5217\u5b58\u50a8\u683c\u5f0f\uff0c\u652f\u6301\u9ad8\u6548\u538b\u7f29\u548c\u67e5\u8be2\u3002<\/li>\n\n\n\n<li><strong>Avro File<\/strong>\uff1a\u4e00\u79cd\u652f\u6301\u6a21\u5f0f\u6f14\u5316\u7684\u6570\u636e\u5e8f\u5217\u5316\u683c\u5f0f\u3002<\/li>\n\n\n\n<li><strong>Parquet<\/strong>\uff1a\u4e00\u79cd\u5217\u5f0f\u5b58\u50a8\u683c\u5f0f\uff0c\u73b0\u5df2\u6210\u4e3a Apache \u7684\u72ec\u7acb\u9879\u76ee\uff0c\u5e7f\u6cdb\u7528\u4e8e\u8de8\u7cfb\u7edf\u6570\u636e\u4ea4\u6362\u548c\u9ad8\u6548\u67e5\u8be2\u3002<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-497-1024x536.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-497-1024x536.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2781\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>RCFile \u662f\u4e00\u79cd\u65e9\u671f\u7684\u884c\u5217\u6df7\u5408\u5b58\u50a8\u683c\u5f0f\uff0c\u867d\u7136\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u7ed3\u5408\u4e86\u884c\u5b58\u50a8\u548c\u5217\u5b58\u50a8\u7684\u4f18\u70b9\uff0c\u4f46\u5b83\u7684\u538b\u7f29\u65b9\u5f0f\u4ecd\u7136\u4ee5\u884c\u5b58\u50a8\u4e3a\u4e3b\uff0c\u5bfc\u81f4\u538b\u7f29\u6548\u7387\u6709\u9650\u3002\u6bd4\u5982\u4e0a\u56feABCD\u5982\u679c\u4ee3\u8868\u4e0d\u540c\u7684\u6570\u636e\u7c7b\u578b\uff0c\u5219\u53ef\u80fd\u5bfc\u81f4\u8fd9\u79cd\u7b97\u6cd5\u5e76\u4e0d\u9ad8\u6548\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hive \u4e0e\u4f20\u7edf\u6570\u636e\u5e93\u7684\u5bf9\u6bd4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. Schema on Read vs Schema on Write<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Hive\uff08Schema on Read\uff09<\/strong><br>Hive \u5728\u52a0\u8f7d\u6570\u636e\u65f6\u4e0d\u4f1a\u76f4\u63a5\u5bf9\u6570\u636e\u8fdb\u884c\u89e3\u6790\u6216\u6821\u9a8c\uff0c\u800c\u662f\u5728\u6267\u884c HQL \u67e5\u8be2\u65f6\u624d\u8fdb\u884c\u6570\u636e\u7684\u62bd\u53d6\u3001\u8f6c\u6362\u548c\u52a0\u8f7d\u3002\u8fd9\u79cd\u65b9\u5f0f\u9002\u5408\u5904\u7406\u6d77\u91cf\u6570\u636e\uff0c\u56e0\u4e3a\u5b83\u907f\u514d\u4e86\u521d\u59cb\u52a0\u8f7d\u7684\u9ad8\u5ef6\u8fdf\u3002<\/li>\n\n\n\n<li><strong>\u4f20\u7edf\u6570\u636e\u5e93\uff08Schema on Write\uff09<\/strong><br>\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08\u5982 MySQL\uff09\u5728\u63d2\u5165\u6216\u52a0\u8f7d\u6570\u636e\u65f6\u5c31\u4f1a\u8fdb\u884c\u6570\u636e\u6821\u9a8c\u548c\u8f6c\u6362\uff0c\u786e\u4fdd\u6570\u636e\u7684\u4e00\u81f4\u6027\u548c\u5b8c\u6574\u6027\u3002\u8fd9\u79cd\u65b9\u5f0f\u66f4\u9002\u5408\u4e8b\u52a1\u5904\u7406\u573a\u666f\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. \u9762\u5411\u4e8b\u52a1 vs \u9762\u5411\u5206\u6790<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4f20\u7edf\u6570\u636e\u5e93\uff08\u5982 MySQL\uff09<\/strong>\uff1a\u9002\u5408\u4e8b\u52a1\u5904\u7406\uff0c\u8981\u6c42\u6570\u636e\u4e00\u81f4\u6027\u3001\u5b9e\u65f6\u6027\u8f83\u9ad8\u3002<\/li>\n\n\n\n<li><strong>Hive<\/strong>\uff1a\u9002\u5408\u79bb\u7ebf\u5206\u6790\uff0c\u901a\u5e38\u4e00\u6b21\u5199\u5165\u591a\u6b21\u8bfb\u53d6\uff0c\u5f3a\u8c03\u5927\u89c4\u6a21\u6570\u636e\u7684\u6279\u91cf\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">3. \u6570\u636e\u4ed3\u5e93 vs \u6570\u636e\u6e56<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u4ed3\u5e93<\/strong>\uff1a\u6570\u636e\u7ecf\u8fc7\u6e05\u6d17\u548c\u5efa\u6a21\uff0c\u9002\u5408\u9ad8\u7ea7\u5206\u6790\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6e56<\/strong>\uff1a\u5b58\u50a8\u539f\u59cb\u6570\u636e\uff0c\u652f\u6301\u591a\u79cd\u683c\u5f0f\u548c\u5de5\u5177\u8bbf\u95ee\u3002<\/li>\n<\/ul>\n\n\n\n<p>Hive \u5728\u67d0\u79cd\u7a0b\u5ea6\u4e0a\u5177\u5907\u4e86\u6570\u636e\u6e56\u7684\u80fd\u529b\uff0c\u56e0\u4e3a\u5b83\u5141\u8bb8\u76f4\u63a5\u5b58\u50a8\u539f\u59cb\u6570\u636e\u6587\u4ef6\uff0c\u5e76\u5728\u67e5\u8be2\u65f6\u7edf\u4e00\u89e3\u6790\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u6570\u636e\u6e56\u4e0e\u6570\u636e\u4ed3\u5e93\u7684\u5173\u7cfb<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u6e56\u4f5c\u4e3a\u6570\u636e\u4ed3\u5e93\u7684\u6570\u636e\u6e90<\/strong><br>\u539f\u59cb\u6570\u636e\u5b58\u50a8\u5728\u6570\u636e\u6e56\u4e2d\uff0c\u6570\u636e\u4ed3\u5e93\u4ece\u6570\u636e\u6e56\u4e2d\u63d0\u53d6\u6570\u636e\u7528\u4e8e\u9ad8\u7ea7\u5206\u6790\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6e56\u5373\u6570\u636e\u4ed3\u5e93<\/strong><br>\u6570\u636e\u6e56\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7 SQL \u67e5\u8be2\u8bbf\u95ee\uff0c\u6210\u4e3a\u4e00\u4e2a\u7edf\u4e00\u7684\u5b58\u50a8\u548c\u5206\u6790\u5e73\u53f0\u3002<\/li>\n\n\n\n<li><strong>\u6e56\u4ed3\u4e00\u4f53\uff08Lakehouse\uff09<\/strong><br>\u70ed\u6570\u636e\u5b58\u50a8\u5728\u6570\u636e\u4ed3\u5e93\u4e2d\u4ee5\u63d0\u9ad8\u67e5\u8be2\u6548\u7387\uff0c\u51b7\u6570\u636e\u5b58\u50a8\u5728\u6570\u636e\u6e56\u4e2d\u4ee5\u8282\u7701\u6210\u672c\u3002\u8fd9\u79cd\u6a21\u5f0f\u88ab\u79f0\u4e3a\u6e56\u4ed3\u4e00\u4f53\uff0cHive \u53ef\u4ee5\u770b\u4f5c\u662f\u65e9\u671f\u5b9e\u73b0\u6e56\u4ed3\u4e00\u4f53\u7684\u5de5\u5177\u3002<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">\u7b2c\u4e09\u5341\u4e00\u7ae0<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">FLINK<\/h2>\n\n\n\n<p>Flink \u662f\u4e00\u4e2a\u6846\u67b6\u548c\u5206\u5e03\u5f0f\u5904\u7406\u5f15\u64ce\uff0c\u4e13\u95e8\u7528\u4e8e\u5904\u7406 <strong>\u6709\u72b6\u6001\uff08stateful\uff09\u8ba1\u7b97<\/strong> \u7684 <strong>\u65e0\u754c\uff08unbounded\uff09<\/strong> \u548c <strong>\u6709\u754c\uff08bounded\uff09<\/strong> \u6570\u636e\u6d41\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6d41\u5f0f\u6570\u636e\uff08Streams\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u65e0\u754c\u6d41\uff08Unbounded Streams\uff09\uff1a<\/strong> \u6570\u636e\u6e90\u6e90\u4e0d\u65ad\u5730\u4ea7\u751f\uff0c\u6570\u636e\u6d41\u6ca1\u6709\u56fa\u5b9a\u7684\u7ed3\u675f\u70b9\u3002\u6bd4\u5982\u5b9e\u65f6\u65e5\u5fd7\u3001\u4f20\u611f\u5668\u6570\u636e\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u6709\u754c\u6d41\uff08Bounded Streams\uff09\uff1a<\/strong> \u6570\u636e\u6d41\u662f\u6709\u9650\u7684\uff0c\u7c7b\u4f3c\u6279\u5904\u7406\u3002\u6bd4\u5982\u4e00\u4e2a\u56fa\u5b9a\u5927\u5c0f\u7684\u6587\u4ef6\u3002<\/li>\n\n\n\n<li><strong>\u5b9e\u65f6\u6d41\uff08Real-time Streams\uff09\uff1a<\/strong> \u6570\u636e\u968f\u7740\u4e8b\u4ef6\u7684\u53d1\u751f\u5b9e\u65f6\u5230\u8fbe\u3002<\/li>\n\n\n\n<li><strong>\u5f55\u5236\u6d41\uff08Recorded Streams\uff09\uff1a<\/strong> \u6570\u636e\u4e0d\u662f\u5b9e\u65f6\u5230\u8fbe\uff0c\u800c\u662f\u4ece Kafka \u7b49\u6d88\u606f\u961f\u5217\u4e2d\u8bfb\u53d6\u5386\u53f2\u6570\u636e\uff08Flink \u5904\u7406\u901f\u5ea6\u53ef\u80fd\u8ddf\u4e0d\u4e0a\u5b9e\u65f6\u6570\u636e\u65f6\u7684\u89e3\u51b3\u65b9\u6848\uff09\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Flink \u8981\u89e3\u51b3\u7684\u6838\u5fc3\u95ee\u9898<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6570\u636e\u5206\u533a\uff08Partitioning\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6709\u591a\u4e2a\u5904\u7406\u5668\uff08\u7b97\u5b50\uff09\u65f6\uff0c\u5982\u4f55\u5c06\u6570\u636e\u5206\u533a\u5230\u4e0d\u540c\u8282\u70b9\u4e0a\uff1f\uff08\u6bd4\u5982\u6309 key \u6216\u89c4\u5219\u5c06\u67d0\u4e9b\u4e8b\u4ef6\u5206\u914d\u5230\u7279\u5b9a\u7684\u8282\u70b9\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e71\u5e8f\u95ee\u9898\uff08Out-of-order Events\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u53ef\u80fd\u4e0d\u662f\u6309\u4e8b\u4ef6\u53d1\u751f\u65f6\u95f4\u7684\u987a\u5e8f\u8fdb\u5165\u7cfb\u7edf\uff0c\u6bd4\u5982\u4e5d\u70b9\u949f\u5904\u7406\u516b\u70b9\u5230\u4e5d\u70b9\u7684\u6570\u636e\uff0c\u4f46\u4e5d\u70b9\u5341\u4e94\u53ef\u80fd\u8fd8\u4f1a\u6536\u5230\u516b\u70b9\u5230\u4e5d\u70b9\u7684\u6570\u636e\u3002\u5982\u4f55\u4fdd\u8bc1\u6b63\u786e\u6027\uff1f<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6709\u72b6\u6001\u7684\u5904\u7406\uff08Stateful Computation\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4e8b\u4ef6\u4e4b\u95f4\u9700\u8981\u5173\u8054\u5904\u7406\u3002\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7528\u6237\u70b9\u51fb\u884c\u4e3a\u8ddf\u8e2a\uff1a\u9700\u8981\u77e5\u9053\u7528\u6237\u4e0a\u4e00\u6b21\u70b9\u51fb\u7684\u4f4d\u7f6e\u3002<\/li>\n\n\n\n<li>\u8d2d\u7269\u8f66\uff1a\u9700\u8981\u4fdd\u5b58\u6bcf\u4e2a\u7528\u6237\u7684\u8d2d\u7269\u8f66\u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u8fd9\u79cd\u72b6\u6001\u9700\u8981\u88ab\u4fdd\u5b58\u548c\u7ba1\u7406\uff0c\u7279\u522b\u662f\u5f53\u5185\u5b58\u4e0d\u8db3\u65f6\uff0c\u72b6\u6001\u9700\u8981\u5199\u5165\u786c\u76d8\uff08\u5982 RocksDB\uff09\uff0c\u5e76\u5728\u9700\u8981\u65f6\u6062\u590d\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u6838\u5fc3\u6982\u5ff5<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Flink \u7684\u6838\u5fc3\u6982\u5ff5\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>\u5206\u533a\uff1a<\/strong> \u6570\u636e\u6309 key \u5206\u533a\u5230\u4e0d\u540c\u8282\u70b9\uff0c\u4fdd\u8bc1\u72b6\u6001\u4e00\u81f4\u6027\u3002<\/li>\n\n\n\n<li><strong>\u72b6\u6001\uff1a<\/strong> \u4fdd\u5b58\u4e8b\u4ef6\u7684\u4e2d\u95f4\u7ed3\u679c\uff0c\u652f\u6301\u5b58\u50a8\u4e0e\u6062\u590d\u3002<\/li>\n\n\n\n<li><strong>Watermarks\uff1a<\/strong> \u89e3\u51b3\u4e71\u5e8f\u95ee\u9898\uff0c\u5b9a\u4e49\u5ef6\u8fdf\u65f6\u95f4\u3002<\/li>\n\n\n\n<li><strong>\u7a97\u53e3\u673a\u5236\uff1a<\/strong> \u5c06\u6d41\u5f0f\u6570\u636e\u5206\u6279\u5904\u7406\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Flink \u7684\u4f18\u52bf\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u652f\u6301\u6709\u72b6\u6001\u7684\u6d41\u5f0f\u8ba1\u7b97\uff0c\u80fd\u591f\u5173\u8054\u524d\u540e\u4e8b\u4ef6\u3002<\/li>\n\n\n\n<li>\u9ad8\u6548\u7684\u72b6\u6001\u7ba1\u7406\uff08\u5185\u5b58+\u786c\u76d8+\u5feb\u7167\uff09\u3002<\/li>\n\n\n\n<li>\u7075\u6d3b\u5904\u7406\u4e71\u5e8f\u6570\u636e\uff0c\u4fdd\u8bc1\u7ed3\u679c\u7684\u51c6\u786e\u6027\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4ec0\u4e48\u662f\u72b6\u6001\uff08State\uff09\uff1f<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u72b6\u6001\u7684\u5b9a\u4e49\uff1a<\/strong><\/li>\n\n\n\n<li>\u72b6\u6001\u662f\u7a0b\u5e8f\u5728\u5904\u7406\u4e8b\u4ef6\u65f6\u9700\u8981\u8bb0\u4f4f\u7684\u4fe1\u606f\u3002\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u7528\u6237\u7684\u8d2d\u7269\u8f66\uff08\u952e\u503c\u5bf9\u5b58\u50a8\uff09\u3002<\/li>\n\n\n\n<li>\u7528\u6237\u70b9\u51fb\u7684\u8bbf\u95ee\u8def\u5f84\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Flink \u4e2d\u7684\u72b6\u6001\uff1a<\/strong><\/li>\n\n\n\n<li>Flink \u7684\u72b6\u6001\u662f\u6bcf\u4e2a\u4e8b\u4ef6\u5904\u7406\u903b\u8f91\u7684\u4e2d\u95f4\u7ed3\u679c\u3002\u4f8b\u5982\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5f53\u524d\u4e8b\u4ef6\u5904\u7406\u5230\u54ea\uff0c\u524d\u4e00\u4e2a\u4e8b\u4ef6\u662f\u4ec0\u4e48\u3002<\/li>\n\n\n\n<li>\u8fd9\u4e9b\u72b6\u6001\u9700\u8981\u5728\u4e8b\u4ef6\u5904\u7406\u7684\u524d\u540e\u8fdb\u884c\u5173\u8054\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u72b6\u6001\u7ba1\u7406\u7684\u7279\u70b9\uff1a<\/strong><\/li>\n\n\n\n<li><strong>\u5b58\u50a8\u4e0e\u6062\u590d\uff1a<\/strong> \u5f53\u5185\u5b58\u4e0d\u8db3\u65f6\uff0c\u72b6\u6001\u4f1a\u5199\u5230\u786c\u76d8\uff08\u5982 RocksDB\uff09\uff0c\u5e76\u5728\u9700\u8981\u65f6\u4ece\u786c\u76d8\u6062\u590d\u3002<\/li>\n\n\n\n<li><strong>Checkpoint\uff08\u68c0\u67e5\u70b9\uff09\uff1a<\/strong> \u4e3a\u4e86\u5bb9\u9519\uff0cFlink \u5b9a\u671f\u5bf9\u72b6\u6001\u8fdb\u884c\u5feb\u7167\uff08snapshot\uff09\uff0c\u786e\u4fdd\u5373\u4f7f\u7cfb\u7edf\u5d29\u6e83\uff0c\u4e5f\u53ef\u4ee5\u4ece\u6700\u8fd1\u7684\u68c0\u67e5\u70b9\u6062\u590d\u3002\n<ul class=\"wp-block-list\">\n<li><strong>\u5f02\u6b65\u5feb\u7167\uff1a<\/strong> \u524d\u7aef\u7ee7\u7eed\u5904\u7406\u4e8b\u4ef6\uff0c\u540e\u7aef\u5f02\u6b65\u5199\u5165\u5feb\u7167\uff0c\u907f\u514d\u524d\u7aef\u505c\u987f\u3002<\/li>\n\n\n\n<li><strong>\u589e\u91cf\u5feb\u7167\uff1a<\/strong> \u6bcf\u6b21\u53ea\u8bb0\u5f55\u53d8\u5316\u7684\u72b6\u6001\uff0c\u907f\u514d\u5168\u91cf\u5feb\u7167\u5e26\u6765\u7684\u6027\u80fd\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5206\u533a\u548c\u72b6\u6001\u7ef4\u62a4\uff1a<\/strong><\/li>\n\n\n\n<li>Flink \u4f1a\u6839\u636e key \u5c06\u76f8\u540c key \u7684\u4e8b\u4ef6\u53d1\u9001\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u5904\u7406\uff0c\u786e\u4fdd\u72b6\u6001\u5f97\u4ee5\u7ef4\u62a4\uff08\u7c7b\u4f3c Nginx \u7684 IP \u54c8\u5e0c\u903b\u8f91\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Watermarks\uff08\u6c34\u4f4d\u7ebf\uff09<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Watermarks \u7684\u4f5c\u7528\uff1a<\/strong><\/li>\n\n\n\n<li>\u89e3\u51b3\u5c11\u91cf\u6570\u636e\u5ef6\u8fdf\u5230\u8fbe\u7684\u95ee\u9898\u3002<\/li>\n\n\n\n<li>\u4f8b\u5982\uff1a\u6211\u4eec\u5e0c\u671b\u5904\u7406 8 \u70b9\u5230 9 \u70b9\u7684\u6570\u636e\uff0c\u4f46 9 \u70b9 2 \u5206\u8fd8\u6709 8 \u70b9\u7684\u6570\u636e\u5230\u8fbe\uff0c\u5982\u4f55\u5904\u7406\uff1f<\/li>\n\n\n\n<li><strong>Watermarks \u7684\u903b\u8f91\uff1a<\/strong><\/li>\n\n\n\n<li>\u5b9a\u4e49\u4e00\u4e2a\u53ef\u4ee5\u63a5\u53d7\u7684\u5ef6\u8fdf\u65f6\u95f4\uff08\u5982 5 \u5206\u949f\uff09\u3002<ul><li>\u5982\u679c\u5ef6\u8fdf\u65f6\u95f4\u5185\uff08\u5982 9 \u70b9 5 \u5206\u524d\uff09\u6570\u636e\u5230\u8fbe\uff0c\u4ecd\u7136\u53ef\u4ee5\u5904\u7406\u4e3a\u5f53\u524d\u7a97\u53e3\u7684\u6570\u636e\u3002<\/li><li>\u5982\u679c\u8d85\u8fc7\u5ef6\u8fdf\u65f6\u95f4\uff08\u5982 9 \u70b9 6 \u5206\u5230\u8fbe\uff09\uff0c\u53ef\u4ee5\u9009\u62e9\uff1a<\/li><\/ul>\n<ol class=\"wp-block-list\">\n<li>\u5c06\u6570\u636e\u653e\u5230\u4e0b\u4e00\u4e2a\u7a97\u53e3\u5904\u7406\u3002<\/li>\n\n\n\n<li>\u4e22\u5f03\u8fd9\u6761\u6570\u636e\u3002<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>Watermarks \u7684\u5b9e\u73b0\uff1a<\/strong><\/li>\n\n\n\n<li>\u6bcf\u4e2a\u6570\u636e\u6e90\u4f1a\u751f\u6210\u4e00\u4e2a\u6c34\u4f4d\u7ebf\uff0c\u8868\u793a\u5b83\u5df2\u7ecf\u5904\u7406\u5230\u7684\u65f6\u95f4\u70b9\u3002<\/li>\n\n\n\n<li>\u4e0b\u6e38\u7b97\u5b50\u4f1a\u6839\u636e\u591a\u4e2a\u6570\u636e\u6e90\u7684\u6700\u5c0f\u6c34\u4f4d\u7ebf\uff0c\u51b3\u5b9a\u5f53\u524d\u65f6\u95f4\u7a97\u53e3\u7684\u5904\u7406\u903b\u8f91\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u7a97\u53e3\u673a\u5236\uff08Windowing\uff09<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u7a97\u53e3\u7684\u4f5c\u7528\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5c06\u6d41\u5f0f\u6570\u636e\u5206\u6210\u5c0f\u6279\u6b21\uff0c\u5206\u6279\u5904\u7406\u3002\u6bcf\u4e2a\u6279\u6b21\u7684\u6570\u636e\u53eb\u505a\u4e00\u4e2a\u7a97\u53e3\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u4e24\u79cd\u7a97\u53e3\u7c7b\u578b\uff1a<\/strong><\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u65f6\u95f4\u7a97\u53e3\uff08Time-based Window\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6309\u56fa\u5b9a\u65f6\u95f4\u95f4\u9694\u5904\u7406\u6570\u636e\u3002\u4f8b\u5982\u6bcf 30 \u79d2\u5904\u7406\u4e00\u6b21\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u8ba1\u6570\u7a97\u53e3\uff08Count-based Window\uff09\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6309\u56fa\u5b9a\u4e8b\u4ef6\u6570\u91cf\u5904\u7406\u6570\u636e\u3002\u4f8b\u5982\u6bcf 3 \u4e2a\u4e8b\u4ef6\u5904\u7406\u4e00\u6b21\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u603b\u7ed3\uff1a<\/strong><\/li>\n\n\n\n<li>\u7a97\u53e3\u673a\u5236\u5c06\u6d41\u5f0f\u6570\u636e\u5212\u5206\u4e3a\u5c0f\u7684\u6279\u6b21\u5904\u7406\uff0c\u4ece\u5b8f\u89c2\u4e0a\u770b\uff0c\u6d41\u5f0f\u6570\u636e\u5c31\u50cf\u662f\u5b9e\u65f6\u6279\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Flink \u7684\u67b6\u6784<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6709\u72b6\u6001\u8ba1\u7b97\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u6b21\u5904\u7406\u4e8b\u4ef6\u65f6\uff0c\u903b\u8f91\u7a0b\u5e8f\u9700\u8981\u8bfb\u53d6\u72b6\u6001\uff0c\u51b3\u5b9a\u5982\u4f55\u5904\u7406\u5f53\u524d\u4e8b\u4ef6\u3002<\/li>\n\n\n\n<li>\u72b6\u6001\u5b58\u50a8\u5728\u5185\u5b58\u6216\u786c\u76d8\u4e0a\uff0c\u9891\u7e41\u8bfb\u5199\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u72b6\u6001\u7ba1\u7406\u7684\u5173\u952e\u70b9\uff1a<\/strong><\/li>\n\n\n\n<li><strong>\u72b6\u6001\u5b58\u50a8\u4e0e\u6062\u590d\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u72b6\u6001\u53ef\u80fd\u5f88\u5927\uff0c\u5185\u5b58\u4e0d\u8db3\u65f6\u9700\u8981\u5b58\u50a8\u5230\u786c\u76d8\uff08\u5982 RocksDB\uff09\u3002<\/li>\n\n\n\n<li>\u7cfb\u7edf\u5d29\u6e83\u540e\uff0c\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u72b6\u6001\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5f02\u6b65\u4e0e\u589e\u91cf\u5feb\u7167\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5f02\u6b65\u5feb\u7167\uff1a\u524d\u7aef\u7ee7\u7eed\u5904\u7406\u4e8b\u4ef6\uff0c\u540e\u7aef\u5f02\u6b65\u5199\u5165\u72b6\u6001\u3002<\/li>\n\n\n\n<li>\u589e\u91cf\u5feb\u7167\uff1a\u53ea\u8bb0\u5f55\u72b6\u6001\u7684\u53d8\u5316\uff0c\u51cf\u5c11\u6027\u80fd\u5f00\u9500\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">AI<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eba\u5de5\u795e\u7ecf\u7f51\u7edc<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-522.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"193\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-522.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2931\"  sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u6fc0\u6d3b\u51fd\u6570\uff1asigmod<\/h3>\n\n\n\n<p>\u03c3(z)=&nbsp;1\/(1+e^\u2212z)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-524-1024x521.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-524-1024x521.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2933\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u4e3a\u4ec0\u4e48sigmoid\uff1f\u4efb\u610f\u4e00\u4e2a\u51fd\u6570\u90fd\u53ef\u4ee5\u88ab\u62c6\u6210\u662f\u82e5\u5e72\u4e2a\u201c\u9636\u8dc3\u51fd\u6570\u201d\uff08\u5206\u6bb5\u51fd\u6570\uff09\u7684\u7ebf\u6027\u7ec4\u5408\uff0c\u7c7b\u4f3c\u5085\u91cc\u53f6 \u53d8\u6362\u3002\u4f46\u662f\u5206\u6bb5\u51fd\u6570\u8868\u793a\u8d77\u6765\u6bd4\u8f83\u9ebb\u70e6\u3002sigmoid\u7684\u6027\u8d28\uff1a<\/p>\n\n\n\n<p>1. \u53d6\u503c\u8303\u56f4\u57280~1\u4e4b\u95f4\uff0c\u975e\u5e38\u9002\u5408\u6982\u7387 <br>2. \u4e2d\u5fc3\u5bf9\u79f0\uff0c\u5728x=0\u5904\u68af\u5ea6\u8f83\u5927<br>3. \u5e73\u6ed1\u4e14\u6c42\u5bfc\u65b9\u4fbf\uff0c\u03c3\u2032(z) = \u03c3(z)(1\u2212\u03c3(z)) <br>4.\u975e\u7ebf\u6027\uff0c\u53ef\u4ee5\u5e2e\u52a9\u795e\u7ecf\u7f51\u7edc\u6355\u6349\u6570\u636e\u4e2d\u7684\u590d\u6742\u6a21\u5f0f<\/p>\n\n\n\n<p>\u5355\u4e2a\u795e\u7ecf\u5143\u53ea\u80fd\u4ea7\u751f\u7ebf\u6027\u51b3\u7b56\u8fb9\u754c\uff0c\u9002\u7528\u4e8e\u4e8c\u5206\u7c7b\u95ee\u9898\u3002\u5b9e\u9645\u78b0\u5230\u7684\u95ee\u9898\u590d\u6742\u5f97\u591a\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5168\u8fde\u63a5\u795e\u7ecf\u7f51\u7edc<\/h3>\n\n\n\n<p>\u795e\u7ecf\u7f51\u7edc\u7684\u8f93\u51fa\u4f7f\u7528\u7684\u662f\u201c\u72ec\u70ed\u7f16\u7801(One Hot Encoding)\u201d\uff0c\u8f93\u51fa\u662f\u4e00\u4e2a\u5411\u91cf\uff0c\u957f\u5ea6\u7b49\u4e8e\u5206\u7c7b\u7684\u6570\u91cf\u3002\u6bcf \u4e2a\u5206\u7c7b\u90fd\u7531\u5411\u91cf\u4e2d\u7279\u5b9a\u7684\u4f4d\u7f6e\u6765\u8868\u793a (\u4e00\u4e2a\u4f4d\u7f6e\u662f1\uff0c\u5176\u4ed6\u4f4d\u7f6e\u4e3a0\uff0c\u597d\u5904\uff1a\u76f8\u4e92\u6b63\u4ea4\uff0c\u5f7c\u6b64\u72ec\u7acb\uff0c\u4e92\u4e0d\u5e72\u6270) <br>\u6982\u5ff5\uff1a\u8f93\u5165\u5c42\uff0c\u9690\u85cf\u5c42\uff0c\u8f93\u51fa\u5c42\u3002\u51c0\u8f93\u5165(\u8f93\u5165\u7684\u52a0\u6743\u548c)\uff0c\u6fc0\u6d3b (\u5230\u4e0b\u4e00\u5c42\u795e\u7ecf\u5143\u7684\u8f93\u51fa)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8f93\u5165\u5c42\uff1a\u8fd9\u662f\u7f51\u7edc\u7684\u7b2c\u4e00\u5c42\uff0c\u63a5\u53d7\u8f93\u5165\u6570\u636e\u3002\u56fe\u50cf\u5206\u7c7b\u4efb\u52a1\u4e2d\u7684\u6bcf\u4e2a\u50cf\u7d20\u503c\u4f1a\u4f5c\u4e3a\u8f93\u5165\u5c42\u7684\u4e00\u4e2a\u8282\u70b9\u3002<\/li>\n\n\n\n<li>\u9690\u85cf\u5c42\uff1a\u8fd9\u5c42\u4f4d\u4e8e\u8f93\u5165\u5c42\u548c\u8f93\u51fa\u5c42\u4e4b\u95f4\uff0c\u8d1f\u8d23\u5904\u7406\u6570\u636e\u5e76\u63d0\u53d6\u7279\u5f81\u3002\u795e\u7ecf\u7f51\u7edc\u7684\u80fd\u529b\u4e3b\u8981\u4f9d\u8d56\u4e8e\u9690\u85cf\u5c42\u7684\u5c42\u6570\u548c\u8282\u70b9\u6570\u3002<\/li>\n\n\n\n<li>\u8f93\u51fa\u5c42\uff1a\u8fd9\u662f\u7f51\u7edc\u7684\u6700\u540e\u4e00\u5c42\uff0c\u8f93\u51fa\u7f51\u7edc\u7684\u6700\u7ec8\u7ed3\u679c\u3002\u5bf9\u4e8e\u5206\u7c7b\u4efb\u52a1\uff0c\u8f93\u51fa\u5c42\u901a\u5e38\u4f1a\u7ed9\u51fa\u6bcf\u4e2a\u7c7b\u522b\u7684\u9884\u6d4b\u503c\u3002<\/li>\n\n\n\n<li>\u6743\u91cd\uff08\u77e9\u9635\uff09\u8282\u70b9\u4e4b\u95f4\u7684\u8fde\u63a5\u7ebf\u6761\u4ee3\u8868\u6743\u91cd\uff0c\u7528\u6765\u8868\u793a\u8f93\u5165\u548c\u8f93\u51fa\u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6743\u91cd\u77e9\u9635&nbsp;\ud835\udc4a(1),\ud835\udc4a(2),\ud835\udc4a(3)\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u6838\u5fc3\u53c2\u6570\uff0c\u8bad\u7ec3\u7684\u76ee\u6807\u5c31\u662f\u627e\u5230\u5408\u9002\u7684\u6743\u91cd\u6765\u6700\u5c0f\u5316\u8bef\u5dee\u3002<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-525-1024x601.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-525-1024x601.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2934\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-526.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"505\" height=\"166\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-526.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2935\"  sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><\/div><\/figure>\n\n\n\n<p>\u5bf9\u4e8e\u591a\u5206\u7c7b\u95ee\u9898\uff0c\u6700\u540e\u4e00\u5c42\u662f\u4e00\u4e2a\u957f\u5ea6\u7b49\u4e8e\u7c7b\u522b\u6570\u91cf\u7684\u5411\u91cf<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<p>Sigmoid\u5bf9\u591a\u7c7b\u522b\u7684\u6269\u5c55\u5c31\u662f softmax \u51fd\u6570\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-527.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"254\" height=\"85\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-527.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2936\"\/><\/div><\/figure>\n<\/div>\n\n\n\n<p>\u5b83\u4f1a\u4ea7\u751f\u4e00\u4e2a\u5411\u91cf\uff0c\u5176\u4e2d\u7684\u5404\u4e2a\u9879\u90fd\u4ecb\u4e8e 0 \u5230 1 \u4e4b\u95f4\uff0c\u5e76\u4e14\u5b83\u4eec\u7684\u603b\u548c\u7b49\u4e8e 1<\/p>\n\n\n\n<p>softmax\u597d\u5904\uff08\u4e4b\u4e00\uff09\uff1a\u6700\u540e\u7684\u7ed3\u679c\u4f1a\u63a5\u8fd1\u4e8e\u72ec\u70ed\u7f16\u7801<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u8fd9\u4e2a\uff0c\u53c2\u6570\u91cf 100480 = \uff08784 +1\uff09*128\uff0c\u591a\u51fa\u6765\u7684\u4e00\u4e2a\u662f\u504f\u7f6e\u9879<br>Dense\uff1a\u5168\u8fde\u63a5\u5c42\uff0c\u4e24\u5c42\u95f4\u4efb\u610f\u4e24\u4e2a\u795e\u7ecf\u5143\u95f4\u6709\u8fde\u63a5<\/p>\n\n\n\n<p>model = Sequential([ Input(shape=(28, 28, ), batch_size=32), Flatten(), Dense(128, activation=&#8217;relu&#8217;), Dropout(0.2), Dense(10, activation=&#8217;softmax&#8217;) ])<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-528.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"664\" height=\"178\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-528.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2937\"  sizes=\"auto, (max-width: 664px) 100vw, 664px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u8bad\u7ec3\u795e\u7ecf\u7f51\u7edc<\/h2>\n\n\n\n<p>\u8bbe\u7f6e\u6279\u91cfbatch\u7684\u539f\u56e0\uff1a\u5e76\u884c\u8ba1\u7b97\u4e00\u4e2a\u548c\u591a\u4e2a\u901f\u5ea6\u4e00\u6837\uff1b\u539f\u7406\u662f\u6267\u884c\u5b8c\u6bcf\u4e2abatch\u8fdb\u884c\u4e00\u4e9b\u4fee\u6b63(\u62ff\u591a\u4e2a\u7684\u635f\u5931\u503c\u7684\u5e73\u5747)\uff0c\u6267\u884c\u5b8c\u591a\u4e2a\u518d\u4fee\u6b63\u6548\u679c\u66f4\u597d<\/p>\n\n\n\n<p>\u5982\u4f55\u8bad\u7ec3\u795e\u7ecf\u7f51\u7edc\uff1a\u68af\u5ea6\u4e0b\u964d\uff01<br><strong>1. \u505a\u51fa\u9884\u6d4b 2. \u8ba1\u7b97\u635f\u5931 3. \u8ba1\u7b97\u635f\u5931\u51fd\u6570\u5173\u4e8e\u6743\u91cd\u53c2\u6570\u7684\u68af\u5ea6 4. \u6309\u7167\u76f8\u53cd\u7684\u65b9\u5411\u66f4\u65b0\u4e00\u6b65\u6743\u91cd\u53c2\u6570 5. \u8fed\u4ee3\u4e0a\u8ff0\u8fc7\u7a0b<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-529.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"675\" height=\"308\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-529.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2938\"  sizes=\"auto, (max-width: 675px) 100vw, 675px\" \/><\/div><\/figure>\n\n\n\n<p>\u03c3 = \u03c3(z)(1\u2212\u03c3(z)) \u2264 0.25 \u5f53\u5c42\u6570\u589e\u591a\u65f6\uff0c\u5728\u9760\u524d\u7684\u5c42\u4e2d\uff0c\u68af\u5ea6\u5c31\u53d8\u5f97\u975e\u5e38\u5c0f\u4e86\u3002\u8fd9\u5c31\u662f\u201c\u68af\u5ea6\u6d88\u5931\u201d\u95ee \u9898\u3002\u6b63\u56e0\u4e3a\u8fd9\u4e2a\u539f\u56e0\uff0c\u5176\u4ed6\u7684\u6fc0\u6d3b\u51fd\u6570(\u4f8b\u5982ReLU) \u53d8\u5f97\u66f4\u5e38\u89c1\u4e86<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09<\/h2>\n\n\n\n<p>\u76ee\u6807\uff1a\u901a\u8fc7\u5377\u79ef\u63d0\u53d6\u5c40\u90e8\u7684\u7279\u5f81\uff0c\u4f8b\u5982\u63d0\u53d6\u56fe\u50cf\u8fb9\u7f18<\/p>\n\n\n\n<p>\u5168\u8fde\u63a5\u7f51\u7edc\u7f3a\u70b9\uff1a <br>1. \u8f93\u5165\u6570\u636e\u7684\u5404\u4e2a\u5206\u91cf\u662f\u53ef\u4e92\u6362\u7684\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u8f93\u5165\u5206\u91cf\u5f7c\u6b64\u4e4b\u95f4\u6ca1\u6709\u4efb\u4f55\u7279\u5b9a\u7684\u5173\u7cfb\u3002\u4f46\u662f\u5bf9\u4e8e\u56fe \u50cf\u6570\u636e\uff0c\u6a21\u578b\u5e94\u8be5\u5145\u5206\u5229\u7528\u5176\u5185\u5728\u7684\u5c5e\u6027\u3002 <br>2. \u5168\u8fde\u63a5\u7f51\u7edc\u4f1a\u4ea7\u751f\u6570\u91cf\u5e9e\u5927\u7684\u53c2\u6570\uff1a\u5f69\u8272\u56fe\u50cf\u901a\u5e38\u4f1a\u6709\u81f3\u5c11(200 \u00d7 200)\u50cf\u7d20 \u00d7 3\u989c\u8272\u901a\u9053(RGB) = 120,000\u4e2a\u53c2\u6570\u3002\u5355\u4e2a\u5168\u8fde\u63a5\u5c42\u5c31\u9700\u8981 (200x200x3)^2 = 14,400,000,000 \u4e2a\u6743\u91cd\uff01 <\/p>\n\n\n\n<p>\u52a8\u673a\uff1a\u9700\u8981\u6784\u5efa\u7684\u7279\u5f81\uff1a\u8fb9\u7f18-&gt; \u5f62\u72b6 -&gt; \u5f62\u72b6\u4e4b\u95f4\u7684\u5173\u7cfb\uff1b\u7eb9\u7406<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5377\u79ef\u6838<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5377\u79ef\u6838<\/strong>\uff1a\u5377\u79ef\u6838\u662f\u4e00\u4e2a\u6743\u91cd\u7f51\u7edc\uff0c\u901a\u5e38\u7528\u4e8e\u56fe\u50cf\u5904\u7406\u4e2d\u3002\u5b83\u50cf\u4e00\u4e2a\u5c0f\u7f51\u683c\u4e00\u6837\u8986\u76d6\u5728\u56fe\u50cf\u4e0a\uff0c\u6bcf\u6b21\u4e0e\u56fe\u50cf\u4e2d\u4e00\u4e2a\u50cf\u7d20\u8fdb\u884c\u8ba1\u7b97\uff0c\u901a\u5e38\u4ee5\u8fd9\u4e2a\u50cf\u7d20\u4e3a\u4e2d\u5fc3\u8fdb\u884c\u64cd\u4f5c\u3002<\/li>\n\n\n\n<li><strong>\u5377\u79ef\u6838\u5c3a\u5bf8<\/strong>\uff1a\u5377\u79ef\u6838\u4e00\u6b21\u53ef\u4ee5\u201c\u770b\u5230\u201d\u7684\u50cf\u7d20\u6570\u91cf\uff1b\u5178\u578b\u60c5\u51b5\u4e0b\u4e3a\u5947\u6570\uff0c\u56e0\u4e3a\u6709\u4e00\u4e2a\u5c45\u4e2d\u50cf\u7d20\uff1b\u5377\u79ef\u6838\u4e0d\u4e00\u5b9a\u975e\u8981\u662f\u6b63\u65b9\u5f62\u7684\u3002<\/li>\n\n\n\n<li><strong>\u8fb9\u7f18\u6548\u5e94<\/strong>\uff1a\u5f53\u5377\u79ef\u6838\u6ed1\u52a8\u5230\u56fe\u50cf\u8fb9\u7f18\u65f6\uff0c\u5b83\u4f1a\u9047\u5230\u95ee\u9898\uff0c\u56e0\u4e3a\u56fe\u50cf\u7684\u8fb9\u7f18\u6ca1\u6709\u8db3\u591f\u7684\u50cf\u7d20\u6765\u652f\u6301\u5b8c\u6574\u7684\u5377\u79ef\u64cd\u4f5c\u3002\u4f8b\u5982\uff0c\u5f53\u5377\u79ef\u6838\u662f 5&#215;5 \u65f6\uff0c\u56fe\u50cf\u8fb9\u7f18\u90e8\u5206\u5468\u56f4\u5c31\u6ca1\u6709 5&#215;5 \u7684\u50cf\u7d20\u53ef\u4ee5\u53c2\u4e0e\u8ba1\u7b97\u3002\u4f7f\u7528<strong>\u586b\u5145\uff08padding\uff09<\/strong>\u3002\u901a\u8fc7\u5728\u56fe\u50cf\u8fb9\u7f18\u6dfb\u52a0\u989d\u5916\u50cf\u7d20\uff08\u901a\u5e38\u4e3a\u96f6\uff09\uff0c\u4f7f\u5f97\u5377\u79ef\u6838\u80fd\u591f\u5728\u56fe\u50cf\u8fb9\u7f18\u4e5f\u8fdb\u884c\u5b8c\u6574\u7684\u5377\u79ef\u64cd\u4f5c\uff0c\u4ece\u800c\u907f\u514d\u8fb9\u7f18\u6548\u5e94\u3002<\/li>\n\n\n\n<li><strong>\u6b65\u5e45<\/strong>\uff1a\u5377\u79ef\u6838\u79fb\u52a8\u7684\u6b65\u957f\u3002\u4f8b\u5982\uff0c\u6b65\u5e45\u4e3a 1 \u65f6\uff0c\u5377\u79ef\u6838\u6bcf\u6b21\u6ed1\u52a8 1 \u4e2a\u50cf\u7d20\uff1b\u6b65\u5e45\u4e3a 2 \u65f6\uff0c\u5377\u79ef\u6838\u6bcf\u6b21\u8df3\u8fc7 1 \u4e2a\u50cf\u7d20\uff0c\u76f4\u63a5\u6ed1\u52a8 2 \u4e2a\u50cf\u7d20\u3002\n<ul class=\"wp-block-list\">\n<li>\u6b65\u5e45\u8d8a\u5927\uff0c\u8f93\u51fa\u56fe\u50cf\u7684\u5c3a\u5bf8\u8d8a\u5c0f\u3002\u56e0\u4e3a\u5377\u79ef\u6838\u6bcf\u6b21\u8df3\u5f97\u66f4\u8fdc\uff0c\u8ba1\u7b97\u7684\u533a\u57df\u51cf\u5c11\u4e86\uff0c\u5bfc\u81f4\u8f93\u51fa\u7684\u7ef4\u5ea6\u51cf\u5c0f\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u901a\u9053\u548c\u6df1\u5ea6<\/strong>\uff1a\u989c\u8272\u548c\u7279\u5f81\u7ef4\u5ea6\u3002\u6bcf\u4e2a\u50cf\u7d20\u901a\u5e38\u5305\u542b\u591a\u4e2a\u6570\u503c\uff08\u4f8b\u5982\uff0cRGB \u56fe\u50cf\u4e2d\u7684\u7ea2\u8272\u3001\u7eff\u8272\u3001\u84dd\u8272\u901a\u9053\uff09\u3002\u8fd9\u4e9b\u6570\u503c\u53eb\u505a\u201c\u901a\u9053\u201d\uff08channels\uff09\u3002\n<ul class=\"wp-block-list\">\n<li>RGB\u56fe\u50cf \u2013 3\u901a\u9053\uff0c CMYK\u56fe\u50cf \u2013 4\u901a\u9053\u3002<\/li>\n\n\n\n<li>\u6df1\u5ea6\uff1a\u56fe\u50cf\u7684\u6df1\u5ea6\u5373\u4e3a\u5176\u901a\u9053\u6570\u3002\u5bf9\u4e8e RGB \u56fe\u50cf\uff0c\u6df1\u5ea6\u4e3a 3\uff1b\u5bf9\u4e8e\u7070\u5ea6\u56fe\u50cf\uff0c\u6df1\u5ea6\u4e3a 1\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5377\u79ef\u6838\u7684\u6df1\u5ea6<\/strong>\uff1a\u901a\u9053\u7684\u6570\u91cf\uff0c\u5377\u79ef\u6838\u7684\u6df1\u5ea6\u901a\u5e38\u548c\u8f93\u5165\u56fe\u50cf\u7684\u901a\u9053\u6570\u76f8\u540c\u3002\u4f8b\u5982\uff1a\u5bf9\u4e8e\u4e00 \u4e2a\u5728RGB\u56fe\u50cf\u4e0a\u7684 5 \u00d7 5 \u7684\u5377\u79ef\u6838\u603b\u5171\u6709 5 \u00d7 5 \u00d7 3 = 75 \u4e2a\u6743\u91cd\u3002<\/li>\n\n\n\n<li><strong>\u6bcf\u4e00\u5c42\u7684\u8f93\u51fa\u6df1\u5ea6<\/strong>\uff1a\u5728\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u4e2d\uff0c\u6bcf\u4e00\u5c42\u901a\u5e38\u4f1a\u8bad\u7ec3\u591a\u4e2a\u5377\u79ef\u6838\u3002\u6bcf\u4e2a\u5377\u79ef\u6838\u4f1a\u751f\u6210\u4e00\u5f20\u7279\u5f81\u56fe\uff08feature map\uff09\uff0c\u800c\u6bcf\u4e2a\u5377\u79ef\u6838\u7684\u8f93\u51fa\u6df1\u5ea6\u662f 1\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u67d0\u4e00\u5c42\u4f7f\u7528\u4e86 10 \u4e2a\u5377\u79ef\u6838\uff0c\u90a3\u4e48\u8be5\u5c42\u7684\u8f93\u51fa\u6df1\u5ea6\u4e3a 10\uff0c\u56e0\u4e3a\u6bcf\u4e2a\u5377\u79ef\u6838\u90fd\u4f1a\u751f\u6210\u4e00\u5f20\u7279\u5f81\u56fe\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5377\u79ef\u6838\u7684\u5de5\u4f5c\u539f\u7406<\/strong>\uff1a<\/h4>\n\n\n\n<p>\u5377\u79ef\u6838\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u6743\u91cd\u7f51\u7edc\uff0c\u7528\u4e8e\u56fe\u50cf\u5904\u7406\u3002\u5b83\u50cf\u4e00\u4e2a\u5c0f\u7f51\u683c\u4e00\u6837\u8986\u76d6\u5728\u56fe\u50cf\u4e0a\uff0c\u6bcf\u6b21\u4e0e\u56fe\u50cf\u4e2d\u4e00\u4e2a\u50cf\u7d20\u8fdb\u884c\u8ba1\u7b97\uff0c\u901a\u5e38\u4ee5\u8be5\u50cf\u7d20\u4e3a\u4e2d\u5fc3\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5377\u79ef\u6838\u4f4d\u7f6e\u4e0e\u56fe\u50cf\u4ea4\u4e92<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6bcf\u4e2a\u5377\u79ef\u6838\u90fd\u4f5c\u7528\u4e8e\u5b83\u6240\u8986\u76d6\u7684\u56fe\u50cf\u533a\u57df\uff0c\u8fd9\u4e2a\u533a\u57df\u901a\u5e38\u662f\u77e9\u5f62\u6216\u6b63\u65b9\u5f62\uff0c\u5377\u79ef\u6838\u7684\u201c\u4e2d\u5fc3\u201d\u4f1a\u8986\u76d6\u56fe\u50cf\u4e2d\u7684\u67d0\u4e2a\u50cf\u7d20\u3002<\/li>\n\n\n\n<li>\u5728\u5377\u79ef\u64cd\u4f5c\u4e2d\uff0c\u5377\u79ef\u6838\u901a\u8fc7\u52a0\u6743\u6c42\u548c\u6765\u83b7\u53d6\u8be5\u4f4d\u7f6e\u7684\u7279\u5f81\u3002\u516c\u5f0f\u4e3a\uff1a\u4e0b\u9762\u200b<br>\u5176\u4e2d\uff0c<em>W<\/em><em>p<\/em>\u200b&nbsp;\u4e3a\u5377\u79ef\u6838\u7684\u6743\u91cd\uff0c\ud835\udc5d\ud835\udc56\ud835\udc65\ud835\udc52\ud835\udc59\ud835\udc5d&nbsp;\u662f\u56fe\u50cf\u4e2d\u5bf9\u5e94\u4f4d\u7f6e\u7684\u50cf\u7d20\u503c\uff0c\ud835\udc43&nbsp;\u4e3a\u5377\u79ef\u6838\u7684\u50cf\u7d20\u603b\u6570\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-530.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"255\" height=\"58\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-530.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2939\"\/><\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5377\u79ef\u6838\u7684\u5e94\u7528<\/strong>\uff1a<\/h4>\n\n\n\n<p>\u5377\u79ef\u6838\u4e0d\u4ec5\u5e94\u7528\u4e8e\u6df1\u5ea6\u5b66\u4e60\u4e2d\u7684\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09\uff0c\u4e5f\u5e7f\u6cdb\u7528\u4e8e\u4f20\u7edf\u7684\u56fe\u50cf\u5904\u7406\u6280\u672f\u4e2d\uff0c\u5177\u4f53\u5305\u62ec\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6a21\u7cca\u5316\uff08Blur\uff09<\/strong>\uff1a\u901a\u8fc7\u52a0\u6743\u5e73\u5747\u50cf\u7d20\u503c\u6765\u6a21\u7cca\u56fe\u50cf\u3002<\/li>\n\n\n\n<li><strong>\u9510\u5316\uff08Sharpening\uff09<\/strong>\uff1a\u901a\u8fc7\u7279\u5b9a\u7684\u6743\u91cd\uff0c\u8ba9\u56fe\u50cf\u7684\u8fb9\u7f18\u66f4\u52a0\u6e05\u6670\u3002<\/li>\n\n\n\n<li><strong>\u8fb9\u7f18\u68c0\u6d4b\uff08Edge Detection\uff09<\/strong>\uff1a\u901a\u8fc7\u68c0\u6d4b\u56fe\u50cf\u4e2d\u7684\u663e\u8457\u53d8\u5316\uff0c\u8bc6\u522b\u7269\u4f53\u7684\u8fb9\u7f18\u3002<\/li>\n\n\n\n<li><strong>\u6d6e\u96d5\u5316\uff08Embossing\uff09<\/strong>\uff1a\u901a\u8fc7\u589e\u52a0\u56fe\u50cf\u7684\u6df1\u5ea6\u611f\u62163D\u6548\u679c\uff0c\u8fbe\u5230\u6d6e\u96d5\u6548\u679c\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">CNN<\/h3>\n\n\n\n<p>\u6c60\u5316\uff1a\u901a\u8fc7\u5c06\u4e00\u5757\u50cf\u6620\u5c04\u4e3a\u5355\u4e2a\u50cf\u7d20\u6765\u964d\u4f4e\u56fe\u50cf\u7684\u5c3a\u5bf8\uff0c\u53ef\u4ee5\u7f29\u51cf\u56fe\u50cf\u7684\u7ef4\u5ea6\u3002\u6709\u6700\u5927\u503c\u6c60\u5316\u548c\u5e73\u5747\u503c\u6c60\u5316\u3002<\/p>\n\n\n\n<p>\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u7684\u4e3b\u8981\u601d\u60f3\uff1a1.\u8ba9\u795e\u7ecf\u7f51\u7edc\u5b66\u4e60\u54ea\u4e9b\u5377\u79ef\u6700\u6709\u7528 2.\u4f7f\u7528\u76f8\u540c\u7684\u5377\u79ef\u6838\u96c6\u5408\u4f5c\u7528\u4e8e\u6574\u5e45\u56fe\u50cf(\u5e73\u79fb\u4e0d\u53d8\u6027) 3.\u51cf\u5c11\u53c2\u6570\u7684\u6570\u91cf\uff0c\u51cf\u5c0f\u201c\u65b9\u5dee\u201d(\u4ece\u201c\u504f\u5dee-\u65b9\u5dee\u201d\u5e73\u8861\u7684\u89d2\u5ea6)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-531.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"340\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-531.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2940\"  sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/div><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8f93\u5165\u56fe\u50cf\u4e3a32\u00d732\u7684\u7070\u5ea6\u56fe\u3002<\/li>\n\n\n\n<li>C1\u3001C3\u548cC5\u662f\u5377\u79ef\u5c42\uff0c\u7528\u6765\u63d0\u53d6\u7279\u5f81\u5e76\u751f\u6210\u7279\u5f81\u56fe\u3002<\/li>\n\n\n\n<li>S2\u548cS4\u662f\u6c60\u5316\u5c42\uff0c\u7528\u4e8e\u964d\u7ef4\u5e76\u51cf\u5c11\u8ba1\u7b97\u91cf\u3002<\/li>\n\n\n\n<li>F6\u662f\u5168\u8fde\u63a5\u5c42\uff0c\u8d1f\u8d23\u5c06\u63d0\u53d6\u5230\u7684\u7279\u5f81\u8f6c\u6362\u4e3a\u6700\u7ec8\u7684\u5206\u7c7b\u8f93\u51fa\u3002<\/li>\n\n\n\n<li>\u8f93\u51fa\u5c42\u7ed9\u51fa10\u4e2a\u7c7b\u522b\u7684\u6982\u7387\uff0c\u8fdb\u884c\u6570\u5b57\u5206\u7c7b\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u603b\u6743\u91cd<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conv1:5\u00d75(\u5377\u79ef\u6838\u5c3a\u5bf8)\u00d76(\u5377\u79ef\u6838\u4e2a\u6570)+6(\u504f\u7f6e\u9879)=6\u00d7(5\u00d75+1)=6\u00d726=156<\/li>\n\n\n\n<li>Conv3:5\u00d75\u00d76(\u5377\u79ef\u6838\u5c3a\u5bf8\u00d7\u8f93\u5165\u901a\u9053\u6570)\u00d716(\u5377\u79ef\u6838\u4e2a\u6570)+16(\u504f\u7f6e\u9879)=16\u00d7(5\u00d75\u00d76+1)=16\u00d7151=2,416<\/li>\n\n\n\n<li>FC1:5\u00d75\u00d716(\u5377\u79ef\u6838\u5c3a\u5bf8\u00d7\u8f93\u5165\u901a\u9053\u6570)\u00d7120(\u5377\u79ef\u6838\u4e2a\u6570)+120(\u504f\u7f6e\u9879)= 120\u00d7(5\u00d75\u00d716+1)=120\u00d7401=48,120<\/li>\n\n\n\n<li>FC2:120(\u8f93\u5165\u795e\u7ecf\u5143\u6570)\u00d784(\u8f93\u51fa\u795e\u7ecf\u5143\u6570)=120\u00d784=10,080<\/li>\n\n\n\n<li>FC3:84(\u8f93\u5165\u795e\u7ecf\u5143\u6570)\u00d710(\u8f93\u51fa\u795e\u7ecf\u5143\u6570)=84\u00d710=840<\/li>\n\n\n\n<li>ALL:156+0+2,416+0+48,120+10,080+840=61,612<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u7b14\u5355\u4e2a\u5168\u8fde\u63a5\u5c42\u7684\u6743\u91cd\u90fd\u5c11\u3002<br>\u91cd\u70b9\uff1a\u5377\u79ef\u5c42\u5177\u6709\u76f8\u5bf9\u8f83\u5c11\u7684\u6743\u91cd\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-532.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"547\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-532.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2941\"  sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u81ea\u7136\u8bed\u8a00\u5904\u7406<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u6587\u6863\u76f8\u4f3c\u6027\u5904\u7406<\/h3>\n\n\n\n<p>\u5904\u7406\u6587\u6863\u76f8\u4f3c\u6027\u95ee\u9898\u7684\u5e38\u89c1\u6b65\u9aa4\u5982\u4e0b\uff0c\u4e3b\u8981\u6d89\u53ca\u6587\u672c\u7684\u9884\u5904\u7406\u3001\u7279\u5f81\u8868\u793a\u548c\u76f8\u4f3c\u6027\u8ba1\u7b97\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>\u5206\u8bcd\u4e0e\u9884\u5904\u7406<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bed\u6599\u5e93<\/strong>\uff1a\u4e5f\u79f0\u4e3a\u6587\u672c\u6570\u636e\uff0c\u5305\u542b\u4e86\u6211\u4eec\u8981\u5904\u7406\u7684\u6240\u6709\u6587\u6863\u3002<\/li>\n\n\n\n<li><strong>\u9884\u5904\u7406<\/strong>\uff1a\u6307\u5bf9\u6587\u672c\u8fdb\u884c\u6e05\u6d17\u548c\u89c4\u8303\u5316\uff0c\u5305\u62ec\u53bb\u9664\u505c\u7528\u8bcd\u3001\u6807\u70b9\u7b26\u53f7\u3001\u6570\u5b57\u7b49\u65e0\u5173\u4fe1\u606f\uff0c\u5e38\u7528\u7684\u5de5\u5177\u5305\u62ec\u6b63\u5219\u8868\u8fbe\u5f0f\u7b49\u3002<\/li>\n\n\n\n<li><strong>\u5206\u8bcd<\/strong>\uff1a\u5c06\u6587\u672c\u5207\u5206\u6210\u5355\u4e2a\u8bcd\u6c47\u7684\u8fc7\u7a0b\uff0c\u5e38\u89c1\u7684\u5206\u8bcd\u5de5\u5177\u6709jieba\u3001NLTK\u7b49\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">2. <strong>\u6784\u5efa\u5b57\u5178<\/strong><\/h4>\n\n\n\n<p>\u4ece\u8bed\u6599\u5e93\u4e2d\u63d0\u53d6\u51fa\u6240\u6709\u51fa\u73b0\u7684\u8bcd\u6c47\uff0c\u751f\u6210\u8bcd\u6c47\u8868\uff08\u5b57\u5178\uff09\u3002\u6bcf\u4e2a\u8bcd\u6c47\u4f1a\u88ab\u8d4b\u4e88\u4e00\u4e2a\u552f\u4e00\u7684ID\uff08\u8bcdID\uff09\uff0c\u7528\u4e8e\u540e\u7eed\u7684\u5411\u91cf\u5316\u8868\u793a\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. <strong>\u6784\u5efa\u8bcd\u888b\u6a21\u578b (BOW)<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>BOW\u6a21\u578b<\/strong>\uff1a\u8be5\u6a21\u578b\u5ffd\u7565\u8bcd\u6c47\u987a\u5e8f\uff0c\u4ec5\u7edf\u8ba1\u6bcf\u4e2a\u8bcd\u5728\u6587\u672c\u4e2d\u51fa\u73b0\u7684\u9891\u7387\u3002<br>\u683c\u5f0f\uff1a<code>(\u8bcdID, \u8bcd\u9891)<\/code>\uff0c\u4f8b\u5982\u5bf9\u4e8e\u6587\u672c\u201c\u6211 \u7231 \u5b66\u4e60\u201d\uff0c\u8bcd\u888b\u6a21\u578b\u53ef\u80fd\u53d8\u4e3a <code>[(\u6211, 1), (\u7231, 1), (\u5b66\u4e60, 1)]<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">4. <strong>\u6784\u5efaTF-IDF\u8bcd\u6743\u91cd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TF-IDF<\/strong>\uff1a\u5168\u79f0\u201c\u8bcd\u9891-\u9006\u6587\u6863\u9891\u7387\u201d\uff08Term Frequency-Inverse Document Frequency\uff09\u3002\u5b83\u8861\u91cf\u4e00\u4e2a\u8bcd\u8bed\u5bf9\u4e8e\u4e00\u7bc7\u6587\u6863\u7684\u91cd\u8981\u6027\u3002\n<ul class=\"wp-block-list\">\n<li><strong>TF (Term Frequency)<\/strong>\uff1a\u8bcd\u8bed\u5728\u6587\u6863\u4e2d\u51fa\u73b0\u7684\u9891\u7387\u3002<\/li>\n\n\n\n<li><strong>IDF (Inverse Document Frequency)<\/strong>\uff1a\u8bcd\u8bed\u5728\u6574\u4e2a\u8bed\u6599\u5e93\u4e2d\u7684\u91cd\u8981\u6027\uff0c\u8d8a\u5c11\u51fa\u73b0\u5728\u5176\u4ed6\u6587\u6863\u4e2d\u7684\u8bcd\u8d8a\u91cd\u8981\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u901a\u8fc7TF-IDF\u8ba1\u7b97\u5f97\u5230\u6bcf\u4e2a\u8bcd\u7684\u6743\u91cd\uff0c\u5e38\u7528\u4e8e\u6539\u8fdbBOW\u6a21\u578b\uff0c\u4f7f\u5e38\u89c1\u8bcd\u8bed\u7684\u5f71\u54cd\u529b\u964d\u4f4e\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">5. <strong>\u6784\u5efaN-Gram\u4e0ePhrases\u6a21\u578b<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N-Gram<\/strong>\uff1a\u662f\u4e00\u79cd\u57fa\u4e8e\u7a97\u53e3\u5927\u5c0f\u7684\u5e8f\u5217\u6a21\u578b\uff0c\u8868\u793a\u6587\u672c\u4e2d\u8fde\u7eed\u7684N\u4e2a\u8bcd\u3002\u6bd4\u5982\uff0c2-gram\u8868\u793a\u6587\u672c\u4e2d\u7684\u8fde\u7eed\u4e24\u4e2a\u8bcd\uff1a<code>\"\u6211 \u7231\"<\/code>\u3001<code>\"\u7231 \u5b66\u4e60\"<\/code>\u3002<\/li>\n\n\n\n<li><strong>Phrases\u6a21\u578b<\/strong>\uff1a\u901a\u8fc7N-Gram\u6a21\u578b\u53d1\u73b0\u6709\u610f\u4e49\u7684\u77ed\u8bed\uff08\u5982\u201c\u590f\u5b63 \u8054\u8d5b\u201d\uff09\uff0c\u5e76\u5c06\u8fd9\u4e9b\u77ed\u8bed\u89c6\u4e3a\u4e00\u4e2a\u8bcd\u3002\u901a\u8fc7\u4e0b\u5212\u7ebf\u8fde\u63a5\uff08\u4f8b\u5982\u201c\u590f\u5b63_\u8054\u8d5b\u201d\uff09\uff0c\u589e\u5f3a\u6a21\u578b\u5bf9\u5e38\u89c1\u8bcd\u7ec4\u7684\u8bc6\u522b\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">6. <strong>\u4f7f\u7528Gensim\u6784\u5efaLDA\u6a21\u578b<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LDA (Latent Dirichlet Allocation)<\/strong>\uff1a\u4e00\u79cd\u4e3b\u9898\u6a21\u578b\uff0c\u901a\u8fc7\u5b83\u53ef\u4ee5\u4e3a\u6bcf\u7bc7\u6587\u6863\u751f\u6210\u4e3b\u9898\u6982\u7387\u5206\u5e03\uff0c\u5e76\u901a\u8fc7\u6307\u5b9a\u4e3b\u9898\u6570\u6765\u627e\u5230\u6bcf\u7bc7\u6587\u6863\u7684\u6f5c\u5728\u4e3b\u9898\u3002<\/li>\n\n\n\n<li><strong>LSI (Latent Semantic Indexing)<\/strong>\uff1a\u53e6\u4e00\u79cd\u5e38\u7528\u7684\u4e3b\u9898\u5efa\u6a21\u65b9\u6cd5\uff0c\u901a\u8fc7SVD\u5206\u89e3\u5bf9\u6587\u6863\u8fdb\u884c\u964d\u7ef4\uff0c\u518d\u901a\u8fc7\u4f59\u5f26\u76f8\u4f3c\u5ea6\u6765\u8ba1\u7b97\u6587\u6863\u76f8\u4f3c\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">7. <strong>\u8ba1\u7b97\u6587\u6863\u76f8\u4f3c\u6027<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u57fa\u4e8eTF-IDF\u6216LDA\u7b49\u6a21\u578b\u7684\u8f93\u51fa\uff0c\u8ba1\u7b97\u4e0d\u540c\u6587\u6863\u4e4b\u95f4\u7684\u76f8\u4f3c\u5ea6\u3002\u5e38\u89c1\u7684\u8ba1\u7b97\u65b9\u6cd5\u6709<strong>\u4f59\u5f26\u76f8\u4f3c\u5ea6<\/strong>\uff0c\u5b83\u8861\u91cf\u4e24\u4e2a\u5411\u91cf\u5939\u89d2\u7684\u4f59\u5f26\u503c\uff0c\u5373\u6587\u6863\u4e4b\u95f4\u7684\u76f8\u5173\u5ea6\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u6587\u672c\u8f6c\u6362\u4e3a\u6570\u503c\uff1aBOW\u4e0e\u8bcd\u5411\u91cf\u8868\u793a<\/h3>\n\n\n\n<p>\u5c06\u6587\u672c\u8f6c\u5316\u4e3a\u6570\u503c\u5f62\u5f0f\u662f\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4e2d\u5173\u952e\u7684\u4e00\u6b65\u3002\u5e38\u89c1\u7684\u65b9\u6cd5\u6709\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bcd\u888b\u6a21\u578b (BOW)<\/strong>\uff1a\u7b80\u5355\u5730\u8bb0\u5f55\u6bcf\u4e2a\u8bcd\u5728\u6587\u672c\u4e2d\u51fa\u73b0\u7684\u6b21\u6570\uff0c\u5ffd\u7565\u987a\u5e8f\u3002\u9002\u5408\u4e8e\u7ed3\u6784\u7b80\u5355\u7684\u6587\u672c\u5206\u6790\u3002<\/li>\n\n\n\n<li><strong>\u8bcd\u5411\u91cf (Word2Vec, GloVe)<\/strong>\uff1a\u6bcf\u4e2a\u8bcd\u901a\u8fc7\u8bad\u7ec3\u751f\u6210\u4e00\u4e2a\u9ad8\u7ef4\u5411\u91cf\uff0c\u8868\u793a\u8bcd\u8bed\u7684\u8bed\u4e49\u4fe1\u606f\u3002\u9002\u7528\u4e8e\u590d\u6742\u8bed\u5883\u4e0b\u7684\u6587\u672c\u5206\u6790\u3002<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5e94\u7528\uff1a\u901a\u8fc7\u4e00\u7ef4\u5377\u79ef\u63d0\u53d6\u7279\u5f81<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e00\u7ef4\u5377\u79ef<\/strong>\uff1a\u5728\u6587\u672c\u5206\u7c7b\u4e2d\uff0c\u901a\u5e38\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09\u6765\u5904\u7406\u6587\u672c\u3002\u901a\u8fc7\u5377\u79ef\u5c42\uff0c\u53ef\u4ee5\u63d0\u53d6\u591a\u4e2a\u5355\u8bcd\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u4ece\u800c\u83b7\u5f97\u6587\u672c\u7684\u7279\u5f81\u8868\u793a\uff0c\u8fdb\u884c\u5206\u7c7b\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TextCNN\u4e0eSimpleCNN\u7684\u533a\u522b<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SimpleCNN<\/strong>\uff1a\u901a\u5e38\u6307\u7684\u662f\u57fa\u7840\u7684\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff0c\u5176\u5377\u79ef\u6838\u5927\u5c0f\uff08filter size\uff09\u901a\u5e38\u662f\u56fa\u5b9a\u7684\uff0c\u6240\u6709\u5377\u79ef\u64cd\u4f5c\u4f7f\u7528\u76f8\u540c\u7684\u7a97\u53e3\u5927\u5c0f\u3002<\/li>\n\n\n\n<li><strong>TextCNN<\/strong>\uff1a\u4e3a\u6587\u672c\u5904\u7406\u8bbe\u8ba1\u7684\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff0c\u4f7f\u7528\u4e86\u591a\u79cd\u4e0d\u540c\u5927\u5c0f\u7684\u5377\u79ef\u6838\uff08\u4f8b\u5982\uff0c1xN\u30012xN\u30013xN\u7b49\uff09\u3002\u901a\u8fc7\u5c06\u4e0d\u540c\u5927\u5c0f\u5377\u79ef\u6838\u7684\u7ed3\u679c\u8fdb\u884c\u62fc\u63a5\uff0cTextCNN\u80fd\u591f\u6355\u6349\u5230\u6587\u672c\u4e2d\u7684\u591a\u5c3a\u5ea6\u7279\u5f81\uff0c\u66f4\u52a0\u9002\u5408\u6587\u672c\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\uff08RNN\uff09<\/h3>\n\n\n\n<p>RNN\uff08\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5904\u7406\u5e8f\u5217\u6570\u636e\u7684\u795e\u7ecf\u7f51\u7edc\u7ed3\u6784\uff0c\u5b83\u901a\u8fc7\u65f6\u95f4\u6b65\u9010\u6b65\u5904\u7406\u8f93\u5165\u6570\u636e\uff0c\u5e76\u5c06\u5f53\u524d\u7684\u8f93\u5165\u4e0e\u4e0a\u4e00\u65f6\u523b\u7684\u9690\u85cf\u72b6\u6001\u7ed3\u5408\uff0c\u6765\u751f\u6210\u5f53\u524d\u65f6\u523b\u7684\u8f93\u51fa\u3002\u5176\u6838\u5fc3\u601d\u60f3\u662f\u5faa\u73af\u8fde\u63a5\uff0c\u4f7f\u5f97\u6a21\u578b\u80fd\u591f\u8bb0\u4f4f\u4e4b\u524d\u7684\u4fe1\u606f\uff0c\u4ece\u800c\u6709\u6548\u5904\u7406\u65f6\u95f4\u5e8f\u5217\u6570\u636e\uff08\u5982\u6587\u672c\u3001\u8bed\u97f3\u7b49\uff09\u3002<\/p>\n\n\n\n<p>SimpleRNN\uff1a\u57fa\u672c\u60f3\u6cd5\uff1a\u4f7f\u7528\u524d\u9762\u5f97\u5230\u7684\u7ed3\u679c\uff0c\u4ea7\u751f\u540e\u9762\u7684\u8f93\u51fa\u3002\u574f\u5904\u662f\u4e0d\u80fd\u5e76\u884c\uff0c\u957f\u5e8f\u5217\u6548\u679c\u5dee\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-533.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"352\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-533.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2942\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>LSTM\uff1a<strong>LSTM<\/strong>\u901a\u8fc7\u5f15\u5165\u201c\u9057\u5fd8\u95e8\u201d\u201c\u8f93\u5165\u95e8\u201d\u548c\u201c\u8f93\u51fa\u95e8\u201d\u6765\u63a7\u5236\u4fe1\u606f\u6d41\u52a8\uff0c\u8fd9\u4f7f\u5f97\u5b83\u80fd\u591f\u6709\u6548\u5730\u89e3\u51b3\u68af\u5ea6\u6d88\u5931\u548c\u68af\u5ea6\u7206\u70b8\u95ee\u9898\uff0c\u6355\u6349\u957f\u671f\u4f9d\u8d56\u4fe1\u606f\u3002LSTM\u80fd\u591f\u9009\u62e9\u6027\u5730\u201c\u5fd8\u8bb0\u201d\u6216\u201c\u8bb0\u4f4f\u201d\u4fe1\u606f\uff0c\u56e0\u6b64\u5bf9\u4e8e\u8f83\u957f\u5e8f\u5217\u7684\u5904\u7406\u6548\u679c\u66f4\u597d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-534.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"385\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-534.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2943\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>RNN\u7684\u7f3a\u70b9\uff1a\u4e0d\u80fd\u5e76\u884c\uff0c\u603b\u662f\u4f9d\u8d56\u524d\u4e00\u6b21\u8f93\u5165\u7684\u7ed3\u679c\u4f5c\u4e3a\u8fd9\u4e00\u6b21\u8f93\u5165\u7684\u7279\u5f81\u4e4b\u4e00\uff08\u4e8e\u662f\u6709\u4e86 transformer\uff09<br>\u9057\u5fd8\u95e8\uff0c\u957f\u5e8f\u5217\u6548\u679c\u5dee\u3002<\/p>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u901a\u8fc7\u8bad\u7ec3\uff0c\u5f97\u5230\u4e86\u4e0b\u4e00\u4e2a\u8bcd\u7684\u4e0d\u540c\u53ef\u80fd\u6027\uff0c\u4ee5\u53ca\u5bf9\u5e94\u7684\u6982\u7387\uff0c\u6211\u4eec\u5982\u4f55\u4fdd\u8bc1\u6bcf\u4eba\u5f97\u5230\u7684\u503c\u4e0d\u540c\uff1f<br>\u2014\u2014\u8bbe\u7f6e\u4e00\u4e2a\u6e29\u5ea6\uff0c\u6e29\u5ea6\u8d8a\u9ad8\uff0c\u8d8a\u6709\u53ef\u80fd\u4e0d\u9009\u62e9\u6982\u7387\u6700\u9ad8\u7684\u8bcd\u8bed\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ChatGPT<\/h2>\n\n\n\n<p>\u4e00\u6b21\u53ea\u751f\u6210\u4e00\u4e2a\u8bcd\u3002<\/p>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u901a\u8fc7\u8bad\u7ec3\uff0c\u5f97\u5230\u4e86\u4e0b\u4e00\u4e2a\u8bcd\u7684\u4e0d\u540c\u53ef\u80fd\u6027\uff0c\u4ee5\u53ca\u5bf9\u5e94\u7684\u6982\u7387\uff0c\u6211\u4eec\u5982\u4f55\u4fdd\u8bc1\u6bcf\u4eba\u5f97\u5230\u7684\u503c\u4e0d\u540c\uff1f<br>\u2014\u2014\u8bbe\u7f6e\u4e00\u4e2a\u6e29\u5ea6\uff0c\u6e29\u5ea6\u8d8a\u9ad8\uff0c\u8d8a\u6709\u53ef\u80fd\u4e0d\u9009\u62e9\u6982\u7387\u6700\u9ad8\u7684\u8bcd\u8bed\u3002<\/p>\n\n\n\n<p>\u6982\u7387\u662f\u5982\u4f55\u5f97\u5230\u7684\uff1f<br>\u5047\u8bbe\u6211\u4eec\u5f97\u5230\u4e86\u5173\u4e8e\u201ccat\u201d\u7684\u8bed\u6599\u5e93\uff0c\u9996\u5148\u6211\u4eec\u7edf\u8ba1\u6bcf\u4e2a\u5b57\u6bcd\u51fa\u73b0\u7684\u6b21\u6570\uff0c\u7136\u540e\u8ba9a\u6a21\u578b\u4ea7\u751f\u4e00\u4e9b\u201c\u5355\u8bcd\u201d\uff0c\u663e\u7136\u8fd9\u4e2a\u5355\u8bcd\u5e76\u4e0d\u5b58\u5728\u4e8e\u5b57\u5178\u91cc\uff0c\u6240\u4ee5\u6211\u4eec\u8fd8\u9700\u8981\u5173\u6ce8\u5b57\u6bcd\u4e0e\u5b57\u6bcd\u95f4\u7684\u5173\u7cfb\uff0c\u6bd4\u5982q\u540e\u9762\u7ecf\u5e38\u51fa\u73b0u\uff0c\u518d\u8fdb\u884c\u8bad\u7ec3\uff0c\u5c31\u53ef\u4ee5\u4ea7\u751f\u4e00\u4e9b\u6b63\u786e\u7684\u5355\u8bcd\u3002(n-gram)<br>\u4ea7\u751f\u5355\u8bcd\u540e\uff0c\u6211\u4eec\u5728\u8bcd\u548c\u8bcd\u4e4b\u95f4\u505a\u540c\u6837\u7684\u8bad\u7ec3\uff0c\u4f46\u662f\u8bcd\u8bed\u7684\u4e2a\u6570\u8fdc\u5927\u4e8e\u5b57\u7b26\u6570\uff0c\u6240\u4ee5\u9700\u8981\u8fdb\u884c\u964d\u7ef4\u5904\u7406\u3002(transformer)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Transformer<\/h2>\n\n\n\n<p>transformer\u7684\u4ea7\u751f\uff1a<br>\u5728CNN\uff0c\u4e2d\u6211\u4eec\u7528\u5c0f\u5377\u79ef\u6838\u63d0\u53d6\u5c0f\u8303\u56f4\u7279\u5f81\uff0c\u7528\u591a\u5c42\u5377\u79ef\u63d0\u53d6\u957f\u8303\u56f4\u7279\u5f81\uff0c\u95ee\u9898\u662f\u4e0d\u80fd\u770b\u51fa\u8bcd\u7684\u987a\u5e8f\uff0c\u800c\u4e14\u5f88\u96be\u53cd\u5e94\u524d\u9762\u8bcd\u5bf9\u540e\u9762\u8bcd\u7684\u5f71\u54cd\uff1b\u4e8e\u662f\u4ea7\u751fRNN\u53caLSTM\uff0c\u901a\u8fc7\u5c06\u4e0a\u4e00\u6b21\u8f93\u5165\u53d8\u6210\u4e0b\u4e00\u6b21\u7684\u8f93\u51fa\uff0c\u8fd9\u6837\u53ef\u4ee5\u4fdd\u6301\u8bcd\u4e0e\u8bcd\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u7f3a\u70b9\u662f\u4e0d\u80fd\u5e76\u884c\u6267\u884c\u3002\u4e8e\u662f\u4ea7\u751fTransformer<\/p>\n\n\n\n<p>Transformer\u67b6\u6784\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-535.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"916\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-535.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2944\"  sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/div><\/figure>\n\n\n\n<p>\u5de6\u4fa7\u4e3a\u7f16\u7801\u5668\uff08\u8f93\u5165\u4e00\u53e5\u8bdd\uff0c\u8f93\u51fa\u4e00\u4e32\u7279\u5f81\uff09\uff0c\u53f3\u4fa7\u4e3a\u89e3\u7801\u5668\uff08\u7528\u7279\u5f81\u4ea7\u751f\u7ed3\u679c\uff09\uff0c\u53e6\u5916\u9700\u8981\u591a\u4e2a\u7f16\u7801\u5668\u5d4c\u5957<\/p>\n\n\n\n<p>\u4e3a\u4ec0\u4e48\u9700\u8981\u591a\u5934\u8bb0\u5fc6\u529b\uff1a\u81ea\u7136\u8bed\u8a00\u6709\u6b67\u4e49\u3002\u6ce8\u610f\u529b\u9700\u8981\u901a\u8fc7\u67e5\u8be2\u77e9\u9635Q\u3001\u952e\u77e9\u9635K\u3001\u503c\u77e9\u9635V\u8ba1\u7b97\uff0c\u5f97\u5230\u4e00\u4e2a\u6ce8\u610f\u529b\u77e9\u9635<br>\u4e3a\u4ec0\u4e48\u63a9\u7801\uff1a\u540e\u9762\u7684\u4e1c\u897f\u8fd8\u6ca1\u751f\u6210\uff0c\u628a\u540e\u534a\u8fb9\u906e\u4f4f<br>\u524d\u9988\u7f51\u7edc\u5c42\u7684\u4f5c\u7528\uff1a\u5f15\u5165\u975e\u7ebf\u6027\uff0c\u4e0d\u7136f1(f2(f3(f4(x))))\uff0c\u8fd9\u4e48\u591a\u4e2a\u7ebf\u6027\u51fd\u6570\u5b9e\u9645\u4e0a\u5c31\u76f8\u5f53\u4e8e\u4e00\u4e2a\u7ebf\u6027\u51fd\u6570<br>\u6ce8\u610f\u529b\uff1a\u4ece\u5927\u91cf\u4fe1\u606f\u4e2d\u6709\u9009\u62e9\u5730\u7b5b\u9009\u51fa\u5c11\u91cf\u91cd\u8981\u4fe1\u606f\u5e76\u805a\u7126\u5230\u8fd9\u4e9b\u91cd\u8981\u4fe1\u606f\u4e0a\uff0c\u5ffd\u7565\u5927\u591a\u4e0d\u91cd\u8981\u7684\u4fe1 \u606f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-539-1024x983.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"983\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-539-1024x983.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2948\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u4e3a\u4e86\u53cd\u5e94\u8bcd\u8bed\u987a\u5e8f\u5bf9\u53e5\u5b50\u7684\u5f71\u54cd\uff0c\u53ef\u4ee5\u4f7f\u7528\u4f4d\u7f6e\u7f16\u7801<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-537-1024x303.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"303\" data-original=\"https:\/\/www.haruhi.fans\/wp-content\/uploads\/2024\/10\/image-537-1024x303.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-2946\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div><\/figure>\n\n\n\n<p>\u76f8\u8f83\u4e8eLSTM\u7684\u4f18\u70b9\uff1a\u7f16\u7801\u5668\u53ef\u4ee5\u5e76\u884c\u8ba1\u7b97<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Index \u7b2c\u4e00\u7ae0\uff1aStateful and Stateless \uff0cCookie and Session, \u5b9e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":42,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-40","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-note"],"_links":{"self":[{"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=40"}],"version-history":[{"count":300,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/posts\/40\/revisions"}],"predecessor-version":[{"id":2953,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/posts\/40\/revisions\/2953"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=\/wp\/v2\/media\/42"}],"wp:attachment":[{"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.haruhi.fans\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}