一、MongoDB
概念:由C++编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务性能。
目的:旨在为WEB应用提供可扩展的高性能数据存储解决方案。
形式:MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段可以包含其他文档,数组及文档数组。
主要特点:
1.MongoDB提供了一个面向文档存储,操作起来比较简单和容易。
2.你可以在MongoDB记录中设置任何属性的索引(如:firstName = “Sumer”,Address = "8 geri road").
3.可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展。
4.如果负载增加,它可以分布在计算机网络中的其他节点上。这就是所谓的分片。
5.MongoDB支持丰富的查询表达式。查询指令用JSON的形式标记,可轻易查询文档中内嵌的对象及数组。
6.MongoDB使用update()命令可以实现替换完成的文档或者一些指定的数据字段。
7.MongoDB中的Map/reduce主要用来对数组进行批量处理和聚合操作。
8.map和Reduce。map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给reduce函数进行处理。
9.map函数与reduce函数是JavaScript编写的,可以通过db.runCommand或Mapreduce命令来执行MapReduce操作。
10.gridFS是MongoDB的一个内置功能,可以存放大量小文件。
11.MongoDB允许在服务端执行脚本,可以用javascript编写某个函数,直接在服务端执行,也可以把函数定义存储在服务端,下次直接调用。
12.ongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
13.MongoDB安装简单。