Java从入门到精通——数据库篇Mongo DB GridFS文件系统

一、概述

   GridFS是MongoDB的一种存储机制,用来存储大型二进制文件。

优点:

1.使用GridFS能够简化你的栈。如果已经在使用MongoDB,那么可以使用GridFS来代替独立的文件存储工具

2.GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片,所以对文件存储做故障转移或者横向扩展会更容易。

3.当用于存储用户上传的文件时,GridFS可以比较从容地解决其他一些文件系统可能会遇到的问题。

4.在GridFS中,文件存储的集中度会非常高,因为MongoDB是以2G为单位来分配数据文件。

缺点:

1.GridFS的性能比较低:从MongoDB中访问文件,不如直接从文件系统中访问文件速度快

2.如果要修改GridFS上的文档,只能先将已有文件删除,然后再将整个文档重新保存。

   GridFS使用最简单的方式是使用mongofiles工具,所有Mongo DB发行版中都包含了mongofiles这个工具,可以用它在GridFS中上传文件、下载文件、查看文件列表、搜索文件、以及删除文件。下面就为大家演示一下。

二、代码演示。

2.1上传一个文件

mongofiles -d foobar -l "E:\a.txt" put "a.txt"

2.2查看文件列表

db.fs.chunks.find() 和db.fs.files.find() 存储了文件系统的所有文件信息

2.3查看所有文件

mongofiles -d foobar list

2.4删除存在的文件

mongofiles -d foobar delete ‘a.txt‘

三、总结。

GridFS系统为我们再用MongoDB存储很大的数据文件提供了一个很高效的系统

时间: 2024-08-06 02:47:48

Java从入门到精通——数据库篇Mongo DB GridFS文件系统的相关文章

Java从入门到精通——数据库篇Mongo DB 导出,导入,备份

一.概述    本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的.    在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出.    MongoDB的导出非常简单打开cmd 输入下面命令    mongoexport -d foobar -c persons -o D:/persons.json    如果要导入其他主机的数据库文档则这样写    mongoexport --host 192.168.0.16 --port 37017 三.导入  

Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解

一.概述     Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB     http://www.mongodb.org/downloads    点击上面链接下载Mongo DB 2.解压Mongo DB 3.配置环境变量 4.检查Mongo DB安装是否成功    Cmd mongo -version 三.启动及其配置详解 启动Mongo DB需要三个文件 M

Java从入门到精通——工具篇SVN与Git比较

一.概述 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目 SVN是一款集中式的版本控制系统,现在大多数公司都在用. 二.区别. 三.总结 通过对Git的学习和使用,在于SVN进行对比这两种版本控制工具各有千秋,关键是看我们在实际的代码管理中那一种方式的管理更优一些.

数据库篇Mongo DB 导出,导入,备份

http://d.pcpop.com/diy/Diy8446259.html http://d.pcpop.com/diy/Diy8446261.html http://d.pcpop.com/diy/Diy8446262.htmlhttp://oversea.edeng.cn/xinxi/179728845.html http://oversea.edeng.cn/xinxi/179728801.html http://oversea.edeng.cn/xinxi/179728690.html

Java从入门到精通pdf电子版

Java从入门到精通pdf电子版 链接:https://pan.baidu.com/s/1nzy8LV6d2_qAD3oKS-Fj9Q 提取码:at3x 简介: <Java从入门到精通>从初学者小白角度出发,通过通俗易懂的白话语言.丰富多彩的实战实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术和技能,让你在编程开发中越走越远 目录 · · · · · · 第一篇 基础篇 第1章 Java概述 第2章 Java基本语言 第3章 控制流程语句 第4章 数组 第二篇 面向对象 第5章

《JAVA 从入门到精通》 - 正式走向JAVA项目开发的路

以前很多时候会开玩笑,说什么,三天学会PHP,七天精通Nodejs,xx天学会xx ... 一般来说,这样子说的多半都带有一点讽刺的意味,我也基本上从不相信什么快速入门.我以前在学校的时候自觉过很多门语言,但基本都只是了解了一个大概,入门肯定也算不上了.顶多也就能吹吹牛,说几个大的概念而已. 公司最近转型,决定抛弃PHP了,我们的出路是:要么H5,要么JAVA,要么走人.纠结了一段时间后,决定还是转JAVA了. 当一个人在自己熟悉的领域的时候,好像说什么都很有自信,都觉得自己是对的.那时候我们的

SaltStack 入门到精通 - 第一篇: 安装SaltStack

实际环境的设定: 系统环境: centos6 或centos5 实验机器: 192.168.1.100 软件需求: salt 套件,及其需求环境 实验目的: 成功安装salt,并实现salt主从间通讯 特殊设置: 其它目的: 安装SaltStack(下面简称为salt) epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包 # centos5 下载下面rpm  wget -O    epel.rpm https://dl.fedoraproject.org/pu

Java入门到精通——框架篇之Hadoop概述

一.Hadoop来历 Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明了倒排索引算法,通过加入了Map-reduce的思想来计算Page Rank,通过不断的演变Google带给我们了GFS.Map-Reduce.Bigtable这三大的关键技术和思想.由于Google的这些技术没有开源代码.有个人就模仿Google实现了类似Google全文搜索功能的框架Lucene,它提供了全文检索引擎的架构,包

Java入门到精通——基础篇String StringBuffer StringBuilder性能PK

一.概述 字符串的处理在java中我们经常要用到java提供了三个类来提供对字符串的操作,String,StringBuffer,StringBuilder String:固定长 StringBuffer:不固定长线程安全 Stringbuilder:不固定长线程不安全 二.性能PK 1.创建超大字符串. 代码: public class StringOne { public static void main(String[] args) { String str=""; String