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