MongoDB 简介(官方文档翻译)

  MongoDB 是一个开源的文档型数据库,它有着高性能,高可用性和自动扩展的优点。

文档型数据库(Document Database)

  在 MongoDB 中的一条记录就是一个以多个键值对形式的数据结构组成的一个文档。 MongoDB 中的文档类似于数个 JSON 对象。其中键所对应的值也可能包含其它的文档、数组或者数组文档。

{
    name: "sue",                          <---- field:value
    age: "26",                               <---- field:value
    status: "A",                             <---- field:value
    groups: [ "news", "sports"]     <---- field:value
}

使用文档的优势体现在:

  • 文档(也就是对象)对应于许多编程语言中的本地数据类型;
  • 在嵌入文档和数组方面减少了高成本的耗费;
  • 动态的模式支持流畅的数据多样性

主要特性

高性能

  MongoDB 提供了高性能的数据持久化。尤其是,

  • 在嵌入数据模型时对减少数据系统 I/O 活动的支持;
  • Indexes 支持更快的查询,并且可以包含嵌入的文档和数组中的键。

丰富的查询语言

  MongoDB 为读写操作(CRUD)提供了丰富的查询语言,比如:

高效性

  MongoDB 的同步复制功能,也称为 replica set 复制集,提供如下功能:

  • 自动故障转移
  • 数据冗余

一个复制集 replica set 就是一组维护相同数据集的 MongoDB 服务器,它提供了冗余度并提高了数据可用性。

Horizontal Scalability 水平可扩展性

  MongoDB 的水平扩展性是它提供的一项核心功能:

支持多种数据存储引擎

  MongoDB 支持多种数据引擎,比如:

另外,MongoDB 提供了可插拔式的数据存储引擎 API,它允许第三方为 MongoDB 继续开发存储引擎。

时间: 2024-10-08 06:25:05

MongoDB 简介(官方文档翻译)的相关文章

PHP与MongoDB简介|安全|M+PHP应用实例详解_php技巧

一.MongoDB简介MongoDB (名称来自"humongous") 是一个可扩展的.高性能.开源.模式自由.面向文档的数据库,集文档数据库.键值对存储和关系型数据库的优点于一身.官方站点:http://www.mongodb.org/,MongoDB特点: •面向文档存储(类JSON数据模式简单而强大)•动态查询•全索引支持,扩展到内部对象和内嵌数组•查询记录分析•快速,就地更新•高效存储二进制大对象 (比如照片和视频)•复制和故障切换支持•Auto-Sharding自动分片支持

《Spring Data 官方文档翻译》preface到2.requirements

Table of contents for 10 <Spring Data 官方文档翻译>preface到2.requirements 原文链接 前言 Spring Data Cassandra项目将核心Spring概念应用于使用Cassandra Columnar数据存储的开发解决方案. 我们提供了一个"模板"作为高级抽象用于存储和查询文档. 你会注意到其与Spring框架中的JDBC支持的相似之处. 1. 项目元数据 版本控制 – https://github.com/

Log4j官方文档翻译(九、输出到数据库)

log4j提供了org.apache.log4j.JDBCAppender对象,可以把日志输出到特定的数据库. 常用的属性: bufferSize 设置buffer的大小,默认是1 driver 设置数据库的驱动字符串,比如sun.jdbc.odbc.OdbcDriver layout 设置使用的layout,默认是org.apache.log4j.PatternLayout password 设置数据的密码 sql 设置每次日志产生的时候执行的sql语句,可以是INSERT,UPDATE,DE

Log4j官方文档翻译(一、基本介绍)

log4j是使用java语言编写的可靠的.快速的.灵活的日志框架,它是基于Apache的license. log4j支持c,c++,c#,perl,python,ruby等语言.在运行时通过额外的配置文件配置,提供不同的日志级别以及多种日志输出种类,比如数据库,文件,控制台,syslog等等. log4j有三个主要部分: loggers 负责捕获日志信息 appenders 负责输出信息到不同的目的地 layouts 负责使用不同的样式输出日志 log4j的特性: 线程安全 优化速度 基于命名的

Log4j官方文档翻译(二、架构设计)

log4j遵循层次化架构,每个层都有不同的对象来执行不同的任务.这种层次话的结构灵活设计.易于未来的扩展. log4j框架中有两种对象: 核心对象:框架的支撑对象,是框架必不可少的组成部分. 支撑对象:这些是框架可选的对象,用于提供额外重要的工作. 核心对象包括下面几种类型: logger对象,是最高的层,负责通过不同的风格转化日志信息.它提供给appender对象发布前的信息.(这里的层是指所处的位置) layout对象,用于提供格式化日志信息的风格,在发布日志信息前,使其变得可读.可重用.

Log4j官方文档翻译(三、配置)

之前的章节介绍了log4j的核心组件,本章将会通过配置文件介绍一下核心组建的配置. 主要在配置文件中配置log4j的日志级别,定义appender.layout等. log4j.properties是log4j的配置文件,它采用键值对的方式定义. 默认情况下,logManager对象会在CLASSPATH目录下寻找log4j.properties. 先看看基本的配置模板 # Define the root logger with appender X log4j.rootLogger = DEB

Log4j官方文档翻译(六、日志的级别)

org.apache.log4j.Level 类提供了下面几种日志级别,你也可以通过继承这些类,自定义级别 ALL 所有日志级别都包括 DEBUG 指定信息事件的粒度是DEBUG,在调试应用的时候会有帮助 ERROR 指定错误事件,并且这些事件还会保证应用继续运行 FATAL 指定严重的错误事件,该事件会导致应用暂停 INFO 指定信息消息,强调应用粗粒度的运行情况 OFF 最高等级,相当与关闭了日志 TRACE 指定比DEBUG更细粒度的调试日志 WARN 输出具有潜在风险的信息 如何使用不同

Log4j官方文档翻译(五、日志输出的方法)

日志类提供了很多方法用于处理日志活动,它不允许我们自己实例化一个logger,但是提供给我们两种静态方法获得logger对象: public static Logger getRootLogger(); public static Logger getLogger(String name); 第一种方法返回应用实例的根logger,它没有名字. 第二种方法可以通过名字获得日志对象logger,类的名字是你传递的class的名字,通常是一个class的类名或者包名.static Logger lo

Log4j官方文档翻译(四、如何在java中输出日志消息)

我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/home/log4j log4j.rootLogger = DEBUG, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out log4j.appender.FILE.l

Log4j官方文档翻译(七、日志格式化)

apache log4j提供各种layout对象,然后根据自己指定的layouts对象转化日志信息.通常来说都是应用量身定制layout对象转换信息格式. 所有的layout对象从Appender对象中接收一个LoggingEvent对象.然后通过LoggingEvent对象解析信息,再通过合适的ObjectRenderer获得相应的字符串. Layout类型 最顶层的抽象类是org.apache.log4j.Layout,这是log4jAPI中layout的基类. Layout类定义为一个抽象