`
yangzb
  • 浏览: 3502417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分布式文档存储数据库MongoDB

阅读更多
http://www.oschina.net/p/mongodb MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 他支持的数据结构非常松散,是类似jsonbjson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储 ,易存储对象类型的数据。
  • 模式自由
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)
  • 可通过网络访问

所谓“面向集合”(Collenction- Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里
存储在集合中的文档,被存储为键-值对的形式 。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON (Binary Serialized dOcument Format)。

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。

MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件 进行管理。

开发语言: C/C++
操作系统: Mac OS Linux Windows
项目主页: http://www.mongodb.org/
文档地址: http://www.mongodb.org/display/DOCS/International+Documentation
下载地址: http://www.mongodb.org/display/DOCS/Downloads
收录时间: 2009年11月26日

http://www.infoq.com/cn/news/2009/09/mongodb 无模式数据库MongoDB 1.0版发布(作者 赵劼 发布于 2009年9月3日 上午6时28分) Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发,提供了以下功能:

  • 面向集合的存储:适合存储对象及JSON 形式的数据。
  • 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
  • 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。
  • 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。
  • 自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。 根据官方网站的描述 ,Mongo适合用于以下场景:

  • 网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。
  • 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
  • 高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
  • 用于对象及JSON数据的存储:Mongo的BSON 数据格式非常适合文档化格式的存储及查询。

自然,MongoDB的使用也会有一些限制,例如它不适合

  • 高度事务性的系统 :例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
  • 传统的商业智能应用 :针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
  • 需要SQL的问题

MongoDB支持OS X、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。如果您对MongoDB感兴趣,可访问其官方网站 了解更多信息。

分享到:
评论
2 楼 yangzb 2010-04-07  
BSON — Binary Serialized dOcument Format
1 楼 phnessu4 2010-04-06  
什么是bjason...有这么种东西么??

相关推荐

    分布式文档存储数据库mongodb1

    分布式文档存储数据库 MongoDB MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较...

    mongoDB分布式文件存储的数据库

    MongoDB是一种基于分布式文件存储的开源数据库系统,它在处理大量数据时表现出高效、可扩展性和高可用性。MongoDB采用JSON(JavaScript Object Notation)文档格式存储数据,这种格式灵活且易于理解,使得它在大数据...

    分布式存储数据库MongoDB教程

    ### 分布式存储数据库MongoDB教程 #### MongoDB简介 MongoDB是一种分布式的文件存储数据库,由C++语言编写,主要用于为Web应用提供一种高度可扩展且高性能的数据存储解决方案。它处于传统的关系型数据库与新兴的...

    阿里云 专有云Enterprise版 云数据库MongoDB版 V3.3.0 技术白皮书 20180312.pdf

    * 文档存储:云数据库MongoDB版支持文档存储,能够存储大量的半结构化数据。 * 键值存储:云数据库MongoDB版支持键值存储,能够提供高性能的键值存储服务。 * 图形存储:云数据库MongoDB版支持图形存储,能够存储...

    基于分布式文件存储的数据库:MongoDB-win32-x86_64

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。...MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。

    mongodb中文API及分布式分片实例详解

    MongoDB是一种流行的开源、文档型数据库系统,以其灵活性、高性能和可扩展性而备受赞誉。在本篇中,我们将深入探讨MongoDB的中文API以及如何实施分布式分片,旨在帮助开发者更好地理解和应用这一强大的数据库技术。 ...

    数据库mongodb的软件

    MongoDB是一款分布式文档型数据库,近年来在IT行业中备受青睐,尤其在大数据处理和实时应用程序领域。作为NoSQL数据库的一种,它以JSON格式的文档作为数据存储单元,支持丰富的查询语句,提供了高可用性、可扩展性和...

    NoSQL主流数据库-MongoDB.pptx

    MongoDB 是一个基于分布式文件存储系统的开源数据库,属于 NoSQL 数据库家族的第三种类型。 MongoDB 的存储格式为 BSON(Binary Serialized Object Notation),类似于 JSON 格式。这使得 MongoDB 能够轻松地存储和...

    MongoDB(分布式文件存储的数据库)

    MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像...

    NoSQL数据库MongoDB基础学习

    "NoSQL数据库MongoDB基础学习" MongoDB 是一种基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非...

    阿里云 专有云企业版 V3.6.0 云数据库MongoDB版 技术白皮书 - 20180824.pdf

    * 阿里云专有云企业版云数据库MongoDB版的技术架构基于分布式数据库系统,提供高可用性、高性能和高安全性的数据库服务。 * 该系统由多个组件组成,包括数据节点、主节点、从节点、数据存储节点等。 二、功能特性 ...

    非结构化数据库MongoDB的数据存储.pptx

    非结构化数据库MongoDB的数据存储 一、MongoDB的基本概念和特点 MongoDB是一种基于分布式文件存储的数据库,它采用NoSQL(Not Only SQL)架构,以文档为单位进行数据存储。与传统的关系型数据库相比,MongoDB具有...

    数据库mongodb操作辅助类,可操作集合,操作文件,可自定义文件存储桶

    在本示例中,"数据库mongodb操作辅助类" 提供了一种方便的方式来与MongoDB进行交互,尤其是针对集合(collections)和文件的管理。这个辅助类(helper class)可能包含了诸如插入、查询、更新和删除数据等基本操作,...

    阿里云 专有云Enterprise版 云数据库MongoDB版 V3.1.0 产品简介 20171129.pdf

    * MongoDB是一种基于分布式文件存储的NoSQL数据库。 * MongoDB支持数据水平扩展、自动故障转移和数据复制等特性。 四、云数据库MongoDB版产品简介 * 云数据库MongoDB版是阿里云提供的一种基于云计算的MongoDB...

    MongoDB在京东的使用

    MongoDB是一种分布式文档数据库,以其灵活性、高性能和可扩展性在现代互联网应用中备受青睐,尤其是在像京东这样的大型电商平台中。本文将深入探讨MongoDB在京东的使用情况,包括其核心特性、部署策略以及如何应对...

    分布式数据库课程知识体系扩展探索(英文).pdf

    MongoDB是一种流行的分布式文档存储数据库,属于NoSQL数据库的一种,它具有灵活的数据模型、高可用性和可扩展性。在传统的分布式数据库课程中,通常关注的是基于关系模型的系统,而MongoDB的引入可以为学生提供更...

    云数据库MongoDB监控指标解读与关注.pdf

    云数据库MongoDB是一种广泛使用的NoSQL数据库,以其灵活的文档模型和高性能而著称。为了确保MongoDB数据库的稳定性和高效性,对其监控指标的解读和关注显得尤为重要。本文档将从以下几个方面进行详细介绍: 1. ...

Global site tag (gtag.js) - Google Analytics