MongoDB:革新数据库的探索与实践
1. MongoDB简介
想象一下,使用数据库变得如此简单,以至于你很快就会忘记自己在使用它;速度和可扩展性自然实现,无需复杂的配置或设置;你能专注于手头的任务,完成工作后还能按时下班。MongoDB就承诺能帮助你实现这些。
MongoDB是一种相对较新的数据库,它没有表、模式、SQL或行的概念,也没有事务、ACID合规性、连接、外键等常让人头疼的特性。与传统的关系型数据库管理系统(RDBMS)截然不同。
2. MongoDB的哲学理念
2.1 选择合适的工具
MongoDB的核心哲学理念之一是“一刀切”并不适用。多年来,传统的关系型(SQL)数据库被用于存储各种类型的数据,无论数据是否适合关系模型。虽然使用数据库存储数据比写入文件系统更简单、更安全,但开发者常常需要违背数据库的设计初衷来工作。
MongoDB团队决定创建一个基于文档而非行的数据库,它速度极快、可大规模扩展且易于使用。这意味着MongoDB在某些情况下并非理想选择,例如由于缺乏事务支持,不适合编写会计应用。但它可能非常适合存储复杂数据,而且可以与传统的RDBMS结合使用,形成混合解决方案,如《纽约时报》网站就采用了这种方式。
一旦你接受MongoDB可能无法解决所有问题的观点,就会发现它非常适合解决某些特定问题,如分析(类似于网站的实时谷歌分析)和处理复杂的数据结构(如博客文章和评论)。
另一个关键概念是数据库应该始终有多个副本。如果单个数据库出现故障,可以从其他服务器恢复。由于MongoDB追求极致速度,在崩溃恢复方面采取了一些捷径,但开发者认为严重崩溃通常会导致整
超级会员免费看
订阅专栏 解锁全文
5373

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



