网站建设如何传视频,襄县网站建设,做什么网站最赚钱,个人wordpress 手机基础篇Redis
3.初始Redis
3.1.2.关联和非关联
传统数据库的表与表之间往往存在关联#xff0c;例如外键#xff1a; 而非关系型数据库不存在关联关系#xff0c;要维护关系要么靠代码中的业务逻辑#xff0c;要么靠数据之间的耦合#xff1a;
{id: 1,name: 张三…基础篇Redis
3.初始Redis
3.1.2.关联和非关联
传统数据库的表与表之间往往存在关联例如外键 而非关系型数据库不存在关联关系要维护关系要么靠代码中的业务逻辑要么靠数据之间的耦合
{id: 1,name: 张三,orders: [{id: 1,item: {id: 10, title: 荣耀6, price: 4999}},{id: 2,item: {id: 20, title: 小米11, price: 3999}}]
}此处要维护“张三”的订单与商品“荣耀”和“小米11”的关系不得不冗余的将这两个商品保存在张三的订单文档中不够优雅。还是建议用业务来维护关联关系。
3.1.3.查询方式
传统关系型数据库会基于Sql语句做查询语法有统一标准
而不同的非关系数据库查询语法差异极大五花八门各种各样。 3.1.4.事务
传统关系型数据库能满足事务ACID的原则。 而非关系型数据库往往不支持事务或者不能严格保证ACID的特性只能实现基本的一致性。
3.1.5.总结
除了上述四点以外在存储方式.扩展性.查询性能上关系型与非关系型也都有着显著差异总结如下 存储方式 关系型数据库基于磁盘进行存储会有大量的磁盘IO对性能有一定影响非关系型数据库他们的操作更多的是依赖于内存来操作内存的读写速度会非常快性能自然会好一些
扩展性 关系型数据库集群模式一般是主从主从数据一致起到数据备份的作用称为垂直扩展。非关系型数据库可以将数据拆分存储在不同机器上可以保存海量数据解决内存大小有限的问题。称为水平扩展。关系型数据库因为表之间存在关联关系如果做水平扩展会给数据查询带来很多麻烦