MongoDB选择理由

1.简介

  • MongoDB是一个基于分布式文件存储的数据库
  • 由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
  • MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
  • Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

2.业务场景

  • 传统的关系型数据库(如MySQL),在数据操作的三高需求以及应对Web2.0的网站需求面前,显得力不从心,而 MongoDB可应对"三高"需求
    -- High performance:对数据库高并发读写的需求
    -- Huge Storage:对海量数据的高效率存储和访问的需求
    -- High Scalability && High Availability:对数据库的高可扩展性和高可用性的需求

具体应用场景:

(1)数据量大

(2)写入操作频繁(读写都很频繁)

(3)价值较低的数据,对事务性要求不高

对于这样的数据,我们更适合使用 MongoDB来实现数据的存储。

相对MySQL,在以上以用场景可以以更低的成本解决问题(包括学习、开发、运维等成本)

所以在华为实习项目中的web服务中,也用到了MongoDB。

3. 数据类型

MongoDB的最小存储单位就是文档document对象。文档document对象对应于关系型数据库的行。数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。

BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称 Binary JSON;BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Bin Data类型。

相关推荐
雷神乐乐3 小时前
Oracle正则表达式学习
数据库·sql·oracle·正则表达式
江沉晚呤时4 小时前
SQL Server 事务详解:概念、特性、隔离级别与实践
java·数据库·oracle·c#·.netcore
斯特凡今天也很帅5 小时前
clickhouse如何查看操作记录,从日志来查看写入是否成功
数据库·clickhouse
菜菜小蒙5 小时前
【MySQL】MVCC与Read View
数据库·mysql
不辉放弃5 小时前
HiveSQL语法全解析与实战指南
数据库·hive·大数据开发
Demisse6 小时前
[MongoDB] 认识MongoDB以及在Windows和Linux上安装MongoDB
linux·windows·mongodb
Elastic 中国社区官方博客6 小时前
Elastic 和 AWS 合作将 GenAI 引入 DevOps、安全和搜索领域
大数据·数据库·elasticsearch·搜索引擎·云计算·全文检索·aws
20242817李臻6 小时前
李臻20242817_安全文件传输系统项目报告_第14周
数据库·安全
MyikJ7 小时前
Java求职面试:从Spring到微服务的技术挑战
java·数据库·spring boot·spring cloud·微服务·orm·面试技巧
betazhou7 小时前
oracle goldengate同步SQL server到SQL server的实时数据同步
数据库·mysql·oracle