默认情况下,对比事务安全,MongoDB更关注高的插入速度。如果你需要加载大量低价值的业务数据,那么
MongoDB将很适合你的用例。但是必须避免在要求高事务安全的情景下使用MongoDB,比如一个1000万美元的交易。
不可靠环境保证高可用性
设置副本集(主-从服务器设置)不仅方便而且很快,此外,使用MongoDB还可以快速、安全及自动化的实现节点
(或数据中心)故障转移。
未来会有一个很大的规模
数据库扩展是非常有挑战性的,当单表格大小达到5-10GB时,MySQL表格性能会毫无疑问的降低。如果你需要分
片并且分割你的数据库,MongoDB将很容易实现这一点。
使用基于位置的数据查询
MongoDB支持二维空间索引,因此可以快速及精确的从指定位置获取数据。
非结构化数据的爆发增长
给RDBMS增加列在有些情况下可能锁定整个数据库,或者增加负载从而导致性能下降,这个问题通常发生在表格
大于1GB(更是下文提到BillRun系统中的痛点——单表格动辄几GB)的情况下。鉴于MongoDB的弱数据结构模式,添
加1个新字段不会对旧表格有任何影响,整个过程会非常快速;因此,在应用程序发生改变时,你不需要专门的1个
DBA去修改数据库模式。
缺少专业的数据库管理员
如果你没有专业的DBA,同时你也不需要结构化你的数据及做join查询,MongoDB将会是你的首选。MongoDB非常
适合类的持久化,类可以被序列化成JSON并储存在MongoDB。需要注意的是,如果期望获得一个更大的规模,你必须
要了解一些最佳实践来避免走入误区。
非关系型数据库(NoSQL)是一种不依赖于关系模型的数据库,它提供了一种更灵活、可扩展的数据存储方式。非关系型数据库主要包括以下几类:
列存储型数据库:这种数据库通常把数据存储在一列中,并支持快速的列计算和分布式计算。它适用于处理海量的结构化数据,比如日志、传感器数据等。
文档型数据库:这种数据库通常把数据存储在文档中,并支持对数据的灵活查询和复杂的聚
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)