NoSQL介绍

公共基础
一、NoSQL概述
1、NoSQL
NoSQL定义:

非关系型、分布式、开放源码和具有横向扩展能力的下一代数据库。NOSQL==“Not Only SQL”。

2 数据库的分类
1、TRDB数据库
传统关系型数据库:基于单机集中管理数据理念,传统关系型数据库建立在集中的数据库管理系统上

TRDB数据库特点:

使用强存储模式技术;采用SQL技术标准定义和操作数据库;采用强事务保证可用性以及安全;采用单机集中处理方式

2、NoSQL数据库
一般NoSQL技术从数据存储结构原理分为:

键值存储:

特点:通过唯一的键值对组织数据,适用于快速存取和简单数据模型。 ​ 代表产品:Redis,Cassandra,Riak,DynamoDB。 ​ 列族存储:

特点:数据被组织成列族,每个列族包含多个列,适用于大规模数据和高吞吐量。 ​ 代表产品: HBase,Cassandra。 ​ 文档存储:

特点:数据以文档的形式存储,文档可以是自包含的、具有层次结构的文档或键值对。 ​ 代表产品:MongoDB,Couchbase,RavenDB。 ​ 图形数据库(Graph Databases):

特点:以图的形式存储数据,适用于复杂的关系和图状结构查询。 ​ 代表产品:Neo4j,OrientDB,ArangoDB。

NoSQL数据库特点:

使用弱存储模式技术;无SQL技术标准定义和操作数据库;采用弱事务保证可用性;主要采用多机分布式处理方式。

基于大数据应用产生的新技术

3、NewSQL数据库
结合传统关系型数据库与Nosql数据库技术的优点,实现大数据环境下的数据存储和处理。

二、数据库存储架构分类
1、单机架构
优点:集中部署、便于运维

缺点: 单机只能纵向扩展,可扩展性差;存在单点故障,出现故障会停机

2、主备架构
数据库部署在两台服务器上,主机负责数据读写,备机利用数据同步进行数据同步,保证数据一致。

优点:有一定的低于故障的能力;提升了数据的容错性

缺点:资源浪费,无故障只使用主机;性能压力集中在主机;故障时需要人工干预

3、主从架构
通过读写分离模式分散服务压力,主机负责写操作,从机负责数据查询服务

优点:提升资源利用率,适合读多写少场景;在大并发的场景,可以使用负载均衡在多个从机之间;从机扩展灵活,扩容操作不影响业务

缺点:延迟问题,数据同步到从机数据库时存在延迟,存在暂时性的数据不一致;写操作的性能压力在主机;主机故障是需要主从切换,人工干预需要响应时间,自动切换复杂度高

4、多主架构
数据库服务器互为主从,同时对外提供完整的数据服务

优点:资源利用率高;降低单点故障的风险

缺点:双主机都接受写数据,要实现数据双向同步,双向复制会带来延迟问题,极端情况有可能数据丢失

5、分片架构
水平数据分片架构,把数据分散在多个节点上分片方案,每个片包括数据库一部分

优点:

数据分散在集群的各个节点上,所有节点可以独立性工作;提升数据库写性能,降低单库数据容量

三、MongDB
1、MongoDB概述
由c++编写的开源、高性能、无模式的基于分布式文件存储的文档型数据库

特点:

高性能、高可用性、高扩展性、丰富的查询支持、可替换已完场文档某个指定的数据字段
应用场景:

社交场景:使用mongodb存储用户信息

游戏场景:用户信息,装备积分

物流场景:订单信息,订单状态

视频直播场景:点赞互动信息

场景操作特点:数据量大;读写操作频繁;价值较低的数据,对事物性要求不高

2、MongoDB增删改查
集合命名规则:

不能是空字符串;不能含有$、 \0 ;不能以system开头;用“.”来组织子集合

集合操作:
创建集合 :

(1)指定创建

db.createCllection("name1")

db.createCllection("cn",{"capped":true,"size":1000})

(2)默认创建(向不存在的集合里插入文档)

db.names.insert({"name":"zs","age":20})

查看集合

(1)show table

(2)show collections

(3)db.getCollectionNames()

(4)db.collections.stats()

删除集合:dorp()

db.collections.drop()

文档操作
插入

1、insert()、 insert({},{},{})

db.name.insert({"name":"zhangsan"},{"age":20})

2、insertOne()

db.name.insertOne({"name":"wangwu"})

3、insertMany([{},{},{},{}])

4、v=({"name":"xia

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值