zoukankan      html  css  js  c++  java
  • 数据的存储方式:对象存储、文件存储、块存储

    存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构

    1. 对象存储(Object Storage)

      主要操作对象是对象。其结合了文件存储和块存储的优点,读写不满的同时,也利于共享。

      对象存储将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。

    这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。

      最早出现在亚马逊2006年推出的S3(Simple Storage Service),简单存储服务

    2. 文件存储

      主要操作对象是文件和文件夹。其读写慢,但利于共享。

      比如FAT32,电脑硬盘存储

      FAT32这种文件系统,是直接将一份文件的数据与metadata一起存储的,存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假设文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据/metadata的。而每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。

      这种情况下读写速率很慢,因为就算你有100个机械手臂在读写,但是由于你只有读取到第一个块,才能知道下一个块在哪里,其实相当于只能有1个机械手臂在实际工作。

    3. 块存储

      主要操作对象是磁盘。其读写快,但不利于共享。

      数据直接隐射磁盘上,比如数据库

  • 相关阅读:
    Spring MVC国际化
    cvc-complex-type.2.3: Element 'beans' cannot have character [children]
    jstl fmt
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
    eclipse 使用tomcat7.0建立Dynamic Web Project 时 web.xml的问题
    JAVA学习(七)__Spring的@Autowired注入规则
    Java中的默认构造函数
    Spring的国际化(转载)
    java工程中不能存在多个数据库连接jar包
    HDU 3265 Posters
  • 原文地址:https://www.cnblogs.com/pass-ion/p/14155507.html
Copyright © 2011-2022 走看看