{"id":543,"date":"2016-10-09T15:37:21","date_gmt":"2016-10-09T22:37:21","guid":{"rendered":"http:\/\/www.cchsu.com\/arthur\/?p=543"},"modified":"2016-10-09T23:38:58","modified_gmt":"2016-10-10T06:38:58","slug":"%e8%99%8e%e7%80%be%e9%9b%86-%e7%b6%b2%e9%a0%81%e8%88%87%e8%b3%87%e6%96%99%e5%ba%ab-1","status":"publish","type":"post","link":"http:\/\/www.cchsu.com\/arthur\/2016\/10\/09\/543\/","title":{"rendered":"\u864e\u703e\u96c6: \u7db2\u9801\u8207\u8cc7\u6599\u5eab (1)"},"content":{"rendered":"<p>\u6700\u8fd1\u8a18\u6027\u4e0d\u592a\u597d\uff0c\u8d81\u9084\u8a18\u5f97\u4e00\u4e9b\u4e8b\u7684\u6642\u5019\u5beb\u4e00\u5beb\uff0c\u514d\u7684\u5167\u5bb9\u4e0d\u5920\u8fa3\u3002<\/p>\n<p>\u5927\u7d04\u5341\u5e7e\u4e8c\u5341\u5e74\u524d\uff0c\u6709\u500b\u6771\u897f\u53eb\u7db2\u9801\u7684\u5f88\u7d05\uff0c\u8c8c\u4f3c\u5f88\u597d\u5f88\u5f37\u5927\uff0c\u53ef\u662f\u9664\u4e86\u5c55\u793a\u975c\u614b\u8cc7\u6599\u5916\uff0c\u8981\u600e\u6a23\u624d\u80fd\u6709\u7528\u5462? \u4e00\u53e5\u8a71\uff0c\u6709\u52d5\u614b\u8cc7\u6599\u624d\u6709\u7528\u3002\u6bd4\u65b9\u8aaa\uff0c\u54b1\u5011\u5b78\u6821\u88e1\u8981\u641e\u4e00\u5957\u7db2\u8def\u9078\u8ab2\u7cfb\u7d71\uff0c\u5b78\u751f\u53ef\u4ee5\u4e0a\u7db2\u53bb\u9078\u8981\u4fee\u7684\u8ab2\uff0c\u9019\u8981\u600e\u9ebc\u8b8a\u51fa\u4f86\u5462? \u7576\u5e74\u7684\u6280\u8853\u4e5f\u53ea\u80fd\u7528 RDBMS\uff0c\u6240\u4ee5\u7b2c\u4e00\u4ee3\u81ea\u7136\u5c31\u62fc\u51fa\u9019\u73a9\u610f <\/p>\n<p>RDBMS <-> CGI gateway <-> Web Server <---> Web Browser<\/p>\n<p>\u8a3b\u518a\u7cfb\u7d71\u672c\u8eab\u662f\u4e00\u5957\u8cc7\u6599\u5eab\uff0c\u6211\u5beb\u500b\u4e2d\u9593\u4eba\u53bb\u66f4\u65b0\u8cc7\u6599\u5eab (CGI gateway)\uff0c\u518d\u505a\u9ede UI \u5728\u524d\u53f0\u7684\u7db2\u9801\u4e0a\uff0c\u9019\u5c31\u641e\u5b9a\u4e86\u3002CGI \u9019\u6771\u897f\u73fe\u5728\u5f88\u591a\u4eba\u4e0d\u4e86\u89e3\uff0c\u57fa\u672c\u4e0a\u5c31\u662f\u4e00\u500b web server \u7684\u5916\u639b\uff0c\u8981\u4ec0\u9ebc\u6771\u897f\u8df3\u51fa\u53bb web server sandbox \u6488\u56de\u4f86\u5c31\u5c0d\u4e86\u3002\u9019\u6771\u897f\u60f3\u7576\u7136\u8033\u4e0d\u5920\u5a01\uff0c\u6211\u7e3d\u4e0d\u80fd\u6bcf\u6574\u4e00\u5957\u7cfb\u7d71\u5c31\u91cd\u5beb\u4e00\u6b21\u5427? \u6240\u4ee5\u8981\u4f7f\u7528 framework \u4f86\u589e\u52a0\u6211\u5011\u5e2b\u7a0b\u5de5\u7684\u7522\u80fd\uff0c\u9019\u6642\u5019\u5169\u5927\u9663\u71df\u61c9\u904b\u800c\u751f:<\/p>\n<p>MySQL <-> PHP <-> Apache Server <---> Web Browser<br \/>\nSQL server <-> ASP <-> IIS <---> Web Browser<\/p>\n<p>\u524d\u8005\u5c31\u662f LAMP\uff0c\u5f8c\u8005\u662f\u5fae\u8edf\u5e1d\u570b\u5305\u5957\u5230\u5bb6\u7684\u670d\u52d9\uff0c\u5169\u8005\u8c8c\u4f3c\u90fd\u5f88\u597d\u5f88\u5f37\u5927\uff0c\u53ea\u6709\u4e00\u500b\u5c0f\u5c0f\u7684\u554f\u984c: \u7db2\u7ad9\u7d05\u4e86\u4e4b\u5f8c hold \u4e0d\u4f4f\u3002\u4e00\u500b\u5169\u500b user \u9084\u597d\uff0c\u5e7e\u767e\u842c user \u9032\u4f86\u5c31\u975e\u5e38\u6b61\u6a02\u4e86\uff0c\u4ee5\u7576\u6642\u7684\u786c\u9ad4\uff0cRDBMS \u8981\u8cfd\u8c6c\u516c\u7b49\u7d1a\u7684\u624d\u6709\u4e00\u62fc\u4e4b\u529b\uff0c\u4e0d\u5c0f\u5fc3\u7d05\u904e\u982d\u90a3\u662f\u795e\u4ed9\u90fd hold \u4e0d\u4f4f\u9019\u7a2e\u91cf\u3002\u65bc\u662f\u4e16\u754c\u4e0a\u6709\u597d\u5e7e\u7d44\u8070\u660e\u4eba\u5c31\u958b\u59cb\u60f3\uff0c\u5982\u679c\u6211\u5011\u4e0d\u8981\u7528 RDBMS\uff0c\u662f\u4e0d\u662f\u5c31\u53ef\u4ee5 hold \u4f4f\u4e86? \u4e8b\u5be6\u4e0a\u6c92\u932f\uff0c\u6240\u4ee5\u4ed6\u5011\u5c31\u9019\u9ebc\u6574\u4e86:<\/p>\n<p>NoSQL database <-> Middle Layer Processing <-> Web Server <---> Web Browser<\/p>\n<p>\u9019\u88e1 middle layer processing \u662f\u883b\u6a21\u695c\u7684\u4e00\u500b\u6982\u5ff5\uff0c\u4f60\u53ef\u4ee5\u628a\u5b83\u60f3\u6210\u53bb\u8981\u6c42 NoSQL database \u7684\u67d0\u500b\u5c0f partition \u56de\u4f86\u5f8c\u52a0\u4ee5\u8655\u7406\u4e1f\u5230\u524d\u53f0\uff0c\u4e26\u5c07\u524d\u53f0\u7684\u53cd\u994b\u5beb\u56de\u53bb\u3002\u4e00\u500b\u5178\u578b\u7684\u4f8b\u5b50\u662f MEAN framework:<\/p>\n<p>MongoDB <-> Express\/Node server-side scripting <-> Web Server <---> Web Browser (Angular-based pages)<\/p>\n<p>NoSQL \u7684\u9577\u8655\u662f\u56e0\u70ba\u5b83\u4e0d\u7ba1 data relation (\u6216\u662f\u53ea\u7ba1\u5c11\u5c11\u7684\u4e00\u9ede\u9ede)\uff0c\u6240\u4ee5\u53ef\u4ee5\u5f88\u8f15\u9b06\u7684\u628a\u8cc7\u6599 shard \u6210 N \u4efd\uff0c\u9019\u5728 scalability \u548c replicability \u4e0a\u6709\u6975\u5999\u7684\u512a\u52e2\u3002\u53e6\u5916\uff0c\u7b2c\u4e00\u79e9\u5e8f JavaScript \u5df2\u7d93\u7d71\u4e00\u4e86\u7db2\u9801\u7a0b\u5f0f\u7684\u4e16\u754c\uff0c\u9019\u6771\u897f\u5728\u578b\u5225 (type) \u4e0a\u90a3\u662f\u51fa\u540d\u7684\u6df7\u4e82\uff0c\u5927\u90e8\u4efd\u7684 NoSQL \u90fd\u4e0d\u6703\u56b4\u683c\u8981\u6c42\u6b04\u4f4d\u578b\u5225 (\u56e0\u70ba\u6c92\u5565\u5fc5\u8981)\uff0c\u9019\u5c0d\u5728 JS \u4e2d\u6399\u624e\u7684\u82e6\u96e3\u5e2b\u7a0b\u5de5\u7121\u7570\u65bc\u5929\u964d\u7518\u9716\uff0c\u65bc\u662f\u4e4e NoSQL \u5982\u6551\u4e16\u4e3b\u822c\u6a6b\u6383\u516b\u8352\u516d\u5408\uff0c\u5927\u5925\u5152\u4e5f\u5c31\u4e00\u7aa9\u8702\u7684\u958b\u59cb\u7528\u4e86 &#8230;<\/p>\n<p>\u4e8b\u60c5\u82e5\u662f\u5f9e\u6b64\u5c31\u5b8c\u7f8e\u6536\u5834\uff0c\u90a3\u9019\u4e16\u754c\u4e5f\u592a\u7121\u8da3\u4e86\u4e00\u9ede\u3002\u5f88\u5feb\u4eba\u5011\u8a8d\u8b58\u5230\uff0c\u6240\u6709\u8cc7\u6599\u90fd\u5f9e server-side \u53bb\u6488\uff0c\u662f\u4ef6\u975e\u5e38\u6c92\u6709\u6548\u7387 (\u800c\u4e14\u4e5f\u4e0d\u662f\u5f88\u5fc5\u8981) \u7684\u4e8b\u60c5\u3002\u5982\u679c\u6211\u5011\u53ef\u4ee5\u5728 Web Browser \u7aef\u5b58\u8cc7\u6599\uff0c\u662f\u4e0d\u662f\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u73a9\u6cd5\u5462?<\/p>\n<p>\u6545\u4e8b\u7684\u5e8f\u7ae0\u5230\u6b64\u7d50\u675f\uff0c\u672c\u6587\u4e0b\u56de\u5206\u66c9 &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u864e\u703e\u96c6: \u7db2\u9801\u8207\u8cc7\u6599\u5eab (1)<br \/>\n\u6954\u5b50<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,2],"tags":[],"_links":{"self":[{"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/posts\/543"}],"collection":[{"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":4,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":547,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/posts\/543\/revisions\/547"}],"wp:attachment":[{"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.cchsu.com\/arthur\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}