当前位置: 首页 > news >正文

NoSQL数据库

1.NoSQL简介

通常,NoSQL数据库具有以下几个特点:

 

灵活的可扩展性

灵活的数据模型

与云计算紧密融合

现在已经有很多公司使用了NoSQL数据库:

 

Google

Facebook

Mozilla

Adobe

Foursquare

LinkedIn

Digg

McGraw-Hill Education

Vermont Public Radio

百度、腾讯、阿里、新浪、华为……

总结:

 

(1)关系数据库

 

优势:以完善的关系代数理论作为基础,有严格的标准,支持事务ACID四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持

 

劣势:可扩展性较差,无法较好支持海量数据存储,数据模型过于死板、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等

 

(2)NoSQL数据库

 

优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等

 

劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等

 

3.NoSQL的四大类型

典型的NoSQL数据库通常包括键值数据库、列族数据库、文档数据库和图形数据库。

 

3.1.键值数据库

4.NoSQL的三大基石(CAP、BASE、最终一致性)

4.1.CAP:

 

C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据

A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;

P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。

CAP理论告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个,正所谓“鱼和熊掌不可兼得”。

 

4.2.BASE

一个数据库事务具有ACID四性:

 

A(Atomicity):原子性,是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行

C(Consistency):一致性,是指事务在完成时,必须使所有的数据都保持一致状态

I(Isolation):隔离性,是指由并发事务所做的修改必须与任何其它并发事务所做的修改隔离

D(Durability):持久性,是指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持

       BASE的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency)。

 

5.MongoDB

提供了一个面向文档存储,操作起来比较简单和容易

可以设置任何属性的索引来实现更快的排序

具有较好的水平可扩展性

支持丰富的查询表达式,可轻易查询文档中内嵌的对象及数组

可以实现替换完成的文档(数据)或者一些指定的数据字段

MongoDB中的Map/Reduce主要是用来对数据进行批量处理和聚合操作

支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等语言

MongoDB安装简单

相关文章:

  • JS 手撕题高频考点
  • MATLAB详细图文安装教程(附安装包)
  • 域渗透(web安全)
  • 归并排序与快速排序的简单实现(C语言)
  • 前端自动创建react项目脚手架
  • 中国太平保险网申校招测评笔试真题分析、历年真题题库、北森答案解析
  • golang 日志log与logrus
  • Android开发中的数据结构与算法:树与图
  • 音视频 YUV格式详解
  • Web开发-JS应用微信小程序源码架构编译预览逆向调试嵌套资产代码审计
  • 孤码长征:破译PCL自定义点云注册机制源码迷局——踩坑实录与架构解构
  • grafana 配置页面告警
  • 【LLM】Elasticsearch作为向量库入门指南
  • IDEA 终端 vs CMD:为什么 java -version 显示的 JDK 版本不一致?
  • 电子文档安全管理系统V6.0接口backup存在任意文件下载漏洞
  • golang 的strconv包常用方法
  • J2EE框架技术第八章 SpringMVC框架技术
  • HarmonyOS 介绍
  • Ubuntu在VMware中无法全屏
  • MIPS-32架构(寄存器堆,指令系统,运算器)
  • 宝鸡网站网站建设/如何搜索关键词热度
  • dw 怎么做钓鱼网站/专业郑州企业网站建设
  • 网站建设成本分析/设计本网站
  • wordpress登录js/成都网站seo服务
  • 青岛哪个网站建设公司价格低还能好一些/2021小学生新闻摘抄
  • 虎门镇最新疫情最新消息/百度优化推广