MongoDB是一个通用的、基于文档的、分布式的数据库,适用于现代应用开发、云时代的的相关开发工作。它被数百万的开发者所使用,去完成世界上最具创新性的产品和服务。
作为一个编码者,考虑面向对象,现在数据库也如此
MongoDB是一个文档数据库,它存储类似于JSON格式的文档。这是考虑数据最自然的方式,比传统的行/列模式更具有表现力,更加强大。
丰富的JSON文档
它是更自然更高效使用数据的方式。
支持数组和嵌套对象作为值。
允许灵活的、动态的schemas
强大的查询语言
丰富而具有表现力的查询语言,允许你去过滤和排序任意字段,无论它在文档中的嵌套程度如何。
支持聚合和其它的现代使用场景,如基于地理位置的搜索、图形搜索和文本搜索。
查询本身就是JSON,因此很容易组合。不再连接字符串去动态生成SQL查询。
支持关系型数据库的所有功能,甚至更多
所有的ACID事务。
原子性(Atomic)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
支持查询中各种join连接。
两种类型的关系而不是一种:引用和嵌入
MongoDB Atlas全球云数据库
MongoDB Atlas是适用于现代应用程序的全球云数据库,默认是分布式的和安全的。在AWS、Azure和Google云上作为数据管理服务提供。它是为那些宁愿花时间构建应用程序而不是管理数据库的敏捷团队而构建。
AWS - 亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。AWS面向用户提供包括弹性计算、存储、数据库、物联网在内的一整套云计算服务,帮助企业降低IT投入和维护成本。
Azure - 云服务是一个灵活的企业级公有云平台,提供数据库、云服务、云存储、人工智能互联网、CDN等高效、稳定、可扩展的云端服务。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。可以存储比较复杂的数据类型,支持的查询语言非常强大,其语法有点类似于面向对象的查询语言。几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB服务端可运行在Linux、Windows或Mac os x平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。