返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >NoSQL优缺点与MongoDB数据库简介
  • 758
分享到

NoSQL优缺点与MongoDB数据库简介

2024-04-02 19:04:59 758人浏览 独家记忆
摘要

一、NoSQL简介 互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。Nosql

一、NoSQL简介

互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。Nosql就是主要为了解决当下大量高并发高要求的数据库应用需求,由于关系数据库具有严格的参照性,一致性,可用性,原子性,隔离性等特点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性能的要求远远强于传统数据库关注的点,NoSQL 就是为了解决大规模数据与多样数据种类等问题,尤其是中大数据的相关问题。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它指的是非关系型的数据库,是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL 标准、ACID 属性、表结构等等。NoSQL 最早被提出是在20 世纪80 年代,在当时更多是强调的是与关系数据库区别对待,最近这些年被提及的更多是强调协助解决大数据等相关问题,NoSQL 在大数据时代有自己的意义。

1、NoSQL 数据库适用于哪些情况?

  • (1). 数据模型比较简单;
  • (2). 需要灵活性更强的IT 系统;
  • (3). 对数据库性能要求较高;
  • (4). 不需要高度的数据一致性;
  • (5). 对于给定key,比较容易映射复杂值的环境。

2、什么时候建议使用NoSQL ?

  • (1). 对数据库高并发读写的需求;
  • (2). 对海量数据的高效率存储和访问的需求;
  • (3). 对数据库的高可扩展性和高可用性的需求。

3、NoSQL 和传统数据库有什么区别?

NoSQL属于非结构型数据库,没有行、列的概念,用JSON 来存储数据,集合就相当于“表”,文档就相当于“行”。

4、NoSQL 有哪些种类?

  • 键值(Key-Value)存储数据库
    这一类数据库主要会用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单,易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/Value就显得效率低下了。如常见的Redis数据库,Memcached等
  • 列存储数据库
    这部分数据库通常用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。
  • 文档型数据库
    文档型数据库的灵感来自于Lotus Notes办公软件,而且它与键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如jsON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如MonGoDB,国内也有文档型数据库SequoiaDB,已经开源
  • 图形(Graph)数据库
    图形结构的数据库同其他行列及刚性结构的SQL数据库不同,它使用灵活的图形模型,并且能够拓展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要特定的数据模型。许多NoSQL数据库都有REST式的数据接口或者查询api。如Graph

二、mongoDB简介

参考地址

  • MongoDB 官网地址:https://www.mongodb.com/
  • MongoDB 官方英文文档:Https://docs.mongodb.com/manual/
  • MongoDB 各平台下载地址:https://www.mongodb.com/download-center#commUnity

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。

Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、 易使用,存储数据非常方便。

MongoDB 是由c++语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

1、主要特点

  • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
  • 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序
  • 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
  • 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
  • Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
  • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
  • Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用javascript编写的,并可以通过db.runCommand或mapReduce命令来执行MapReduce操作。
  • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  • MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
  • MongoDB支持各种编程语言:RUBY,python,JAVA,C++,PHPC#等多种语言。
  • MongoDB安装简单。

2、MongoDB 工具

有几种可用于MongoDB的管理工具。

监控

  • MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。
  • Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。
  • 基于图形界面的开源工具 Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控 MongoDB 的插件。

GUI

  • MongoDB Compass: 官方图形界面管理工具
  • NoSQL Manager for MongoDB: windows的mongodb管理工具
  • RockMongo: 最好的php语言的MongoDB管理工具,轻量级, 支持多国语言

到此这篇关于NoSQL优缺点与MongoDB数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: NoSQL优缺点与MongoDB数据库简介

