NoSQL--Redis 入门及数据模型简介

    以下面的背景去对比关系型数据库和非关系型数据库的差异(一个电商客户、订单、订购、地址模型来对比)

    传统数据库设计一般使用E-R图(1:1/1:N/N:N,主键等)

    NoSQL使用的是BSON

    一、什么是BSON

    BSON是一种类json的二进制存储格式,简称Binary Json,它和Json一样,支持内嵌的文档对象和数组对象,具有轻量型,可遍历性、高效性的特点。可以有效的描述非机构化数据和结构化数据。

    {
 "customer":{
   "id":1136,
   "name":"Z3",
   "billingAddress":[{"city":"beijing"}],
   "orders":[
    {
      "id":17,
      "customerId":1136,
      "orderItems":[{"productId":27,"price":77.5,"productName":"thinking in java"}],
      "shippingAddress":[{"city":"beijing"}]
      "orderPayment":[{"ccinfo":"111-222-333","txnid":"asdfadcd334","billingAddress":{"city":"beijing"}}],
      }
    ]
  }

}

上面的json类型的字符串就是一个Bson,这样可以处理多样的数据结构。

    二、传统的关系型数据库和非关系型数据库查询的差异

    传统的系统在查询多张表的关联时都使用关联查询来处理,但是分布式开发时非常忌讳这样的关联查询,高并发的操作时不建议有关联查询的,互联网公司用冗余数据来避免关联查询,分布式事务是支持不了太多的并发的。

    而在Redis中使用的时KV键值对实现的,使用key值直接就可以查询出来整个关联的数据。

    三、聚合模型

        1.KV键值对

        2.列族(纵向关系)

        3.Bson

        4.图形(复杂的关系,网状关系)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值