随着大数据时代的到来,合理构建可持续的存储架构已经成为企业数据中心IT主管们面临的头号难题之一。经常有人问我,如何为成长型公司的大型系统部署存储架构,尤其是当这些大型系统承载视频、音频、或社交类网站时,该如何构建存储架构?以下介绍一些我们常
随着大数据时代的到来,合理构建可持续的存储架构已经成为企业数据中心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及群集存储。每种存储方案有其各自的优缺点。云络科技很高兴与您一起选择、构建并运行最适合您的解决方案。

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具