本文链接: https://lsjlt.com/news/150506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • NoSQL优缺点与MongoDB数据库简介
    一、NoSQL简介 互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。NoSQL...
    99+
    2024-04-02
  • NoSQL优缺点与MongoDB数据库有什么特点
    这篇文章主要讲解了“NoSQL优缺点与MongoDB数据库有什么特点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“NoSQL优缺点与MongoDB数据库有什么特点”吧!一、NoSQL简介互联...
    99+
    2023-06-30
  • 关系型数据库和NOSQL数据库的优缺点介绍
    关系型数据库: 1) 关系数据库的特点是: - 数据关系模型基于关系模型,结构化存储,完整性约束。 - 基于二维表及其之间的联系,需要连接、并、交、差、除等数据操作。 - 采用结构化的查询语言(SQL)做数...
    99+
    2024-04-02
  • NoSQL数据库有哪些优点
    本篇内容主要讲解“NoSQL数据库有哪些优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NoSQL数据库有哪些优点”吧!1. 简介SQL:SQL是结构化查询语...
    99+
    2024-04-02
  • Redis的简介及优缺点
    这篇文章主要介绍“Redis的简介及优缺点”,在日常操作中,相信很多人在Redis的简介及优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的简介及优缺点”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-16
  • MongoDB创建与删除数据库
    一、创建数据库 1、语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库。 2、实例 以下实例我...
    99+
    2024-04-02
  • 文件系统与数据库的优缺点
    如果您在选择保存上传到服务器的文件的最佳方式时犹豫不决,如果您习惯于将文件存储在文件系统中并认为文件系统是为了保存文件而创建的,或者如果您不担心在某些情况下使用数据库保存文件的优势,那么是时候重新考虑你的选...
    99+
    2024-04-02
  • 阿里云数据库新技术优点与缺点
    本篇文章将深入探讨阿里云数据库的新技术,并分析其优点与缺点。 阿里云数据库新技术的优点高效稳定:阿里云数据库采用分布式架构,能够提供高可用性和高性能的服务,使数据处理速度大幅提升。安全可靠:阿里云数据库具有严格的防火墙保护机制和数据加密技术...
    99+
    2024-01-25
    阿里 新技术 缺点
  • NoSQL 数据库的5个优点与挑战是什么
    这篇文章主要讲解了“NoSQL 数据库的5个优点与挑战是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“NoSQL 数据库的...
    99+
    2024-04-02
  • MongoDB如何创建与删除数据库
    这篇文章主要介绍了MongoDB如何创建与删除数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MongoDB如何创建与删除数据库文章都会有所收获,下面我们一起来看看吧。一、创建数据库1、语法MongoDB ...
    99+
    2023-07-01
  • DataSource与数据库连接池简介(JDBC简介)
    目录起源为何放弃DriverManager连接池数据源实现核心架构DataSourceAPI小结应用数据库连接池示例总结DataSource是作为DriverManager的替代品而...
    99+
    2022-11-13
    数据库连接池Data Source JDBC数据库连接池Data Source
  • polardb数据库有哪些优缺点
    Polardb是一种云原生的关系型数据库服务,其具有以下优点:1. 高可用性:Polardb采用多副本的存储架构,可以自动进行数据备...
    99+
    2023-10-25
    polardb 数据库
  • mongodb数据库优点和缺点是什么
    MongoDB数据库的优点包括: 高性能:MongoDB是一种面向文档的数据库,具有灵活的数据模型和高效的查询语言,可以快速处理...
    99+
    2024-04-09
    mongodb
  • NoSQL数据库的简单介绍以及redis持久化数据服务
    本篇内容介绍了“NoSQL数据库的简单介绍以及redis持久化数据服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • redis数据库的优缺点有哪些
    小编给大家分享一下redis数据库的优缺点有哪些,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!redis数据库的优缺点:1、使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于...
    99+
    2024-04-02
  • polardb数据库的优缺点有哪些
    Polardb数据库的优点包括:1. 高性能:Polardb采用了分布式共享存储架构,可以实现高并发读写操作,并且具有低延迟和高吞吐...
    99+
    2023-08-08
    polardb
  • nosql数据库有哪些特点
    这篇文章主要介绍了nosql数据库有哪些特点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。nosql数据库的特点是:1、容易扩展;2、大数据...
    99+
    2024-04-02
  • SQLite与MySQL区别及优缺点介绍
    简单来说,SQLITE功能简约,小型化,追求最大磁盘效率;MYSQL功能全面,综合化,追求最大并发效率。如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的话...
    99+
    2024-04-02
  • 关系型数据库和非关系型数据库概述与优缺点对比
    目录一、关系型数据库1、概念2、关系型数据库的特点3、关系型数据库的瓶颈4、关系型数据遵循ACID原则1、A(Atomicity)原子性2、C(Consistency)一致性3、I(...
    99+
    2024-04-02
  • NoSQL数据库四大分类的介绍
    本篇内容介绍了“NoSQL数据库四大分类的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!NoSQL数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作