作者:幻好
来源:恒生LIGHT云社区
前言
现在大多数企业级计算机系统,通过关系型数据库(RDMBS
)来存储数据。而在某些业务场景中需要系统能够更快的响应,由于对关系数据库性能的考虑,需要通过更好的方案对其进行优化,于是就有人提出了非关系型数据库的概念(NoSQL
)。
NoSQL
是一项全新的数据库革命性运动,用于超大规模数据的存储。(例如谷歌或 Facebook 每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
MongoDB 是一个功能丰富的 NoSQL
数据库,本文整理了它最常用的部分形成了这篇入门教程,希望对大家有所帮助。
基本概念
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的数据库。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON
对象。字段值可以包含其他文档,数组及文档数组。
{
"name": "JacK",
"class": "一班",
"age": 19,
}
主要特点
- MongoDB 支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
- Mongo 支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
- Mongodb 中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
- MongoDB 允许在服务端执行脚本,可以用J