0

0

成长型公司如何构建存储架构

php中文网

php中文网

发布时间:2016-06-07 15:54:11

|

1010人浏览过

|

来源于php中文网

原创

随着大数据时代的到来,合理构建可持续的存储架构已经成为企业数据中心IT主管们面临的头号难题之一。经常有人问我,如何为成长型公司的大型系统部署存储架构,尤其是当这些大型系统承载视频、音频、或社交类网站时,该如何构建存储架构?以下介绍一些我们常

big data problem

随着大数据时代的到来,合理构建可持续的存储架构已经成为企业数据中心IT主管们面临的头号难题之一。经常有人问我,如何为成长型公司的大型系统部署存储架构,尤其是当这些大型系统承载视频、音频、或社交类网站时,该如何构建存储架构?以下介绍一些我们常选择的方法及各自的优点。

构建存储架构时,要考虑许多问题,最明显的如存储容量、访问速度、缓存选择方案、服务器共享方式、访问协议及访问方法、安全及备份等等。

首先,我们认为最好的存放地址是存放在云中,这些服务存放在云中会很安全,如Amazon S3,阿里云OSS,或 Qiniu’s 的动态系统。但是,若你是自己想存储数据的话,你可以选择不同类型的存储容量。

DAS - 直接附加存储,也称为本地硬盘存储,是一种最普遍、速度最快也是最为经济的存储解决方案。现在已经有4TB的硬盘,再加上标准机箱可以有6-8个这样的硬盘,所以,若服务器是RAID5 配置的话,很容易就能达到20TB 以上。同时使用多个服务器的话,也很容易就能达到100TB,但是管理起来并不容易。所以,DAS是本地数据库存储、NFS共享存储及其它简单系统最好的存储选择方案。要想找一个比较简单的存储方案,这不失为一项最佳选择。

NAS – 网络附加存储也比较盛行,由两部分组成。最常见的情况就是 简单的服务器之间的NFS 共享,这种存储方式采用上文所述的大型TB硬盘,能存储简单的共享图片甚至视频,也能够达到十几TB 的存储量。

NAS 的第二种解决方案,则是商业解决组件,如NetAppFiler, 其存储容量可达几百TB,是一个强大的NFS解决方案,这些通常运用于大型系统,但是缺点是,当系统扩展受成本限制时,对此类存储进行扩展会花费很大的成本。

SAN - 存储区域网络,常被认为是NAS的“大哥”。但是,由于其成本太大且难以管理,所以,互联网行业通常不选择此解决方案。此外,该种存储不能够很好的响应互联网公司的共享需求,因为这种方案只连接几台高IO要求服务器如Oracle数据库联系在一起。

群集存储 - 在不用NFS 的情况下,这种方式越来越多的被用于解决共享问题。这种存储方案最好的优势在于,由于是群集存储,所以可以允许存储冗余存在,而这在DAS 或NAS系统中是很难实现的。常用的群集存储方式包括RedHat公司拥有的GlusterFS, 以及MogileFS。

这些系统通常管理起来很复杂,而且也有很多限制,如文件存放,空间管理及访问方法。例如,GlusterFS 就是由客户端进行管理,且以FUSE挂载,而MogileFS则根本无法挂载,因为它采用的是库驱动API,由PHP进行访问的等等。

群集存储容量可以扩大,甚至扩展到100TB,通常用于中等大小的图片或视频系统,前提是已经知道了它的限制和复杂性。

分布式存储 – 是群集系统的一个远房“表亲”,完全分布式的系统和Google File System比较接近, 在这个系统中,所有的文件、分布、复制、空间等都自动由系统进行管理。客户通常通过内核驱动程序安装该系统,整个分布式系统就像是SAN或NAS一样工作。

这些通常都是功能强大的商业化系统,如北京的Loongstore(龙存科技)。它们通常至少需要几个服务器才能开展工作,因为他们通常需要一个或更多的集群,并且其他服务器作为管理服务器来运行,除多个集群之外,多个存储节点也可以。但是,他们可以扩展到1PB甚至更大,是大型系统扩展的理想选择,并具有很高的冗余特性及极高的性能。

Flickr 或 Evernote 的API存储 – 可达500TB 甚至1PB, 对于某些特定存储需求,如图片存储,甚至可能用到几个基于文件的API系统,尽管大多数情况下是用于用户目录的增长。Flickr和Evernote 都发布了各自的系统架构,基本上都是基于HTTP文件存储的分布式集中管理系统。

在这些系统中,客户端调用目录寻找文件,然后获得一个URL反馈,指向在服务器或群集服务器上的需要进行读/写的文件。然后,客户端再发一个HTTP请求来读取这个文件,这个请求由单个服务器或一个小的群集服务器(使用复制或冗余RAID)进行处理,从本质上来说,这是一个共享存储系统,可以无限制扩展。但是,同其它共享存储系统一样,都面临着文件移动,管理难等挑战。

Amazon S3 使用的就是类似于这样的一个系统,使用基于HTTP的存储及你的内部目录了解你的文件存储地址。

Facebook - 最优秀的扩展案例就是Facebook系统, 该系统设计用于存放几十亿的文件,每秒处理几百万的请求。 该系统有点像 NFS/GFS 系统,在硬盘格式、有线网络格式上都采用了最佳的选择方案,在网络和硬盘上采取最短的文件传输路径。你不会想在不久的将来构建一个这样的系统,但是,花时间去研究一下,你会发现很有趣。

您会发现,成长型公司可选择多种不同的存储方式。但是,只有前几种存储方案对于成长型公司是比较实际的,DAS, NAS及群集存储。每种存储方案有其各自的优缺点。云络科技很高兴与您一起选择、构建并运行最适合您的解决方案。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 序列化
Python 序列化

本专题整合了python序列化、反序列化相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.02.02

AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

91

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

27

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

11

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

5

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

5

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

62

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

55

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

27

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

550W粉丝大佬手把手从零学JavaScript
550W粉丝大佬手把手从零学JavaScript

共1课时 | 0.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号