MongoDB使用教程系列文章--开篇

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: 根据DB-Engines的排名统计,MongoDB综合排名第四(2016年1月数据,前三名分别是Oracle,MySQL,SQL Server),NoSQL领域(非RDBMS)里排名第一。尤其是在2015年里,一口气发布了两个大版本,3月发布了3.0版本,11月发布3.2版本。 在3.2版本中开始

根据DB-Engines的排名统计,MongoDB综合排名第四(2016年1月数据,前三名分别是Oracle,MySQL,SQL Server),NoSQL领域(非RDBMS)里排名第一。尤其是在2015年里,一口气发布了两个大版本,3月发布了3.0版本,11月发布3.2版本。
1

在3.2版本中开始突破NoSQL的枷锁,提供了Join操作,可见其并不满足于NoSQL“独角兽”的称呼,目标早已定位成NewSQL,向RDBMS发起挑战。
2

但MongoDB毕竟不是RDBMS,甚至在数据建模上有很多相反的原则,比如MongoDB更提倡反范式化。而人的惯性思维作用,是更原因相信“传统”,比如MongoDB:逐渐变得无关紧要这篇文章,作者并不习惯于使用MongoDB的文档模型,并不肯定文档模型带来的开发效率的提升,而更依赖传统数据库结构带来的沉淀,我怀疑作者对MongoDB的数据建模上还是采用着范式化结构,所以才如此依赖多文档事务,并且对MongoDB带来强烈的不满。也没有关注到最新的MongoDB已经开始采用WiredTiger存储引擎,正式步入高性能数据库行列。

还有那篇著名的讨论“Don’t use MongoDB”,这篇文章发表于11年,原文很多内容并不属实(作者承认那篇文章只是个玩笑),而且10gen(MongoDB公司之前的名称是10gen) CTO对此还进行了回复,可是直到今天,很多人还是只知前者,甚至深信不疑,在社区中反复抛出同样的观点,比如:“MongoDB会丢数据”。

造成各种个样的误解,最大的原因还是“不了解”或者说MongoDB大过于神秘,不像MySQL,Oracle已经有大量的文章,大量的解惑教程,MySQL甚至还有各种的源码分析。MongoDB社区生态上还非常年轻,相关的技术文章或者书籍还不丰富,回顾我自己学习MongoDB的过程,一方面来自官方文档,另一方面来自各种博客书籍。但内容上大部分只是叫你HOW,而不是WHY,不能知其所以然。随着云服务的起步,运维模式的变化,出现了越来越多的DEV+DBA角色,仅仅会用API,也早已跟不上时代,更多的还要做到会管。比如什么时候要建立索引?查询语句是怎么执行的?哪里会有潜在的问题?这些都是作为数据操作者应该掌握的知识。但并不是每个人都有时间从源码上一点点学习。

3

就在前几天,阿里云作为中国第一的云计算公司,正式开始提供MongoDB SAAS服务。作为MongoDB生态圈中的一员,有义务做出一个更深入的教程,MongoDB用户可以通过文章提升自身的操作管理水平,开源爱好者也可以将该列文章作为源码阅读的辅助。

系列第一部分重点在“用”好MongoDB,第二部分重点是“管”好MongoDB,第三部分是案例的收集。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL MongoDB 数据安全/隐私保护
|
2月前
|
存储 NoSQL MongoDB
MongoDB入门级别教程全(Windows版,保姆级教程)
一份全面的MongoDB入门级教程,包括在Windows系统上安装MongoDB、使用MongoDB Shell和Compass GUI进行数据库操作,以及MongoDB的基本数据类型和查询技巧。
100 2
MongoDB入门级别教程全(Windows版,保姆级教程)
|
2月前
|
存储 JSON NoSQL
MongoDB Compass 的教程
这篇文章提供了MongoDB Compass的基本使用教程,包括如何建立数据库连接、创建和删除数据库、插入和修改文档数据,以及执行聚合查询来分析和排序数据。
311 0
MongoDB Compass 的教程
|
6月前
|
NoSQL 前端开发 MongoDB
[保姆级教程]Windows安装MongoDB教程
【6月更文挑战第4天】该内容是关于MongoDB的安装包下载及安装步骤指南。首先,访问网址 <a href="https://www.mongodb.com/try" target="_blank">https://www.mongodb.com/try</a> 进入官网,选择MongoDB Community Edition(社区版)。接着,挑选合适的版本和系统平台,推荐下载zip压缩包。下载后,进行安装,依次点击“Next”同意协议,选择自定义安装路径,然后继续安装直至完成。
681 0
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
53 0
|
2月前
|
存储 JSON NoSQL
MongoDB 教程
10月更文挑战第9天
47 0
|
4月前
|
JavaScript NoSQL 前端开发
|
7月前
|
NoSQL Java 关系型数据库
Java基础教程(21)-Java连接MongoDB
【4月更文挑战第21天】MongoDB是开源的NoSQL数据库,强调高性能和灵活性。Java应用通过MongoDB Java驱动与之交互,涉及MongoClient、MongoDatabase、MongoCollection和Document等组件。连接MongoDB的步骤包括:配置连接字符串、创建MongoClient、选择数据库和集合。伪代码示例展示了如何建立连接、插入和查询数据。
|
7月前
|
存储 NoSQL MongoDB
学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
Python 需要一个 MongoDB 驱动程序来访问 MongoDB 数据库。我将使用 MongoDB 驱动程序 PyMongo 建议您使用 PIP 来安装 PyMongo。PIP 很可能已经安装在您的 Python 环境中。将命令行导航到 PIP 的位置,然后键入以下内容:
183 1
|
Kubernetes NoSQL MongoDB
k8s教程(pod篇)-使用StatefulSet搭建MongoDB集群
k8s教程(pod篇)-使用StatefulSet搭建MongoDB集群
1178 1

相关产品

  • 云数据库 MongoDB 版