当前位置: 首页>数据库>正文

MongoDB和sqlserver 比较 mongodb数据库和sqlserver区别

MongoDB数据库学习笔记

1、数据库是按照数据结构来组织、存储和管理数据的仓库
2、我们的程序都是内存中运行的,一旦程序运行结束或者计算机断电,程序运行中的数据都会丢失,所以为了让程序运行的数据能够保存下来,需要将一些程序运行的数据持久化到硬盘中,以确保数据的安全性,而数据库就是数据持久化的最佳选择,即数据库就是一个用来存储数据的仓库
3、数据库主要分为两类:关系型数据库(RDBMS)和非关系型数据库(NoSQL)
4、关系型数据库的特点在于数据库中全都是表,所有的关系型数据库都是使用结构化查询语言(SQL)来操作的,SQL是一种标准化的查询语言。常见的关系型数据库有MySQL,Oracle,DB2,SQL Server等
5、NoSQL(Not only SQL)的意思是"不仅仅是SQL",它可以代指非关系型数据库,是对不同于传统的关系型数据库的数据库的统称。NoSQL用于超大规模的数据的存储,这些类型的数据存储不需要特定的格式,无需多余操作就可以横向拓展。常见的非关系型数据库有MongoDB,Redis等
6、MongoDB是非关系型数据库中像关系型数据库的


文章目录

  • MongoDB数据库学习笔记
  • 一、NoSQL数据库介绍
  • 1.为什么使用NoSQL
  • 2. RDBMS和NoSQL的对比
  • 3. NoSQL四大家族
  • 4. NoSQL的优缺点
  • 5、总结
  • 二、MongoDB数据库介绍
  • 1、MonogoDB简介
  • 2、MongoDB与关系型数据库术语对比
  • 3、MongoDB的数据类型


一、NoSQL数据库介绍

1.为什么使用NoSQL

        随着互联网的飞速发展和普及,上网产生的数据越来越多,这些数据大部分都是关系型数据库来进行处理的,但是关系型数据库的范式约束、事务特性、磁盘IO等特点导致大量数据产生时,其无法满足快速查询和插入数据的要求,所有需要NoSQL数据库来解决这些问题。
        NoSQL通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,获取到了性能的提升。同时这也导致了NoSQL在一些绝对要有事务和安全指标的场景下不适用。故现有的项目大多数都采用了两种数据库结合工作的形式。

2. RDBMS和NoSQL的对比

NoSQL

RDBMS

代表着不仅仅是SQL

高度组织化结构化数据

没有统一的查询语言

结构化统一的查询语言

没有预定义模式

数据和关系都存在单独的表中

键-值对存储,列存储,文档存储,图像数据库

数据操纵语言,数据定义语言

最终一致性,而非ACID属性

严格的一致性

非结构化不可预知的数据

基础事务

CAP定理

高性能定理、高可用性和可伸缩性

3. NoSQL四大家族

  • 键值对(key-value)存储
    特点:键值数据库就像传统语言中的哈希表,通过key添加,查询或删除数据
    优点:查询速度快
    确定:数据无结构化,通常只被当作字符串或者二进制数据存储
    应用场景:内容缓存、用户信息比如会话、配置信息、购物车等,主要用于处理大量数据的高访问负载
    NoSQL代表:Redis、Memcached
  • 文档(Document-Oriented)存储
    特点:文档数据库将数据以文档的形式存储,类似JSON,是一系列数据项的集合,每个数据项都有一个名称和与之对应的值,值既可以是简单的数据类型,如字符串、数字和日期等,也可以是复杂的类型,如有序列表和关联对象
    优点:数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构
    缺点:查询性能不高,缺乏统一的查询语法
    应用场景:日志、Web应用等
    NoSQL代表:MongoDB、CouchDB
  • 列(Wid Column Store/Column-Family)存储
    特点:列存储数据库将数据存储在列族(Column Family)中,将多个列聚合成一个家族,键仍然存在,但是他们的特点是指向了多个列。比如:如果存在一个Person类,通常会一起查询他们的性命和年龄而不是薪资,这种情况下姓名和年龄就会被放入到一个列族中,而薪资就会被放入另一个列族中
    优点:列存储查找速度快,可拓展性强,更容易进行分布式拓展,适用于分布式的文件系统,应对分布式存储的海量数据。
    缺点:查询性能不高,缺乏统一的查询语法
    应用场景:日志、分布式的文件的文件系统(对象存储)、推荐画像、时空数据、消息/订单等
    NoSQL代表:Cassa
  • 图形(Graph-Oriented)存储
    特点:图形数据库允许我们将数据以图的形式存储
    优点:图形相关算法,比如最短路径寻址、N长度关系查找等
    缺点:很多时候需要对整个图形做计算才能得出需要的信息,分布式的集群方案不好做,处理超级节点乏力,没有分片存储机制,国内社区不活跃
    应用场景:社交网络、推荐系统等,专注于构建关系图谱
    NoSQL代表:Neo4j,Infinite Graph

4. NoSQL的优缺点



5、总结

NoSQL数据库在以下几种情况下比较适用:






二、MongoDB数据库介绍

1、MonogoDB简介

  • mongo一词源于Humongous(巨大的、庞大的),表示支持海量数据存储
  • MongoDB是一个基于分布式文件存储的NoSQL数据库,由C++语言编写,旨在为WEB应用提供可拓展的高性能数据存储解决方案
  • MongoDB是一个介于关系型数据库和非关系型数据库的数据库,是非关系型数据库中功能最丰富、最像关系型数据库的数据库
  • MongoDB使用BSON(Binary JSON)对象来存储数据,与JSON格式的键值对(key/value)类似,字段值可以包含其他文档,数组及文档数组,支持的查询语言非常强大,其语法优点类似于面向对象的查询语言,几乎可以实现类似关系型数据库表单查询的绝大部分功能,而且还支持对数据建立索引

2、MongoDB与关系型数据库术语对比

MongoDB和sqlserver 比较 mongodb数据库和sqlserver区别,MongoDB和sqlserver 比较 mongodb数据库和sqlserver区别_数据,第1张

SQL术语概念

MongoDB术语概念

databse(数据库)

databse(数据库)

table(表)

collection(集合)

row(行)

document or BSON document(文档)

index(索引)

index(索引)

table joins(表连接)

embeded documents and linking(嵌入的文档和链接)

3、MongoDB的数据类型

数据类型

描述

String

字符串,存储数据常用的数据类型,在MongoDB中,utf-8编码的字符串才是合法的

Integer

整型数值,用于存储数值,根据采用的服务器,可以分为32位或64位

Boolean

布尔值,用于存布尔值

Min/Max keys

将一个值与BSON元素的最低值和最高值相对比

Arrays

用于将数组或列表或多个值存储为一个键

Timestamp

时间戳,用于记录文档修改或添加的具体时间

Object

用于内嵌文档

Null

用于创建空值

Symbol

符合,该数据类型基本上等同于字符串类型,但不同的是它一般采用特殊符号类型的语言

Date

日期时间。用UNIX时间格式来存储当前日期或时间,可以指定自己的日期时间:创建Date对象,传入年日月信息

Object ID

对象ID,用于创建文档的ID

Binary Data

二进制数据,用于存储二进制数据

Code

代码类型,用于在文档中存储JavaScript代码

Regular expression

正则表达式类型,用于存储正则表达式



https://www.xamrdz.com/database/6w51962875.html

相关文章: