关于nosql:NoSql-简介

5次阅读

共计 1344 个字符,预计需要花费 4 分钟才能阅读完成。

NoSql 简介

1、概述

NoSql=Not only sql 意思是不仅仅是 sql 泛指非关系型数据库,nosql 无需当时为要存储的数据建设字段,随时能够存储自定义的数据格式,而在关系数据库里,增删字段是一件十分麻烦的事件,如果是十分大数据量的表,减少字段就很麻烦。

2、Nosql 与关系型数据库(RDBMS)的区别

NOSQL RDBMS
代表着不仅仅是 sql 高度组织化结构化的数据
没有申明性查询语言 结构化查询语言 sql
没有预约义的模式 数据和关系都存储在独自的表中
键值对存储,列存储,文档存储,图形化数据库 数据操纵语言没数据定义语言 dml ddl
最终一致性,而非 acid 属性 严格的一致性
非结构化和不可预知的数据 根底事务
cap 定理(Consistency(一致性), 数据统一更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容忍性) 可靠性)
高性能,高可用性和可伸缩性

3、NoSql 个性

3V+ 3 高 海量 Volume 多样 Variety 实时 Velocity 高并发 高可扩 高性能

4、当下 nosql 的经典利用(nosql 和 sql 一起应用)

nosql 数据模型简介

  • 商品根本信息(名称,价格,出产日期,生产产商等)关系型数据库
  • 商品形容,详情,评估信息(多文字类)文档数据库 mongDB
  • 商品图片 商品图片展示类 分布式的文件系统中(淘宝本人的 tfs google 的 gfs hadoop 的 hdfs)
  • 商品的关键字(搜索引擎 ISearch)
  • 商品的波段性的热点高频信息(内存数据库:tair redis memcached)

5、NoSql 数据模型

以一个电商客户、订单、订购、地址模型来比照下关系型数据库和菲关系型数据库

  • 传统形式 1:1 1:N N:N 主外键
  • nosql 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"}}],
      }
    ]
  }
}

6、nosql 数据库四大分类

  1. KV 键值:新浪(berkeley+redis)美团(redis+tair)阿里,百度(memcached+redis)
  2. 文档型(bson 格局较多):CouchDB,MongDB(是一个基于分布式文件存储的数据库,由 c ++ 语言编写,旨在为 web 利用提供可扩大的高性能数据存储解决方案,其介于关系数据库和非关系数据库之间,是非关系数据库当中性能最丰盛的,最像关系数据库的)
  3. 列存储数据库:Cassandra,Hbase, 分布式文件系统
  4. 图关系数据库(它不是放图形的,放的是关系比方:朋友圈社交网网络,广告举荐):Neo4j.InfoGird
正文完
 0