久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


重要的MySQL 文檔存儲(chǔ)知識(shí)點(diǎn)掃盲


重要的MySQL 文檔存儲(chǔ)知識(shí)點(diǎn)掃盲

mysql 文檔存儲(chǔ) 可以跳過底層數(shù)據(jù)結(jié)構(gòu)創(chuàng)建、數(shù)據(jù)規(guī)范化和其它使用傳統(tǒng)數(shù)據(jù)庫時(shí)需要做的工作,直接存儲(chǔ)數(shù)據(jù)。

MySQL 可以提供 nosql JSON 文檔存儲(chǔ)Document Store 了,這樣開發(fā)者保存數(shù)據(jù)前無需 規(guī)范化normalize 數(shù)據(jù)、創(chuàng)建數(shù)據(jù)庫,也無需在開發(fā)之前就制定好數(shù)據(jù)樣式。從 MySQL 5.7 版本和 MySQL 8.0 版本開始,開發(fā)者可以在表的一列中存儲(chǔ) JSON 文檔。由于引入 X DevAPI,你可以從你的代碼中移除令人不爽的結(jié)構(gòu)化查詢字符串,改為使用支持現(xiàn)代編程設(shè)計(jì)的 API 調(diào)用。

系統(tǒng)學(xué)習(xí)過結(jié)構(gòu)化查詢語言(SQL)、 關(guān)系理論relational theory、集合set 和其它關(guān)系數(shù)據(jù)庫底層理論的開發(fā)者并不多,但他們需要一個(gè)安全可靠的數(shù)據(jù)存儲(chǔ)。如果數(shù)據(jù)庫管理人員不足,事情很快就會(huì)變得一團(tuán)糟,

MySQL 文檔存儲(chǔ) 允許開發(fā)者跳過底層數(shù)據(jù)結(jié)構(gòu)創(chuàng)建、數(shù)據(jù)規(guī)范化和其它使用傳統(tǒng)數(shù)據(jù)庫時(shí)需要做的工作,直接存儲(chǔ)數(shù)據(jù)。只需創(chuàng)建一個(gè) json 文檔集合document Collection,接著就可以使用了。

所有這一切都基于多年前 MySQL 5.7 引入的 JSON 數(shù)據(jù)類型。它允許在表的一行中提供大約 1GB 大小的列。數(shù)據(jù)必須是有效的 JSON,否則服務(wù)器會(huì)報(bào)錯(cuò);但開發(fā)者可以自由使用這些空間。

X DevAPI

舊的 MySQL 協(xié)議已經(jīng)歷經(jīng)差不多四分之一個(gè)世紀(jì),已經(jīng)顯現(xiàn)出疲態(tài),因此新的協(xié)議被開發(fā)出來,協(xié)議名為 X DevAPI。協(xié)議引入高級(jí)會(huì)話概念,允許代碼從單臺(tái)服務(wù)器擴(kuò)展到多臺(tái),使用符合 通用主機(jī)編程語言樣式common host-language programming patterns 的非阻塞異步 I/O。需要關(guān)注的是如何遵循現(xiàn)代實(shí)踐和編碼風(fēng)格,同時(shí)使用 CRUD(Create、 Replace、 Update、 delete)樣式。換句話說,你不再需要在你精美、純潔的代碼中嵌入丑陋的 SQL 語句字符串

一個(gè)新的 shell 支持這種新協(xié)議,即所謂的 MySQL Shell。該 shell 可用于設(shè)置 高可用集群high-availability cluster、檢查服務(wù)器 升級(jí)就緒狀態(tài)upgrade readiness 以及與 MySQL 服務(wù)器交互。支持的交互方式有以下三種:JavaScript,Python 和 SQL。

代碼示例

下面的代碼示例基于 JavaScript 方式使用 MySQL Shell,可以從 JS> 提示符看出。

下面,我們將使用用戶 dstokes 、密碼 password 登錄本地系統(tǒng)上的 demo 庫。db 是一個(gè)指針,指向 demo 庫。

$ mysqlsh dstokes:password@localhost/demo JS> db.createCollection("example") JS> db.example.add( { Name: "Dave", State: ?"Texas", foo : "bar" } ) JS>
登錄后復(fù)制

在上面的示例中,我們登錄服務(wù)器,連接到 demo 庫,創(chuàng)建了一個(gè)名為 example 的集合,最后插入一條記錄;整個(gè)過程無需創(chuàng)建表,也無需使用 SQL。只要你能想象的到,你可以使用甚至濫用這些數(shù)據(jù)。這不是一種代碼對(duì)象與關(guān)系語句之間的映射器,因?yàn)椴]有將代碼映射為 SQL;新協(xié)議直接與服務(wù)器層打交道。

Node.js 支持

新 shell 看起來挺不錯(cuò),你可以用其完成很多工作;但你可能更希望使用你選用的編程語言。下面的例子使用 world_x 示例數(shù)據(jù)庫,搜索 _id 字段匹配 CAN. 的記錄。我們指定數(shù)據(jù)庫中的特定集合,使用特定參數(shù)調(diào)用 find命令。同樣地,操作也不涉及 SQL。

var mysqlx = require('@mysql/xdevapi'); mysqlx.getSession({ ? ? ? ? ? ? //Auth to server host: 'localhost', port: '33060', dbUser: 'root', dbPassword: 'password' }).then(function (session) { ? ?// use world_x.country.info var schema = session.getSchema('world_x'); var collection = schema.getCollection('countryinfo'); collection ? ? ? ? ? ? ? ? ? ? ?// Get row for 'CAN' .find("$._id == 'CAN'") .limit(1) .execute(doc => console.log(doc)) .then(() => console.log("  All done")); session.close(); })
登錄后復(fù)制

下面例子使用 php,搜索 _id 字段匹配 USA 的記錄:

<!--?PHP // Connection parameters ? $user = 'root'; ? $passwd = 'S3cret#'; ? $host = 'localhost'; ? $port = '33060'; ? $connection_uri = 'mysqlx://'.$user.':'.$passwd.'@'.$host.':'.$port; ? echo $connection_uri . " "; // Connect as a Node Session ? $nodeSession = mysql_xdevapigetNodeSession($connection_uri); // "USE world_x" schema ? $schema = $nodeSession->getSchema("world_x");<br ?--> // Specify collection to use $collection = $schema->getCollection("countryinfo"); // SELECT * FROM world_x WHERE _id = "USA" $result = $collection->find('_id = "USA"')->execute(); // Fetch/Display data $data = $result->fetchAll(); var_dump($data); ?>
登錄后復(fù)制

可以看出,在上面兩個(gè)使用不同編程語言的例子中,find 操作符的用法基本一致。這種一致性對(duì)跨語言編程的開發(fā)者有很大幫助,對(duì)試圖降低新語言學(xué)習(xí)成本的開發(fā)者也不無裨益。

支持的語言還包括 C、JavaPythonJavaScript 等,未來還會(huì)有更多支持的語言。

從兩種方式受益

我會(huì)告訴你使用 NoSQL 方式錄入的數(shù)據(jù)也可以用 SQL 方式使用?換句話說,我會(huì)告訴你新引入的 NoSQL 方式可以訪問舊式關(guān)系型表中的數(shù)據(jù)?現(xiàn)在使用 MySQL 服務(wù)器有多種方式,作為 SQL 服務(wù)器,作為 NoSQL 服務(wù)器或者同時(shí)作為兩者。

相關(guān)閱讀

主站蜘蛛池模板: 成人一级毛片 | 日韩一级片免费看 | 操哭美女 | 欧美日韩视频在线 | 欧美一区二区三区免费 | a级毛片网站 | 午夜在线伦理福利视频 | 中国国语毛片免费观看视频 | 日本成人不卡视频 | 黄色a一片 | 国产精品久久久久三级 | 久操精品视频 | 韩国免费毛片在线看 | 亚洲精品一区二区在线播放 | 好吊色综合网天天高清 | 国产日韩高清一区二区三区 | 怡红院亚洲红怡院天堂麻豆 | 成人深夜福利在线播放不卡 | 成人在线网址 | 99精品免费久久久久久久久日本 | a级国产乱理伦片在线观看99 | 亚洲免费视频网 | 国产日产亚洲精品 | 97久久精品午夜一区二区 | 波多久久夜色精品国产 | 毛片网站大全 | 日韩视频大全 | 免费的一级片网站 | 97免费视频在线 | 99激情| 日本在线观看一级高清片 | 高清一本之道加勒比在线 | 国产一级第一级毛片 | 久草视频在线网 | 欧美人在线 | 国产中文字幕视频 | 欧美成人免费高清视频 | 国内精品一区二区2021在线 | 91av久久| 欧美日韩高清性色生活片 | 亚洲毛片视频 |