`

非关系型数据库MongoDB

 
阅读更多
非关系型数据库MongoDB
随着现在分布式数据库的崛起,部分的项目的后台已经渐渐的时候这种非关系型的数据库来设计了,那么这种数据库有什么样的有点呢? 
(1) 大家都知道后期的数据库将是非常庞大的一个东西,好多的项目都是使用的关系型的数据库来支撑的,他们无疑是一个非常不错的选择,要考虑到后期程序的运行的效率,那时候大家就会考虑使用程序来实现数据库的分布(或者使用非常好的服务器来支撑),但是后期发现的mongo确实可以帮助大家解决这种分布式所带来的问题,mongo在设计出就是考虑到了这些问题,你只需建立一些引用的关系方可实现。 (2) Mongo是一种面向对象的数据库,所以很适合面向对象的这种语言来使用(必须C#,java等高级语言),它原本只是被人们用来做缓存使用的数据库,就和android的内置的sqlite一样,但是这并不会影响它的强大的锋芒,他们发现他们设计的这种思想非常的难得,就加以发展,也就是我们现在看到的mongoDB。 (3) 强大的查询功能,mongo中的查询可以使用Pattern来查询,数据存储的时候可以存储json格式的数据,当然咋们查询的时候就可以xx.xx.xx=xxx这样的格式来匹配json格式的字段了。 (4) Mongo由于是非关系型的数据库,所以字段的存储也是非常的随便的,关系型数据库在设计的时候一般就会把所有的字段都确定好了,但是mongo不一样,在设计的时候前后台约定好哪些字段为必要的字段和类型。那么前台便可以很灵活的传一些字段到后台来。 (5) 但是mongo也有很多的缺点的,相对关系型数据库mongo的设计非常的复杂,甚至一个表中会出现多个表的引用而且这些引用都是多对多的关系,然而关系型数据库设计的时候通常会把多对多的关系转化为两个一对多来实现的。 (6) Hibernate框架,比如我们在开发jsp的一些项目的时候,可以使用到hibernate框架来影射数据库中的表与表之间的关系,但是mongo是做不到的,所以当设计到操作到多张表的时候就要自己动手敲代码了。(我做多写一个API写了300行涉及到了五张表联合操作,好多方法还封装了)。 (7) Mongo的存储非常的随便也导致了一些缺点,插入数据的时候字段可以随便的加没有任何的约束


(1) 当需求提出来的时候,关系型数据库是通过主外键的关系来关联多张表的,虽然mongo中没有明显的主外键的关系但是我们可以通过对数据库的设计来实现这样的关系。 Example:一个团队下面可以有多个业务但是一个业务只能归属一个团队。 我们可以这样设计,在业务表中加一个字段teamId类型为DBRef引用的类型,而团队的表中加一个字段taskId类型是一个List<DBRef>的类型,这样就可以体现了团队和业务是一对多的关系了。 扩展:如果团队和业务的关系是多对多的关系的话,我们可以将业务中的teamId也换成List<DBRef>来方团队ID的引用集合。
(2) 关系型数据库在存放数据的时候尽量的做到分开来存放,但是mongo却不是这样的,设计的时候最好是遵循执行增加操作的时候繁琐一点没关系,但是查询的时候一定要简单,毕竟查询是sql语句中最长使用的。
分享到:
评论

相关推荐

    非关系型数据库MongoDB在Linux上安装使用说明,MongoDB与SpringBoot整合代码示例

    "非关系型数据库 MongoDB 在 Linux 上安装使用说明,MongoDB 与 Spring Boot 整合代码示例" MongoDB 安装使用手册 1. 概述 在当前的数据存储领域中,非关系型数据库(NoSQL)正在逐渐崛起,MongoDB 作为其中的一...

    3.1.1_非关系型数据库mongodb及其搭建1

    【3.1.1 非关系型数据库MongoDB及其搭建1】 MongoDB是一个流行的非关系型数据库(NoSQL),其设计目标是为了处理大规模数据,特别是在写入负载高和数据结构灵活的场景下。MongoDB的特点在于其基于分布式文件存储的...

    mongoDB非关系型数据库安装以及使用指南

    MongoDB是一款流行且功能强大的非关系型数据库系统,它以其灵活的数据模型、高可用性和可扩展性而受到广泛赞誉。本教程将引导你完成MongoDB的安装过程,并介绍其基本使用方法,适合在线教育初学者。 一、MongoDB...

    非关系型数据库MongoDb

    安装Mongo数据库:  在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个...记住,以上窗口不要关闭,重新开一个窗口,到D:\MongoDb输入mongo.exe你就可以查询数据库啦

    3.2.1_非关系型数据库mongodb及其搭建1

    MongoDB是一种流行的非关系型数据库(NoSQL),它采用了文档存储的方式,以JSON对象(BSON格式)作为数据模型。MongoDB强调高性能、高可用性和可扩展性,尤其适合处理大规模的数据存储需求。由于其非关系性的特性,...

    关系型数据库和非关系型数据库.pdf

    MongoDB 是一种非关系型数据库,基于文档的存储,是介于关系数据库和非关系数据库之间的产品。 MongoDB 的特点包括: 1. MongoDB 支持的数据结构非常松散,是类似 json 的 bjson 格式。 2. MongoDB 的模式自由...

    大数据时代的数据存储,非关系型数据库MongoDB

    MongoDB是一种非关系型数据库,它是应对大数据时代挑战的关键技术之一。随着信息技术的快速发展,大数据已成为推动技术变革的重要驱动力,传统的关系型数据库(RDBMS)在处理大规模数据时面临性能瓶颈。NoSQL数据库...

    最像关系型数据库的NoSQL---MongoDb

    MongoDb是非关系型数据库的一种,它是一种基于分布式的文档型数据库。

    山东大学 软件学院 非关系型数据库ppt.zip

    非关系型数据库(NoSQL)是一种不同于传统的关系型数据库的数据存储模型。在信息化时代,随着大数据、云计算和互联网应用的快速发展,NoSQL数据库因其高可扩展性、高性能、灵活的数据模型等特点,逐渐受到广泛的关注...

    mongoDB非关系型数据库客户端软件

    MongoDB非关系型数据库的特点主要包括: 1. 文档型数据模型:MongoDB使用BSON(Binary JSON)文档存储数据,这种格式支持嵌套结构和数组,适合处理复杂的数据结构。 2. 分布式架构:MongoDB支持分片(sharding)和...

    计算机课程(数据库)-关系型数据库 vs. 非关系型数据库

    非关系型数据库,如MongoDB、Cassandra和Redis,数据存储形式多样,包括键值对、文档、列族和图形等,无需预先定义模式,适合处理半结构化和非结构化数据。非关系型数据库通常具有更好的可扩展性和灵活性。 2. 优...

    非关系型数据库MongoDB入门

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

    非关系型数据库

    非关系型数据库(NoSQL,Not Only SQL)是一种不同于传统的关系型数据库的数据存储模型,它在近年来得到了广泛的关注和应用,特别是在大数据、实时分析、分布式系统等领域。NoSQL数据库的设计理念在于灵活性、可扩展...

    山东大学非关系型数据库2017试题押题

    #### 应用题1:关系型数据库到非关系型数据库的转换 以一个简单的图书管理系统为例,假设我们有一个关系型数据库表,包含书籍的基本信息(书名、作者、出版社等)。若将其转换为NoSQL文档数据库(如MongoDB),则每...

    关系型与非关系型数据库(2).pdf

    关系型与非关系型数据库 关系型数据库和非关系型数据库是两种不同的数据库管理系统。关系型数据库使用 Structured Query Language(SQL)来管理和存储数据,而非关系型数据库使用其他查询语言和数据模型来存储和...

    关系型数据库和非关系型数据库[参照].pdf

    NoSQL(Not only SQL,非关系型数据库)有不下于 25 种,例如 Dynamo、Bigtable、Amazon 的 SimpleDB、微软公司的 AzureTable、Facebook 使用的 Cassandra、类 Bigtable 的 Hypertable、Hadoop 的 HBase、MongoDB、...

    mongodb 非关系型数据库

    MongoDB 是一个流行的开源、非关系型数据库系统,它属于NoSQL数据库的一种,以其灵活性、高性能和可扩展性而受到广泛关注。MongoDB的设计理念是处理大量数据并支持高并发读写操作,尤其适合于需要存储半结构化或结构...

Global site tag (gtag.js) - Google Analytics