`

MongoDB数据库之海量存储机制

阅读更多

 

GridFS是一种将大型文件存储在MongoDB数据库中的文件规范。

一、如何实现海量存储

由于mongodb中的bson对象大小是限制的,所以gridfs规范提供了一种透明的机制,可以将一个大文件分成多个较小的文件。这样的机制允许有效地保存大文件的对象,特别是哪些巨大的文件,比如视频,高清图片;该规范指定了一个将文件分块的标准,每个文件都在集合对象中保存一个元数据对象,一个或多个块对象可被组合在一个chunk块集合中。mongodb中主要是利用mongofiles工具。

Grifs使用两个表来存储数据:

Files(包含元数据对象)

chunks(抱哈你一些相关信息的二进制块)

为了使多个gridfs命名为一个单一的数据库,文件和块都有一个前缀。默认情况下,前缀是fs.所以任何默认的gridfs存储将包括命名空间fs.files和fs.chunks。

二、命令行工具

mongofiles是从命令行操作gridfs的一种工具,例如将“testfile”这个文件存到数据库里面,可以执行如下操作。首先咱们整体认识一下mongofiles:
 
实例存放文件到数据库中
 
 
db.fs.files.find()参数说明:
 
filename:储存文件的名称;
chunksize:chunks的大小
uploaddate:入库时间
md5:文件的md5码
length:文件的大小(单位:字节)
 
db.fs.chunks.find()参数说明:
n:代表chunks的序号,此序号是从0开始;
data字段就是实际存储的数据
 
从数据库取出来数据:
[html] view plain copy
 
  1. D:\Program Files\mongodb\bin>mongofiles get test.txt  
  2. connected to: 127.0.0.1  
  3. done write to: test.txt  

gridfs文件也可以创建索引,一个块就可以利用它file_id和n的值来进行检索。

 

http://blog.csdn.net/sxb0841901116/article/details/41733805

分享到:
评论

相关推荐

    大数据下MongoDB数据库档案文档存储去重研究.pdf

    ##### 2.1 MongoDB的存储机制 MongoDB是一种模式自由的NoSQL数据库,其存储结构分为三个层次:数据库层、集合层以及文档对象层。这些层级分别对应于传统关系数据库中的数据库、表和记录。MongoDB采用内存映射的方式...

    腾讯云-MongoDB云数据库平台概述.pdf

    该平台基于MongoDB数据库管理系统,支持海量数据存储和处理,适合大规模数据应用场景。 产品特点 MongoDB云数据库平台的特点包括: * 高效:MongoDB云数据库平台提供了高性能的数据存储和处理能力,满足大规模数据...

    爬虫开发阶段-爬虫基础-MongoDB数据库-爬虫Scrapy框架和案例.zip

    在爬虫开发中,MongoDB数据库和Scrapy框架是两个重要的工具,它们分别负责数据的存储和抓取。本文将详细讲解这两个知识点以及如何结合使用它们。 首先,让我们了解一下MongoDB。MongoDB是一款非关系型数据库(NoSQL...

    MongoDB数据库:MongoDB与微服务架构集成

    - **跨服务共享数据库**:某些情况下,可以考虑让多个相关的微服务共享同一个MongoDB数据库,但需要合理规划数据库设计,避免数据冲突。 **3.3 示例代码** 下面是一个使用Python的pymongo库连接MongoDB的例子,...

    MongoDB数据库平台应用方案.pdf

    MongoDB数据库平台为字节跳动提供了应对业务挑战的坚实基础,它以其灵活的数据模型、强大的扩展能力和对半结构化数据的良好支持,满足了公司在快速变化的互联网环境中对数据存储和处理的需求。同时,通过与其他...

    远古封神Server(erlang源码)+文档+mongodb数据库

    本文将深入探讨"远古封神Server"项目,这是一个采用Erlang编程语言构建的游戏服务器,搭配MongoDB数据库来实现高效的数据存储和处理。Erlang以其并发能力、容错性和分布式特性在实时系统和大规模并发应用中得到了...

    MongoDB数据库

    MongoDB是一种流行的开源、分布式文档型数据库,设计用于处理海量数据并提供高可用性和高性能。它的特点是使用JSON格式的数据存储,支持丰富的查询语言,以及自动分片和复制,使其成为现代Web应用程序的理想选择。 ...

    mongodb64芒果数据库

    1. 文档型数据库:MongoDB存储数据以JSON-like文档形式,这种格式易于理解和处理,特别适合半结构化或非结构化数据。 2. 分布式架构:MongoDB设计为分布式系统,可以跨多个服务器、数据中心或云环境部署,支持水平...

    mongoDB部署.doc

    MongoDB是一种分布式文档数据库,...Mongo Shell提供了一个便捷的接口,让用户能够直接与MongoDB数据库进行交互。在实际应用中,根据业务需求,还可以利用MongoDB的复制集和分片特性构建高可用和可扩展的数据存储系统。

    基于MongoDB的分布式地质灾害数据存储策略.pdf

    MongoDB作为NoSQL数据库,其非结构化和灵活的数据存储方式,以及高效的存储和读取特性,非常适合用于存储和管理大量的地质灾害数据。通过自动分片和分布式部署,为海量地质灾害数据的存储和管理提供了解决思路。 ##...

    基于MongoDB的高可用性分布式数据库集群技术研究.pdf

    在参考文献中提到的云计算环境下对Web数据挖掘技术的研究,以及对海量数据挖掘的优化方法探讨,都与MongoDB作为数据存储和处理的工具紧密相关。这些研究可能涉及如何在大规模数据集上有效地应用MongoDB,以及如何...

    海量数据匹配 数据库

    在处理海量数据时,关系型数据库如MySQL、PostgreSQL,或者非关系型数据库如MongoDB、HBase,都会被广泛使用。这些数据库系统通常具备强大的索引机制和查询语言,如SQL,来支持高效的查询操作。 接着,我们来看看...

    MongoDB+mongochef

    它提供了一个直观的用户界面,帮助开发者和数据库管理员更方便地与MongoDB数据库交互。MongoChef支持多种功能,包括连接到MongoDB实例、查看和编辑数据、运行查询、创建和管理索引,以及监控数据库性能。 在MongoDB...

    海量数据库设计与实践

    综上所述,海量数据库设计与实践涉及多方面的知识和技术,包括但不限于数据分片与分区、数据库架构选择、数据建模、存储与访问策略以及安全防护。随着数据规模的持续增长,理解和掌握这些知识将对企业在大数据时代的...

    mongodb下载

    MongoDB是一种流行的开源、分布式文档型数据库,设计用于处理海量数据并提供高可用性和可扩展性。它在数据库领域属于NoSQL(Not Only SQL)阵营,即非关系型数据库,但其设计理念使得它在功能上接近关系数据库系统,...

    MongoDB开发使用手册

    - 随着互联网用户的快速增长和用户行为的变化,传统的关系型数据库在处理高并发读写操作、海量数据存储以及提供高可用性和高扩展性方面遇到了挑战。 - NoSQL(Not Only SQL)数据库应运而生,以解决这些挑战。 - ...

    MongoDB权威指南(中文版)

    《MongoDB权威指南》是一本全面深入探讨MongoDB数据库系统的专著,中文版的发布使得国内用户能够更方便地学习和理解这一强大的NoSQL数据库。MongoDB作为一种分布式文档型数据库,近年来在处理大规模数据存储和高并发...

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

    阿里云专有云企业版V3.7.1云数据库MongoDB版技术白皮书是针对阿里云提供的MongoDB数据库服务的详细技术指南。MongoDB是一款流行的开源、高性能、无模式的分布式文档型数据库,常用于处理大规模数据的场景。在专有云...

    3.1.1_非关系型数据库mongodb及其搭建1

    3. **大数据量**:当MySQL等关系数据库因数据量过大而性能下降时,MongoDB的分片机制可以实现水平扩展,应对大数据需求。 4. **高可用性**:MongoDB支持副本集,实现自动主从切换,确保服务的连续性。 **MongoDB的...

Global site tag (gtag.js) - Google Analytics