MongoDB 入门:特性、哲学与应用场景
1. 引言
想象一个使用数据库极其简单的世界,你甚至会很快忘记自己在使用它;想象一个速度和可扩展性自然实现,无需复杂配置的世界;想象你能专注于手头任务,高效完成工作后按时下班。MongoDB 就承诺能帮你实现这些,甚至更多。
MongoDB 是一种相对较新的数据库,它没有传统的表、模式、SQL 或行的概念,也不具备事务、ACID 合规性、连接、外键等常让人头疼的特性。这使它与你可能熟悉的关系型数据库管理系统(RDBMS)截然不同。
2. MongoDB 哲学
2.1 选对工具做对事
MongoDB 的核心哲学之一是“一刀切”不可行。多年来,传统关系型(SQL)数据库被用于存储各种类型的数据,无论数据是否适合关系模型。这部分是因为读写数据库通常比读写文件系统更简单、更安全。
但 MongoDB 团队决定不创建一个试图满足所有人所有需求的数据库。他们想打造一个基于文档而非行的数据库,它要速度极快、高度可扩展且易于使用。为此,团队舍弃了一些特性,这意味着 MongoDB 并非适用于所有情况。例如,由于缺乏事务支持,不适合用于编写会计应用。不过,它可能非常适合该应用的某些部分,如存储复杂数据。混合解决方案很常见,像《纽约时报》网站就采用了这种方式。
一旦你接受 MongoDB 不能解决所有问题的观点,就会发现它能完美解决某些特定问题,如分析(类似网站的实时谷歌分析)和处理复杂数据结构(如博客文章和评论)。
2.2 多副本保障
MongoDB 设计的另一个关键概念是数据库应始终有多个副本。如果单个数据库出现故障,可以
超级会员免费看
订阅专栏 解锁全文
855

被折叠的 条评论
为什么被折叠?



