MongoDB由C++语言编写,基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富、最像关系数据库的。MongoDB支持的数据结构非常松散,是类似JSON的BSON格式,因此可以存储比较复杂的数据类型。
MongoDB的功能特点
- 面向文档存储:MongoDB不采用传统的表格形式存储数据,而是以BSON(Binary JSON)格式存储文档(类似于JSON的对象),允许灵活的、类似JSON的结构化数据模型。
- 模式自由:MongoDB无需预先定义数据模式,能够轻松应对不断变化的应用程序需求。
- 高性能:MongoDB具有高性能的读写能力,适用于大数据量、高并发访问的场景。
- 水平扩展:通过分片(Sharding)技术,MongoDB可以分布到多个服务器,从而提高读写吞吐量和数据存储容量。
- 自动故障恢复与复制集:MongoDB提供复制集(Replica Sets)功能,用于数据备份和自动故障转移,确保高可用性。
- 丰富的查询语句:MongoDB支持丰富的查询表达式,包括地理空间索引和范围查询等,其查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能。
- GridFS:MongoDB内置了大文件存储系统GridFS,可以有效地存储和检索大于BSON文档大小限制的大文件。
- 多语言支持:MongoDB支持Golang、RUBY、PYTHON、JAVA、C++、PHP、C#等多种语言。