博客说明:撰写博客目的是在记录自己所学知识、在工作中使用技术遇到的技术问题、一些技术感悟,因此避免不了涉及到和其他文章有相似之处。本文从作者自己的实践中指出相关踩坑问题,着重指出学习过程中遇到的相关问题
如果存在相关侵权问题请联系博主删除,同时有技术上的见解可以在评论去里发出,会不定期回复,谢谢。
1、mongodb数据库与其他数据库比较
首先,谈及数据库就可以从常用的角度上可以分为关系型数据库、非关系型数据库。
1.1关系型数据库
关系型数据库定义:
是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。(摘自百度百科)
特点:
1、容易理解、易于维护:二维表结构能够清晰的表达数据间关系,基本上每一条数据都是一样的格式
2、容易入门:sql语言通用,上手快速、容易。
3、支持复杂查询:特别支持是表与表之间的关联查询
4、事务性操作(个人觉得这点很强,保证了业务的完整型,目前还没学会非关系型数据库如何完成事务性的数据操作,关系型数据库也只知道MysqL具有,其他数据库也有的可以在评论去中补充))
常用关系型数据库:
当今十大主流的关系型数据库
Oracle,Microsoft sql Server,MysqL,Postgresql,DB2,
Microsoft Access, sqlite,teradata,MariaDB(MysqL的一个分支),SAP
1.2非关系型数据库
非关系型数据库定义:
指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
非关系型数据库结构一般以键值对存储,却结构不固定。
ACID原则是数据库事务正常执行的四个基本原则,分别指:原子性、一致性、独立性及持久性。
特点:
1、格式灵活:存储数据的格式不固定,可以是键值对,也可以是文档、图片形式,相比于关系型数据库则只支持固定基础类型
2、可扩展性,同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
3、数据量大时候,存储和查询速度更快
常用非关系型数据库:
MongoDB、Redis、Elasticsearch、Hbase、Neo4j等
1.3Mongodb数据库
Mongodb定义
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
------------------------------------------------摘抄https://www.runoob.com/mongodb/mongodb-tutorial.html
特点:
1、格式灵活:存储数据的格式不固定,可以是键值对,也可以是文档、图片形式,相比于关系型数据库则只支持固定基础类型
2、可扩展性,同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
3、数据量大时候,存储和查询速度更快
4、有完整的数据库分库和用户权限管理
官网地址:
https://www.mongodb.org.cn/
语言支持
C、C++、C# / .NET、Erlang、Haskell、Java、JavaScript、Lisp、node.JS、Perl、PHP、Python、Ruby、Scala
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。