PageSourceSearch

https://johng.cn/assets/js/b2c51a61.b33f98de.js

js johng.cn collected 2026-09-25 22:12:50 UTC 16,197 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkjohnsblog=self.webpackChunkjohnsblog||[]).push([["4166"],{85812:function(e,n,i){i.r(n),i.d(n,{metadata:()=>s,contentTitle:()=>t,default:()=>h,assets:()=>d,toc:()=>a,frontMatter:()=>c});var s=JSON.parse('{"id":"docs/\u6280\u672F\u67B6\u6784/\u8F6F\u4EF6\u67B6\u6784/CAP\u539F\u7406\u548CBASE\u601D\u60F3","title":"CAP\u539F\u7406\u548CBASE\u601D\u60F3","description":"\u6DF1\u5165\u89E3\u6790\u5206\u5E03\u5F0F\u7CFB\u7EDF\u4E2D\u7684CAP\u5B9A\u7406\u548CBASE\u7406\u8BBA\uFF0C\u63A2\u8BA8\u4E00\u81F4\u6027\u3001\u53EF\u7528\u6027\u548C\u5206\u533A\u5BB9\u9519\u6027\u4E4B\u95F4\u7684\u5173\u7CFB\u53CA\u5176\u5B9E\u8DF5\u5E94\u7528","source":"@site/docs/docs/3000-\u6280\u672F\u67B6\u6784/0-\u8F6F\u4EF6\u67B6\u6784/2-CAP\u539F\u7406\u548CBASE\u601D\u60F3.md","sourceDirName":"docs/3000-\u6280\u672F\u67B6\u6784/0-\u8F6F\u4EF6\u67B6\u6784","slug":"/architecture/cap-and-base","permalink":"/architecture/cap-and-base","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"slug":"/architecture/cap-and-base","title":"CAP\u539F\u7406\u548CBASE\u601D\u60F3","hide_title":true,"keywords":["CAP\u539F\u7406","BASE\u601D\u60F3","\u5206\u5E03\u5F0F\u7CFB\u7EDF","\u4E00\u81F4\u6027","\u53EF\u7528\u6027","\u5206\u533A\u5BB9\u9519"],"description":"\u6DF1\u5165\u89E3\u6790\u5206\u5E03\u5F0F\u7CFB\u7EDF\u4E2D\u7684CAP\u5B9A\u7406\u548CBASE\u7406\u8BBA\uFF0C\u63A2\u8BA8\u4E00\u81F4\u6027\u3001\u53EF\u7528\u6027\u548C\u5206\u533A\u5BB9\u9519\u6027\u4E4B\u95F4\u7684\u5173\u7CFB\u53CA\u5176\u5B9E\u8DF5\u5E94\u7528"},"sidebar":"mainSidebar","previous":{"title":"\u67B6\u6784\u5236\u56FE\uFF1A\u5DE5\u5177\u4E0E\u65B9\u6CD5\u8BBA","permalink":"/architecture/architecture-diagramming"},"next":{"title":"\u4E3A\u4EC0\u4E48\u8BF4\u5206\u5E03\u5F0F\u4E8B\u52A1\u4E0D\u518D\u9002\u7528\u4E8E\u5FAE\u670D\u52A1\u67B6\u6784","permalink":"/architecture/distributed-transactions-microservices"}}'),l=i("85893"),r=i("50065");let c={slug:"/architecture/cap-and-base",title:"CAP\u539F\u7406\u548CBASE\u601D\u60F3",hide_title:!0,keywords:["CAP\u539F\u7406","BASE\u601D\u60F3","\u5206\u5E03\u5F0F\u7CFB\u7EDF","\u4E00\u81F4\u6027","\u53EF\u7528\u6027","\u5206\u533A\u5BB9\u9519"],description:"\u6DF1\u5165\u89E3\u6790\u5206\u5E03\u5F0F\u7CFB\u7EDF\u4E2D\u7684CAP\u5B9A\u7406\u548CBASE\u7406\u8BBA\uFF0C\u63A2\u8BA8\u4E00\u81F4\u6027\u3001\u53EF\u7528\u6027\u548C\u5206\u533A\u5BB9\u9519\u6027\u4E4B\u95F4\u7684\u5173\u7CFB\u53CA\u5176\u5B9E\u8DF5\u5E94\u7528"},t=void 0,d={},a=[{value:"\u5206\u5E03\u5F0F\u9886\u57DFCAP\u7406\u8BBA",id:"\u5206\u5E03\u5F0F\u9886\u57DFcap\u7406\u8BBA",level:2},{value:"CAP\u539F\u5219\u80FD\u5426\u4E09\u8005\u540C\u65F6\u6EE1\u8DB3",id:"cap\u539F\u5219\u80FD\u5426\u4E09\u8005\u540C\u65F6\u6EE1\u8DB3",level:2},{value:"\u5982\u679C<strong>CA</strong>\u6EE1\u8DB3\u770BP\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F",id:"\u5982\u679Cca\u6EE1\u8DB3\u770Bp\u662F\u5426\u80FD\u6EE1\u8DB3",level:3},{value:"\u5982\u679C<strong>AP</strong>\u6EE1\u8DB3\u770BC\u80FD\u5426\u6EE1\u8DB3\uFF1F",id:"\u5982\u679Cap\u6EE1\u8DB3\u770Bc\u80FD\u5426\u6EE1\u8DB3",level:3},{value:"\u5982\u679C<strong>CP</strong>\u6EE1\u8DB3\u770BA\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F",id:"\u5982\u679Ccp\u6EE1\u8DB3\u770Ba\u662F\u5426\u80FD\u6EE1\u8DB3",level:3},{value:"\u5982\u4F55\u6289\u62E9/\u53D6\u820D\uFF1F",id:"\u5982\u4F55\u6289\u62E9\u53D6\u820D",level:3},{value:"BASE\u6A21\u578B\u53CDACID\u6A21\u578B",id:"base\u6A21\u578B\u53CDacid\u6A21\u578B",level:2}];function o(e){let n={blockquote:"blockquote",br:"br",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.h2,{id:"\u5206\u5E03\u5F0F\u9886\u57DFcap\u7406\u8BBA",children:"\u5206\u5E03\u5F0F\u9886\u57DFCAP\u7406\u8BBA"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Consistency"})," \u4E00\u81F4\u6027\uFF1A \u6570\u636E\u4E00\u81F4\u66F4\u65B0\uFF0C\u6240\u6709\u6570\u636E\u53D8\u52A8\u90FD\u662F\u540C\u6B65\u7684\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Availability"})," \u53EF\u7528\u6027\uFF1A\u597D\u7684\u54CD\u5E94\u6027\u80FD\uFF0C\u4F46\u5F80\u5F80\u4E00\u81F4\u6027\u8981\u6C42\u8D8A\u9AD8\u7684\u7CFB\u7EDF\uFF0C\u53EF\u7528\u6027\u8D8A\u4F4E\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Partition tolerance"})," \u5206\u533A\u5BB9\u9519\u6027\uFF1A\u53EF\u9760\u6027\uFF0C\u5206\u533A\u4E4B\u540E\u4E5F\u80FD\u591F\u4FDD\u8BC1\u96C6\u7FA4\u7684\u53EA\u80FD\u6B63\u5E38\u884C\u4F7F\uFF0C\u5F80\u5F80\u662F\u5206\u5E03\u5F0F\u7CFB\u7EDF\u4E2D\u5FC5\u987B\u4FDD\u8BC1\u7684\u4E00\u70B9\uFF1B"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["\u5B9A\u7406\uFF1A\u4EFB\u4F55\u5206\u5E03\u5F0F\u7CFB\u7EDF\u53EA\u53EF\u54
10C\u65F6\u6EE1\u8DB3\u4E8C\u70B9\uFF0C\u6CA1\u6CD5\u4E09\u8005\u517C\u987E\u3002",(0,l.jsx)(n.br,{}),"\n","\u5FE0\u544A\uFF1A\u67B6\u6784\u5E08\u4E0D\u8981\u5C06\u7CBE\u529B\u6D6A\u8D39\u5728\u5982\u4F55\u8BBE\u8BA1\u80FD\u6EE1\u8DB3\u4E09\u8005\u7684\u5B8C\u7F8E\u5206\u5E03\u5F0F\u7CFB\u7EDF\uFF0C\u800C\u662F\u5E94\u8BE5\u8FDB\u884C\u53D6\u820D\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u5173\u7CFB\u6570\u636E\u5E93\u7684",(0,l.jsx)(n.code,{children:"ACID"}),"\u6A21\u578B\u62E5\u6709 ",(0,l.jsx)(n.strong,{children:"\u9AD8\u4E00\u81F4\u6027 + \u53EF\u7528\u6027"})," \u5F88\u96BE\u8FDB\u884C\u5206\u533A\uFF1A"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Atomicity"})," \u539F\u5B50\u6027\uFF1A\u4E00\u4E2A\u4E8B\u52A1\u4E2D\u6240\u6709\u64CD\u4F5C\u90FD\u5FC5\u987B\u5168\u90E8\u5B8C\u6210\uFF0C\u8981\u4E48\u5168\u90E8\u4E0D\u5B8C\u6210\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Consistency"})," \u4E00\u81F4\u6027\uFF1A\u5728\u4E8B\u52A1\u5F00\u59CB\u6216\u7ED3\u675F\u65F6\uFF0C\u6570\u636E\u5E93\u5E94\u8BE5\u5728\u4E00\u81F4\u72B6\u6001\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Isolation"})," \u9694\u79BB\u5C42\uFF1A\u4E8B\u52A1\u5C06\u5047\u5B9A\u53EA\u6709\u5B83\u81EA\u5DF1\u5728\u64CD\u4F5C\u6570\u636E\u5E93\uFF0C\u5F7C\u6B64\u4E0D\u77E5\u6653\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Durability"})," \u6301\u4E45\u6027\uFF1A\u4E00\u65E6\u4E8B\u52A1\u5B8C\u6210\uFF0C\u5C31\u4E0D\u80FD\u8FD4\u56DE\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["\u8DE8\u6570\u636E\u5E93\u4E8B\u52A1\uFF1A",(0,l.jsx)(n.strong,{children:"2PC"})," (two-phase commit)\uFF0C 2PC is the anti-scalability pattern (Pat Helland) \u662F\u53CD\u53EF\u4F38\u7F29\u6A21\u5F0F\u7684\uFF0CJavaEE\u4E2D\u7684JTA\u4E8B\u52A1\u53EF\u4EE5\u652F\u63012PC\u3002\u56E0\u4E3A2PC\u662F\u53CD\u6A21\u5F0F\uFF0C\u5C3D\u91CF\u4E0D\u8981\u4F7F\u75282PC\uFF0C\u4F7F\u7528BASE\u6765\u56DE\u907F\u3002"]}),"\n",(0,l.jsx)(n.h2,{id:"cap\u539F\u5219\u80FD\u5426\u4E09\u8005\u540C\u65F6\u6EE1\u8DB3",children:"CAP\u539F\u5219\u80FD\u5426\u4E09\u8005\u540C\u65F6\u6EE1\u8DB3"}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u89E3\u6790\uFF1A"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"\u5982\u679CCA\u6EE1\u8DB3\u770BP\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F"}),"\n",(0,l.jsx)(n.li,{children:"\u5982\u679CAP\u6EE1\u8DB3\u770BC\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F"}),"\n",(0,l.jsx)(n.li,{children:"\u5982\u679CCP\u6EE1\u8DB3\u770BA\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F"}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(n.h3,{id:"\u5982\u679Cca\u6EE1\u8DB3\u770Bp\u662F\u5426\u80FD\u6EE1\u8DB3",children:["\u5982\u679C",(0,l.jsx)(n.strong,{children:"CA"}),"\u6EE1\u8DB3\u770BP\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F"]}),"\n",(0,l.jsx)(n.p,{children:"\u6211\u4EEC\u6765\u5206\u6790\uFF1A\u5F53C\uFF08Consistency\uFF09\u4E00\u81F4\u6027A\uFF08Availability\uFF09\u53EF\u7528\u6027\u90FD\u6EE1\u8DB3\u65F6\u4F1A\u53D1\u751F\u4EC0\u4E48\uFF1F\u4E3A\u4E86\u4FDD\u6301\u6570\u636E\u7684\u4E00\u81F4\u6027\uFF0C\u6570\u636E\u5728\u5404\u4E2A\u8282\u70B9\u95F4\u540C\u6B65\u9700\u8981\u82B1\u8D39\u65F6\u95F4\uFF0C\u540C\u65F6\u4FDD\u8BC1\u670D\u52A1\u53EF\u7528\u610F\u5473\u7740\u670D\u52A1\u5668\u7684\u6570\u91CF\u4E0D\u80FD\u8FC7\u591A\uFF0C\u56E0\u4E3A\u8FC7\u591A\u5C31\u4F1A\u5BFC\u81F4\u6570\u636E\u540C\u6B65\u65F6\u95F4\u8FC7\u957F\uFF0C\u800C\u5BFC\u81F4\u8D85\u65F6\u89E6\u53D1\u7194\u65AD\u964D\u7EA7\u673A\u5236\uFF0C\u8FD9\u4E0E\u53EF\u7528\u6027\u76F8\u6096\u3002\u4F46\u662F\u5982\u679C\u8981\u6EE1\u8DB3\u5BB9\u9519\u7684\u8BDD\u5C31\u5FC5\u987B\u662F\u591A\u8282\u70B9\uFF0C\u800C\u591A\u8282\u70B9\u610F\u5473\u7740\u540C\u6B65\u6570\u636E\u540C\u6B65\u65F6\u95F4\u5FC5\u5B9A\u8FC7\u957F\uFF0C\u8FD9\u4E24\u65E0\u6CD5\u505A\u5230\u540C\u65F6\u6EE1\u8DB3\u6240\u4EE5\u5C31\u5BFC\u81F4\u4E86\u60C5\u51B51\u662F\u65E0\u6CD5\u6EE1\u8DB3\u3002"}),"\n",(0,l.jsxs)(n.h3,{id:"\u5982\u679Cap\u6EE1\u8DB3\u770Bc\u80FD\u5426\u6EE1\u8DB3",children:["\u5982\u679C",(0,l.jsx)(n.strong,{children:"AP"}),"\u6EE1\u8DB3\u770BC\u80FD\u5426\u6EE1\u8DB3\uFF1F"]}),"\n",(0,l.jsx)(n.p,{children:"\u6211\u4EEC\u6765\u5206\u6790\uFF1A\u5F53A\uFF08Availability\uFF09\u53EF\u7528\u6027\u548CP\uFF08Partition tolerance\uFF09\u5206\u533A\u5BB9\u9519\u6027\u90FD\u6EE1\u8DB3\u7684\u60C5\u51B5\u4E0B\u4F1A\u53D1\u751F\u4EC0\u4E48\uFF1F\u670D\u52A1\u5668\u591A\u8282\u70B9\u90E8\u7F72\uFF0C\u5BFC\u81F4\u670D\u52A1\u5668\u6570\u91CF\u5267\u589E\uFF0C\u540C\u65F6\u9700\u8981\u4FDD\u8BC1\u670D\u52A1\u8282\u70B9\u53EF\u7528\uFF0C\u8FD9\u5C31\u8BF4\u660E\u670D\u52A1\u8282\u70B9\u4E0E\u8282\u70B9\u4E4B\u95F4\u7684\u8C03\u7528\u65F6\u95F4\u65E0\u6CD5\u8FC7\u957F\uFF0C\u5426\u5219\u5C31\u4F1A\u5BFC\u81F4\u670D\u52A1\u8282\u70B9\u4E0D\u53EF\u7528\u3002\u5982\u679C\u5728\u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u6EE1\u8DB3C\uFF08Consistency\uFF09\u4E00\u81F4\u6027\uFF0C\u5C31\u4F1A\u51FA\u73B0\u670D\u52A1\u5668\u56E0\u540C\u6B65\u6570\u636E\u800C\u5BFC\u81F4\u6D6A\u8D39\u5927\u91CF\u7684\u65F6\u95F4\uFF0C\u5BFC\u81F4\u670D\u52A1\u5668\u4E0D\u53EF\u7528\uFF08\u8D85\u8FC7\u4E86\u89C4\u5B9A\u65F6\u95F4\u8303\u56F4\uFF09\uFF0C\u6240\u4EE5\u5F53AP\u6EE1\u8DB3\u65F6\u662F\u65E0\u6CD5\u540C\u65F6\u6EE1\u8DB3C\u7684\u3002"}),"\n",(0,l.jsxs)(n.h3,{id:"\u5982\u679Ccp\u6EE1\u8DB3\u770Ba\u662F\u5426\u80FD\u6EE1\u8DB3",children:["\u5982\u679C",(0,l.jsx)(n.strong,{children:"CP"}),"\u6EE1\u8DB3\u770BA\u662F\u5426\u80FD\u6EE1\u8DB3\uFF1F"]}),"\n",(0,l.jsx)(n.p,{children:"\u6211\u4EEC\u6765\u5206\u6790\uFF1A\u5F53C\uFF08Consistency\uFF09\u4E00\u81F4\u6027\u548CP\uFF08Partition tolerance\uFF09\u5206\u533A\u5BB9\u9519\u6027\u90FD\u6EE1\u8DB3\u65F6\uFF0C\u8FD9\u4E2A\u65F6\u5019\u7684\u670D\u52A1\u5668\u60C5\u51B5\u662F\u600E\u4E48\u6837\u7684\uFF1F\u5FC5\u5B9A\u662F\u6570\u91CF\u591A\u5E76\u4E14\u4E3A\u4E86\u4FDD\u8BC1\u6570\u636E\u540C\u6B65\u5927\u91CF\u7684\u670D\u52A1\u5668\u8282\u70B9\u4F1A\u8FDB\u5165\u201C\u8D85\u957F\u5F85\u673A\u201D\u72B6\u6001\uFF0C\u6B64\u65F6\u5982\u679C\u518D\u8BA9\u670D\u52A1\u6EE1\u8DB3A\uFF08\u53EF\u7528\u6027\uFF09\u7684\u8BDD\uFF0C\u5C31\u4F1A\u51FA\u73B0\u5927\u90E8\u5206\u7684\u670D\u52A1\u8282\u70B9\u4E0D\u53EF\u7528\uFF0C\u7EBF\u7A0B\u6C60\u88AB\u6324\u7206\uFF0C\u7136\u540E\u6574\u4E2A\u9879\u76EE\u5B95\u673A\u3002\u6240\u4EE5\u60C5\u51B53\u662F\u65E0\u6CD5\u6EE1\u8DB3\u7684\u3002"}
1),"\n",(0,l.jsx)(n.h3,{id:"\u5982\u4F55\u6289\u62E9\u53D6\u820D",children:"\u5982\u4F55\u6289\u62E9/\u53D6\u820D\uFF1F"}),"\n",(0,l.jsxs)(n.p,{children:["\u4E00\u822C\u6765\u8BB2P\uFF08\u5BB9\u9519\u6027\uFF09\u662F\u4E00\u5B9A\u8981\u6EE1\u8DB3\u7684\uFF0C\u5176\u4ED6\u53EF\u4EE5\u6839\u636E\u9879\u76EE\u9700\u6C42\u9009\u62E9A\u6216\u8005C\u3002",(0,l.jsx)(n.br,{}),"\n","\u5C31\u76EE\u524D\u5E02\u573A\u6765\u8BF4\uFF0CCP\u66F4\u52A0\u7B26\u5408\u91D1\u878D\u7C7B\u9879\u76EE\uFF0CAP\u66F4\u52A0\u9002\u5408\u5546\u57CE\u7C7B\u9879\u76EE\u3002"]}),"\n",(0,l.jsx)(n.h2,{id:"base\u6A21\u578B\u53CDacid\u6A21\u578B",children:"BASE\u6A21\u578B\u53CDACID\u6A21\u578B"}),"\n",(0,l.jsx)(n.p,{children:"\u5B8C\u5168\u4E0D\u540CACID\u6A21\u578B\uFF0C\u727A\u7272\u9AD8\u4E00\u81F4\u6027\uFF0C\u83B7\u5F97\u53EF\u7528\u6027\u6216\u53EF\u9760\u6027\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Basically Available"})," \u57FA\u672C\u53EF\u7528\u3002\u652F\u6301\u5206\u533A\u5931\u8D25(e.g. sharding\u788E\u7247\u5212\u5206\u6570\u636E\u5E93)"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Soft state"})," \u8F6F\u72B6\u6001 \u72B6\u6001\u53EF\u4EE5\u6709\u4E00\u6BB5\u65F6\u95F4\u4E0D\u540C\u6B65\uFF0C\u5F02\u6B65\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"Eventually consistent"}),"\u6700\u7EC8\u4E00\u81F4\uFF0C\u6700\u7EC8\u6570\u636E\u662F\u4E00\u81F4\u7684\u5C31\u53EF\u4EE5\u4E86\uFF0C\u800C\u4E0D\u662F\u65F6\u65F6\u9AD8\u4E00\u81F4\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"BASE\u601D\u60F3\u7684\u4E3B\u8981\u5B9E\u73B0\u6709\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"\u6309\u529F\u80FD\u5212\u5206\u6570\u636E\u5E93"}),"\n",(0,l.jsx)(n.li,{children:"Sharding\u788E\u7247"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"BASE\u601D\u60F3\u4E3B\u8981\u5F3A\u8C03\u57FA\u672C\u7684\u53EF\u7528\u6027\uFF0C\u5982\u679C\u4F60\u9700\u8981High\u53EF\u7528\u6027\uFF0C\u4E5F\u5C31\u662F\u7EAF\u7CB9\u7684\u9AD8\u6027\u80FD\uFF0C\u90A3\u4E48\u5C31\u8981\u4EE5\u4E00\u81F4\u6027\u6216\u5BB9\u9519\u6027\u4E3A\u727A\u7272\uFF0CBASE\u601D\u60F3\u7684\u65B9\u6848\u5728\u6027\u80FD\u4E0A\u8FD8\u662F\u6709\u6F5C\u529B\u53EF\u6316\u7684\u3002"}),"\n",(0,l.jsxs)(n.p,{children:["\u73B0\u5728NOSQL\u8FD0\u52A8\u4E30\u5BCC\u4E86\u62D3\u5C55\u4E86BASE\u601D\u60F3\uFF0C\u53EF\u6309\u7167\u5177\u4F53\u60C5\u51B5\u5B9A\u5236\u7279\u522B\u65B9\u6848\uFF0C\u6BD4\u5982\u5FFD\u89C6\u4E00\u81F4\u6027\uFF0C\u83B7\u5F97\u9AD8\u53EF\u7528\u6027\u7B49\u7B49\uFF0CNOSQL\u5E94\u8BE5\u6709\u4E0B\u9762\u4E24\u4E2A\u6D41\u6D3E\uFF1A",(0,l.jsx)(n.br,{}),"\n","1\u3001Key-Value\u5B58\u50A8\uFF0C\u5982Amaze Dynamo\u7B49\uFF0C\u53EF\u6839\u636ECAP\u4E09\u539F\u5219\u7075\u6D3B\u9009\u62E9\u4E0D\u540C\u503E\u5411\u7684\u6570\u636E\u5E93\u4EA7\u54C1\u3002",(0,l.jsx)(n.br,{}),"\n","2\u3001\u9886\u57DF\u6A21\u578B + \u5206\u5E03\u5F0F\u7F13\u5B58 + \u5B58\u50A8\uFF0C\u53EF\u6839\u636ECAP\u4E09\u539F\u5219\u7ED3\u5408\u81EA\u5DF1\u9879\u76EE\u5B9A\u5236\u7075\u6D3B\u7684\u5206\u5E03\u5F0F\u65B9\u6848\uFF0C\u96BE\u5EA6\u9AD8\u3002"]}),"\n",(0,l.jsx)(n.p,{children:"\u8FD9\u4E24\u8005\u5171\u540C\u70B9\uFF1A\u90FD\u662F\u5173\u7CFB\u6570\u636E\u5E93SQL\u4EE5\u5916\u7684\u53EF\u9009\u65B9\u6848\uFF0C\u903B\u8F91\u968F\u7740\u6570\u636E\u5206\u5E03\uFF0C\u4EFB\u4F55\u6A21\u578B\u90FD\u53EF\u4EE5\u81EA\u5DF1\u6301\u4E45\u5316\uFF0C\u5C06\u6570\u636E\u5904\u7406\u548C\u6570\u636E\u5B58\u50A8\u5206\u79BB\uFF0C\u5C06\u8BFB\u548C\u5199\u5206\u79BB\uFF0C\u5B58\u50A8\u53EF\u4EE5\u662F\u5F02\u6B65\u6216\u540C\u6B65\uFF0C\u53D6\u51B3\u4E8E\u5BF9\u4E00\u81F4\u6027\u7684\u8981\u6C42\u7A0B\u5EA6\u3002"}),"\n",(0,l.jsx)(n.p,{children:"\u4E0D\u540C\u70B9\uFF1ANOSQL\u4E4B\u7C7B\u7684Key-Value\u5B58\u50A8\u4EA7\u54C1\u662F\u548C\u5173\u7CFB\u6570\u636E\u5E93\u5934\u78B0\u5934\u7684\u4EA7\u54C1BOX\uFF0C\u53EF\u4EE5\u9002\u5408\u975EJava\u5982PHP RUBY\u7B49\u9886\u57DF\uFF0C\u662F\u4E00\u79CD\u53EF\u4EE5\u62FF\u6765\u5C31\u7528\u7684\u4EA7\u54C1\uFF0C\u800C\u9886\u57DF\u6A21\u578B + \u5206\u5E03\u5F0F\u7F13\u5B58 + \u5B58\u50A8\u662F\u4
1E00\u79CD\u590D\u6742\u7684\u67B6\u6784\u89E3\u51B3\u65B9\u6848\uFF0C\u4E0D\u662F\u4EA7\u54C1\uFF0C\u4F46\u8FD9\u79CD\u65B9\u5F0F\u66F4\u7075\u6D3B\uFF0C\u66F4\u5E94\u8BE5\u662F\u67B6\u6784\u5E08\u5FC5\u987B\u638C\u63E1\u7684\u3002"})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},50065:function(e,n,i){i.d(n,{Z:function(){return t},a:function(){return c}});var s=i(67294);let l={},r=s.createContext(l);function c(e){let n=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.