温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mysql与Couchbase定义及区别分析

发布时间:2020-04-28 10:55:49 来源:亿速云 阅读:271 作者:三月 栏目:数据库

下文内容主要给大家带来Mysql与Couchbase定义及区别分析,这里所讲到的知识,与书籍略有不同,都是亿速云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

一、数据模型不同

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

以上两张表和他们的列并不复杂,但他们之间任然通过主键和外键建立了关系。

Mysql与Couchbase定义及区别分析

Couchbase

{
    "type": "customer",
    "first_name": "Nic",
    "last_name": "Raboy"

}

{
    "type": "customer_address",
    "city": "San Francisco",
    "state": "CA",
    "zip": "94101",
    "customer_id": "c::1"

}
看起来是不是和关系数据有点像??
接下来看看内嵌文档,你还是不是这么认为的。

Mysql与Couchbase定义及区别分析

这样看起来和关系数据库就非常不一样了。通过JSON,我们可以在文档内嵌文档。这样我不就不用再新建一个了。
你可能想知道会发生什么,如果在你的MySQL数据库,具有十分复杂的关系,当调换Couchbase,会导致相同的数据被嵌入在一个以上的Couchbase文件。
这可能发生,但它不是一件坏事。你不需要归一化数据的NoSQL数据库如Couchbase。然而,如果你真的担心,那就混合这两种方法?比如说customer_history保存没有关系的数据

二、查寻方法不一样

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,这是因为Couchbase没有表的概念,并且所有不同的文档和文档类型都存储在bucket中。这也是Couchbase特性所在。


我们再来看看插入数据有什么不一样。

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"});


三、连接数据库方式不一样

The MySQL JDBC Driver

Java 应用程序中如果连接 MySQL 数据库使用 Java 数据库连接器 (JDBC) 驱动程序

像这样

Mysql与Couchbase定义及区别分析

Couchbase

Mysql与Couchbase定义及区别分析

使用 MySQL 很多工具可以使用例如如果数据库执行查询可以使用 MySQL CLI仍然使用类似工具 Couchbase 进行开关能力如果你正在寻找命令工具可以使用 CBQ 查询数据如果你是 MySQL Workbench重度用户,也无需担心。因为在Couchbase中也有 Query workbench。

对于以上关于Mysql与Couchbase定义及区别分析,如果大家还有更多需要了解的可以持续关注我们亿速云的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

 



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI