MongoDB - 引子

MongoDB知识图谱

在网上看了半天,感觉可能学习MongoDB的官方文档会比较好一点。
知识图谱

MongoDB简介

MongoDB是一个文档型数据库(document database)。它存储数据的数据结构(文档)是一个Key-Value Pair的集合,其中Value也可以是一个数组,一个其他的文档,或者文档的数组,如下图。这样的数据结构的好处,一个是扩展性好,如增加一个Key-Value对;这样的结构可以减少join操作;这样的数据结构其实也符合很多编程语言中的数据结构模型。
document-type

如果说MySQL里面的一条数据(row)就对应MongoDB里面一个文档(Document,Key-Value的一个集合),那么MySQL里table的概念,就对应着MongoDB里面collection的概念。同一个collection里面的document不要求具有一致的结构(schema),即他们可以有不同的key,相同的key也可以对应不同的数据类型(从MongoDB 3.2之后也可以自己去设置限制他们结构一致)。每一个Collection是有一个UUID的,且这个UUID在所有复制集上和分片上是一致的。db.getCollectionInfos()可以看到这个UUID。

Document

除此之外MongoDBh还提供了 Read-only ViewsOn-Demand Materialized Views

为什么使用MongoDB?

👍性能很好,IO操作少,索引支持的查询很快
👍 查询语句多样化,包括各种数据聚合,文本搜索和地理空间数据查询
👍高可用,提供复制集(replica set),自动的failover和数据备份能力
👍水平扩展能力强,通过分片提供分布式数据存储
👍支持插件化的存储引擎,和MySQL很像,如WiredTiger,In-Memory Storage Engine

一些会学到的概念:

todo

posted @ 2022-02-18 14:32  rachel_aoao  阅读(26)  评论(0编辑  收藏  举报