关系型数据库和文档型数据库差别 -《DDIA》第二章

欢迎访问原文地址来阅读最新版本
转载请注明出处:https://kang.fun/kind-of-database

关系型数据库和文档型数据库差别

  1. 数据联结

    在表示一对一和一对多的数据联结上,二者差别在于存储方式不同:

    关系型数据库通过数据键联结,文档型数据库通常采用嵌套的方式将相关数据存储在一起。

    表示多对一和多对多时,也没有明显不同:都是采用唯一标识符来进行引用。该标识符在关系模型中称为外键,在文档模型中称为文档引用。

  2. 查询场景不同带来的性能差异

    存储方式的不同,也带来查询性能的不同:

    如果查询某项业务相关的完整数据,在关系型数据库中,多表关联需要对多棵树进行查询,但对于文档型数据库仅需要查询当前数据即可。

    而查询少部分数据时,文档型数据库需要传输整条数据,则相对较为笨重。

  3. 数据格式变更

    数据格式变更方面,文档模型更为灵活,直接用字段来编写新文档即可,而关系模型需要对整张表的数据进行清洗。

    另外,Mysql会采用复制表的方式进行表结构更新,因此大表更新非常缓慢。

声明式查询语言和命令式查询语言

声明式查询语言,更为接近人类语言,会隐藏更多的查询方式细节,这就给数据库引擎带来更大的优化空间,而使用者不需要过多关注存储细节。也就是说从性能方面对比,声明式查询语言的下限更高。

而由于场景不同,也能在查询语句不变的同时,随之采用不同的查询器。

声明式查询语言由于不指定执行的具体行为,在多核CPU的利用上更好,这就带来了更高的并发性能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值