您好,登錄后才能下訂單哦!
下文內(nèi)容主要給大家?guī)?a title="Mysql" target="_blank" href="http://kemok4.com/mysql/">Mysql與Couchbase定義及區(qū)別分析,這里所講到的知識,與書籍略有不同,都是億速云專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗(yàn)分享價值,希望給廣大讀者帶來幫助。
一、數(shù)據(jù)模型不同
Mysql
customer
id: numeric primary key
firstname: varchar
lastname: varchar
customer_address
id: numeric primary key
city: varchar
state: varchar
zip: varchar
customer_id: numeric foreign key
以上兩張表和他們的列并不復(fù)雜,但他們之間任然通過主鍵和外鍵建立了關(guān)系。
Couchbase
{
"type": "customer",
"first_name": "Nic",
"last_name": "Raboy"
}
{
"type": "customer_address",
"city": "San Francisco",
"state": "CA",
"zip": "94101",
"customer_id": "c::1"
}
看起來是不是和關(guān)系數(shù)據(jù)有點(diǎn)像??
接下來看看內(nèi)嵌文檔,你還是不是這么認(rèn)為的。
這樣看起來和關(guān)系數(shù)據(jù)庫就非常不一樣了。通過JSON,我們可以在文檔內(nèi)嵌文檔。這樣我不就不用再新建一個了。
你可能想知道會發(fā)生什么,如果在你的MySQL數(shù)據(jù)庫,具有十分復(fù)雜的關(guān)系,當(dāng)調(diào)換Couchbase,會導(dǎo)致相同的數(shù)據(jù)被嵌入在一個以上的Couchbase文件。
這可能發(fā)生,但它不是一件壞事。你不需要?dú)w一化數(shù)據(jù)的NoSQL數(shù)據(jù)庫如Couchbase。然而,如果你真的擔(dān)心,那就混合這兩種方法?比如說customer_history保存沒有關(guān)系的數(shù)據(jù)
二、查尋方法不一樣
mysql
SELECT c.firstname, c.lastname, ca.city, ca.state FROM customer_address ca LEFT JOIN customer c ON ca.customer_id = c.id
couchbase
SELECT c.firstname, c.lastname, ca.city, ca.state FROM `bucket-name` ca LEFT JOIN `bucket-name` c ON KEYS ca.customer_id
不太一樣是吧。你可能也注意到,我們使用了兩次bucket-name,這是因?yàn)镃ouchbase沒有表的概念,并且所有不同的文檔和文檔類型都存儲在bucket中。這也是Couchbase特性所在。
我們再來看看插入數(shù)據(jù)有什么不一樣。
mysql
INSERT INTO customer (id, first_name, last_name)VALUES (1, 'Arun', 'Gupta');
Couchbase
INSERT INTO `bucket-name` (KEY, VALUE)VALUES ("1", {"first_name": "Arun", "last_name": "Gupta"});
三、連接數(shù)據(jù)庫方式不一樣
The MySQL JDBC Driver
在 Java 應(yīng)用程序中,如果您想要連接到 MySQL 數(shù)據(jù)庫將使用 Java 數(shù)據(jù)庫連接器 (JDBC) 驅(qū)動程序。
像這樣
Couchbase
在使用 MySQL 時你有很多工具,你可以使用。例如,如果您想要對數(shù)據(jù)庫執(zhí)行查詢,您可以使用 MySQL CLI。你仍然有使用類似的工具對 Couchbase 進(jìn)行開關(guān)時的能力。如果你正在尋找一種命令行工具,您可以使用 CBQ 來查詢您的數(shù)據(jù)。如果你是 MySQL Workbench重度用戶,也無需擔(dān)心。因?yàn)樵?/span>Couchbase中也有 Query workbench。
對于以上關(guān)于Mysql與Couchbase定義及區(qū)別分析,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們億速云的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。