前段时间比较忙,没有来得及更新内容,加上冬瓜哥分享的东西并不是业界新闻时事评论之类的,所以频率没有那么高。不管怎样,冬瓜哥回来了。


【由于文章超过了20K字,有些内容以截图方式贴出】

在上次文章中,冬瓜哥直接贴出了4年前所写的一篇原文,其中列举了传统存储系统架构在面对固态存储、云和分布式时的无力反攻之状态,并预言其将迎来严酷寒冬,最后甚至逐渐消亡。文章发出以后,引起众多网友评论,有人认为冬瓜哥太过悲观,这些人代表了传统存储系统厂商和用户的既得根本利益;另一些网友认为冬瓜哥说的绝对符合事实和趋势并且摇旗呐喊中,这些人当然代表的就是新兴存储厂商的根本利益了。前者,在还没找到更好的饭碗之前,当然要极力掩盖传统存储将亡这一事实,毕竟好死不如赖活着;后者则是唯恐天下不乱,因为他们早已无法忍受传统存储所构建的城墙以及对用户的“残酷的统治”,纷纷揭竿而起,一副要把皇帝送上断头台然后抢钱抢粮抢地盘的架势。

当然,还有一些人则是处于摇摆不定的状态,由于传统存储市场已经培育的很好,虽然增量处于负增长状态,但是尚未开发的存量依然不小,尤其是国内存储厂商的收入其实一直都是在高速增长过程中,看着眼红,所以还想投资去做传统架构,进入上流圈子,玩上流玩法,但是要进入这个圈子,你得通过几门必修课:双控+缓存镜像、各种附加的数据管理功能、具有管理大量不稳定磁盘的能力、具有驾驭甚至开发和优化SAS控制器/FC控制器/以太网控制器/IB控制器驱动的能力,还有最关键的一点,必须踩过足够的坑。冬瓜哥建议那些致力于研发传统架构的存储系统来打入传统存储市场的初创厂商们注意了,你很有可能是在错误的时间上了这趟走不了多远的车,还没等你上道,可能已经到终点了,最怕的是你上了道结果发现是一个无底洞,你不投入也得投入,最后给拖死了。当然,传统存储系统不会死的太快,毕竟瘦死的骆驼比马大,但是依照这个时代的科技发展态势来看,这个过程可能会快于之前的传统IT中的任何一次变革。对于那些早在多年前启动了研发进入市场的厂商来讲,大可以分这最后一杯羹了。

有位业界厂商的老总给冬瓜哥提了个建议,说你要管杀也得管埋啊!冬瓜哥觉得这位老总的眼光非常敏锐,所以,时隔4年,冬瓜哥打算根据当前的局势,再次对这个问题做一个分析。在本次的文章中,会更深入的分析一下传统存储的死因和机遇,以及新兴存储的问题和阻力。

1. 传统SAN/NAS存储死因调查

【死因1】 门槛高,开发成本高,利润高,最终价格令人发指,但是用户却越来越穷


要搞定上述的整个系统,没有个数百人/年的工作量,就算他弄出来了你敢用么,肯定不行。这就注定了其开发投入成本高,一开始就得铺开一个大摊子,招一堆人。另外,存储系统里的专用硬盘价格令人发指。所谓专用硬盘,其实并没什么专用之处。传统存储厂商这些年来一个最重要的积累就是对硬盘的行为已经逐渐摸透,有很多硬盘固件bug就是这些系统厂商找出来的。不同代、批次、小型号、固件版本的硬盘,其行为都可能有不同,这直接影响到上层错误处理逻辑里的设计考量。还有,系统厂商可能会出于管理、寿命、性能、可靠性等方面的考量,对磁盘里的参数有特殊要求,甚至可能要求特殊的磁密度等。

正因如此,这些存储厂商会在系统里和磁盘固件里做限制,只认从该厂商渠道购买的经过测试验证的型号的磁盘,这样厂商就可以严格控制磁盘质量,以及更重要的——定价了。所以,存储系统厂商原厂硬盘价格要高出市面上一大截。目前存储系统里的一万转SAS 900G新盘成交价在4~5K人民币左右,这个价格很令人发指了。听说还有卖10k人民币一块的,但是未经求证。

传统SAN存储的控制器节点卖的价也很高,如果折算成同等配置的服务器,估计能有十倍的价格。但这似乎依然没法摊薄成本,因为控制器机头在整个存储系统中虽然角色最关键,但是量却不大,一套系统一般只能卖2个头进去,剩下的都是JBOD、盘、线缆,那唯有在这些上面狠加价了。业界不少人,尤其是做上层系统的人,都在质疑,SAN存储真的要这么高的成本么?纷纷愤愤揭竿而起!?冬瓜哥认为,这个一定要实事求是的分析,而不能乱猜。对于那些处在初期和中期的厂商,开发成本的确是比较高昂的,不容否认,如果存储卖成服务器的价格,削减研发,那么稳定性一定受到影响,或者没有那么精细化了,那么这个行业就没什么玩头了,当然,前提是用户的业务能够忍受这种由奢入俭。

传统存储里的各种数据管理功能的开发,占相当一部分资源。列举一下:快照、Thin、克隆、镜像、同步异步远程复制、压缩、重删、主机端的附加软件等,这些东西,必须有,否则会被友商屏蔽,而且规格越做越高。而这些研发成本,真的只是作为License增量向用户收费么?根本不是,License只是走个过场,所有这些开发成本,全部均摊在基础定价当中了,也就是你不买任何附加License,你出的价钱里也会有一部分为开发这些功能的人发工资了。这些完全属于过度竞争而让用户自己付出代价。如果用户能够保持清醒,而不是“功能嘛,你全得有”,那么或许就能少出点钱买到一样够用的产品。

另外,有些国际大厂,长期被认为把过多的费用花在了营销上吹泡泡。对于这些已经处于年迈期的大厂来讲,其基本已经是在倚老卖老状态当中了。冬瓜哥之前说过一句话:“学习趁早,忽悠凭老”,但是不是倚老卖老。年轻时候积累足够多,到老了就可以靠忽悠活的长一些,当然,瞎忽悠就是倚老卖老,有逼格的忽悠,那就是水平和档次了。这类厂商其研发成本已经得到了很强的控制,因为其积累了足够的经验,在之前已经付出了足够的成本。而毛利依然保持,那么就可以用更多的钱来吹泡泡保持利润率。但你现在说让他厚道点,降降价吧,那又会有人跳出来说你扰乱业界规则,不按常理出牌,逼得大家都降价。所以,不到逼不得已的份上,谁傻啊。

羊毛出在羊身上,最待见传统存储系统的传统企业受经济下行影响,没这么多钱陪着玩了,再加上玩家越来越多,竞争激烈,利润下降是必然的,有些厂商已经达到一个季度一单也没成的地步。那吃不饱咋办,饿着,减了肥,自然就饱了。但是利润率降低对于那些一线大厂来讲是个很大的阻力,割肉难,甚至要考虑改变产品的形态,在产品上降低成本。摊子太大,积重难返。

【死因2】 无力驾驭固态介质以及响应新业务需求

钱能解决的问题,都不是问题。而技术解决不了的问题,那就是问题了。传统存储为机械盘构建的这套看上去很完美的什么都是双份的存储系统控制器,就像一座黄金宝殿一样,它底层的经济基础是生产力极低的个体,这使得它可以足够臃肿也不会制约生产力。而随着互联网爆发式增长,很多事物都被改变了。传统的业务也面临多样性、不确定性、波动性,甚至有一些新业务也在酝酿上线,比如云资源管理平台、BI/经分/大数据、虚拟桌面、网盘等等。传统存储系统除了承载关键数据库等传统业务之外,在面对这些新业务形式的时候,劣势开始显露了出来。性能不够、性能不具弹性、扩展性受限、孤岛、运维复杂、访问协议受限等。

固态盘的生产力相比机械盘是天壤之别,不用说大型存储系统了,就单用一块SAS HBA连接10块SATA SSD,其性能也不过三四十万IOPS而且还是队列全压满的情况下,加入更多SSD也没用,性能已经到顶了,此时双路CPU基本已经被中断和厚重的协议栈处理耗满。也就是说,整个系统只需要10块SATA SSD即可跑满其顶峰IOPS,想要再提升性能,可以使用polling模式,但是这需要将块层、驱动全部改掉,而且CPU会直接100%负载,其他软件模块的性能将惨不忍睹(冬瓜哥看情况后续会写一篇介绍polling模式协议栈的文章)。那么我们就看了,传统存储的硬件设计的根基,已经站不住脚了,大内存、高IO插槽数量,这些统统没用,一块SAS HBA卡就饱和了系统性能,其他都是浪费。所以,传统架构,从根本上制约了SSD的生产力,必将崩塌,SSD用的越普及,价格越低,传统架构崩塌的越快。

【死因3】 硬件规格不断提升,却无法充分利用资源

传统存储在功能上,基本已经玩到头了,冬瓜哥的那份“可视化存储智能”解决方案中所描述的,基本已经是传统存储能玩的最后一点东西了。然而,标书里的规格越写越高,实际中这些高规格真的能带来收益么?事实并非如此。CPU再强,没用,因为即便是几千块磁盘,也耗费不了多少CPU,几千块磁盘的IO顶多也就二十来万的IOPS,对CPU简直是小意思。传统存储从双控过渡到Scale-Out多控,这个尴尬更明显了,比如厂商推4控、6控的配置,可以不好含糊的讲,这些CPU和RAM,基本是浪费的。于是乎,厂商就在想,到底应该往里塞点什么东西,才能用起来这些资源呢?到底怎么搞才能让用户认为他们的存储性能还是不够的还需要继续投资呢?于是乎,一堆有的没的的软件往里塞吧,之前收钱的,现在免费,你敞开了用!做他一千个快照,不照着上限做你就不够意思!于是乎,重删,压缩,Raid2.0,等等。因为只有用了这些东西,CPU和内存才能被用起来,用户才能感觉到系统是有瓶颈的,是需要继续投资解决瓶颈的,那么厂商就有了继续玩下去的理由。

当然,玩火不能玩太大。比如,如果瓶颈到了机械盘根本搞不定的火候,得上SSD了,随着SSD越用越多你就会发现,传统存储玩不动SSD了。还有,你不是想用满这些资源么?那么我把应用装到你存储控制器里怎么样?额。。。这,基本上,不行。不行还玩个屁?老子要换超融合!你看,把自己给玩死了。下文中大家会看到冬瓜哥是很认可超融合这个架构的。

【死因4】 令人发指的维保费用

卖给你的时候,可以比较便宜,但是过了三年期,后续续保的费用令人发指,原厂工程师上门的话,按小时计高昂费用。

【回魂丹】 刮骨疗毒

刮骨疗毒、割肉、转型。其实那些国际大厂,早已意识到了这个封闭皇城迟早要崩溃。比如EMC和HDS的高端存储一下子从DMX和USP全封闭专用硬件转向了开放硬件,同时软件架构直接过渡到了纯分布式,降低了硬件成本同时也降低了软件开发成本。这其实已经算是一步转型了。其实,只要机械盘还大行其道的话,传统存储不管怎么转型,都还是能掌控自己命运的。但是正如上文所述,其对固态介质根本已经是无计可施,技术上无法解决问题,要解决可以,产品形态彻底改变,面目全非,意味着割肉,比如:硬件上不再需要那么多扩展槽位,也不再需要那么多JBOD,存储控制器与标准服务器的硬件差异化基本消失,甚至彻底抛弃SAS转用NVMe over PCIE,那么硬件设计团队可以割掉大部分了;软件上,不再需要管理那么大体量的磁盘基数,不再需要担心多级级联的JBOD里面某处故障,链路问题,JBOD固件问题,传感器,误报,等一系列烂事,全抛掉;协议栈,NVMe驱动都成了标准化的了,根本不用开发底层,直接搞上层:冗余、数据管理等功能,那么软件团队也可以割掉不小一部分了。

试问,这些传统一线大厂是否能完成这个转型?从之前几个机柜才放得下的整个大系统,直接变成几个机箱,业界、用户是否能接纳这种变化?公司内部,新的产品形态大家都能达成一致么,恐怕没这么容易,大家都要吃饭,你要拿走或者减量,我可是要不爽的。根据以往经验来看,能不断割肉让自己活下去的、能够跨越多个颠覆性创新纪元而存活的专功某个领域的大商,好像就没有过。那咋办呢,收购吧,别人做的,买过来,做一个买一个,买了再说,后续怎么处理,走一步看一步。

目前的一线大厂的传统存储系统恐怕已经无法代表先进存储介质生产力的发展要求,无法代表先进系统架构的前进方向,也无法代表最广大用户的根本利益了。

【SAN厂商宏杉科技有话说!】

技术架构的变革,对一线小厂影响很大,可能有一堆人要失业,内部变革会有很大阻力。但是对于二线厂商,影响不能说没有,但是可以更迅速的调整航向,随时轻装上阵。这里不得不说一下国内的SAN存储厂商——宏杉科技。宏杉算是一个二线传统存储厂商,很早便启动了研发,并于2010年正式成立,目前已有六七百人的规模,属于国内真正掌握了存储系统底层核心技术的厂商之一。冬瓜哥之前也介绍过宏杉的高端存储系统架构,并认为其架构属于国内厂商中唯一一个正统高端架构。

为了避免冬瓜哥一家之言,冬瓜哥上周和宏杉科技总裁李治进行了一次开放的探讨,在探讨过程中,冬瓜哥得到了李治对宏杉自身以及存储行业的现状的一些看法。宏杉科技当前面对两大阵营的竞争者:国外的厂商,基本上属于创新的末位时代,从他们身上很难看清楚后续发展的风向标。再就是国内的全解决方案大厂:在存储领域内基本上属于模仿为主,也看不到什么未来的引领性的东西。而宏杉作为一个专攻于存储这个专业领域的厂商,将会致力于创新和引领的角色。

对于传统存储目前的现状,宏杉认为主要的问题在于商业模式越来越受到诟病,由于传统存储的机头数量在一单当中的比例的确很小,厂商不得不在硬盘身上赚钱。冬瓜哥的观点也是如此,如果其他部件都不加价,仅仅落在机头上的话,那对比会更强烈,可能还是无法接受。李治同时表示,对于宏杉来讲,商业模式是完全灵活的,假如某单项目的机头数量足够多,那么完全是可以灵活调整的。

同时,李治认为虽然分布式系统是一个趋势,但是并不能够紧紧停留在简单的软件+白牌通用服务器的层次上,而且目前多数产品用开源软件搭建,其性能效率还是非常低的。这一点冬瓜哥非常赞同。在下面的分析中冬瓜哥也认为当前的Server SAN,缺乏精细化开发,太过粗糙。此外,李治认为分布式是以节点为单位的,粒度过大,比如浪费、能耗、管理等。而传统存储能把资源控制粒度降得很低,让每一个节点的可靠性、性能都足够高。其次,Server SAN也面临着无法与现存系统相互融合的尴尬。

另外,李治认为目前的传统企业存储市场存量依然很大,新兴的分布式存储、云存储,很多地方其实都是不满足用户需求的,粒度太过粗放,而仅适用于一些B2C、非交易类业务。

总之,李治认为传统存储的生命力依然顽强,但是新兴存储的潜力也不容忽略。由于宏杉相比一线大厂而言,包袱更少,可以更加迅速的适应市场的变化,目前也在积极投入新兴存储系统的设计研发。同时,李治还指出,新兴存储市场目前缺乏规范,乱象丛生,如何规范市场是个要解决的问题。其他技术方面,宏杉认为节点间高速互联技术、统一资源池,是两个比较重要的方向,宏杉将会在这两个方向上后续有所动作。

2. 存储软件厂商的生存状态

传统存储厂商其实要分为两大部分,一部分是以做SAN主存储为主的厂商,另一部分是做备份、容灾、虚拟化等这些构建数据平台和数据管理为主的厂商,这些角色,其核心在于数据管理而不是数据存储,所以基本都是纯软件形态,当然也有软硬一体化形态,无非就是软件装在标准服务器上,一体化测试集成之后打包卖。对于这些厂商,由于处在生态链靠上游的位置,其所受的影响并不如SAN存储那么大。备份和容灾,不管底层是什么样的架构,怎么演变,总要有,只是在这个新时代下,会有更多花样的容灾方式,比如容灾到云,跨云容灾等。其次,存储虚拟化产品厂商,也不再是之前那种将几台SAN设备挂到后面再将资源用SAN方式分配出去的做法了,而需要演变成为一个大的数据服务平台了。

【典型存储软件厂商新动作介绍】 ——飞康Freestor平台

4年前的文章中,冬瓜哥就很怜惜的感叹了一把被历史的列车甩在后面的Veritas,并设想了一款能够将所有存储资源在更大范围内整合和服务化的产品。而如今,飞康恰如其分的实现了这个愿景。另冬瓜哥感到钦佩的是,飞康是个非常老牌的存储软件厂商,经历了暴风骤雨依然能够叱咤风云,比较迅速的跟上趋势,对产品的方向和视角进行了全面革新,借用《终结者5》里的一句台词就是“old but not obsolete”,宝刀不老。上文中冬瓜哥说到,只有站在用户业务的视角去思考和设计的产品,才更有生命力。

而飞康于今年推出的Freestor统一数据服务平台,就是这样一款产品。飞康之前的产品线是NSS虚拟化网关,CDP,IPStor存储软件,单凭这些产品名字就可以看得出,这些产品的定位都在存储层,看不到什么与上层相关的特质。而Freestor“统一数据服务平台”这个名字,已经明显显现出,Freestor做的事情并不单纯是实现基本的数据存储及虚拟化功能,而还要在这些基础的功能之上实现数据中心级别范围内的存储资源统一管理,以及提供数据“服务”。

Freestor数据平台的推出冬瓜哥感觉恰逢良时,用户的数据中心是块肥沃的土地,但是已经被各种传统存储肆意蹂躏的不成样子了,山头林立各自为政不听调遣,漫天要价,还难用。用户迫切需要一个平坦的、统一的、方便顺手的、以用户业务为视角的存储资源管理平台来抹掉这些底层的创伤,同时也是向这些传统存储军阀们发出信号:现在你们说了不算了,我不再受制于你们的欺凌,你们已经被我深深的掩埋,以后你们就是砖头,那需要就往哪搬。这也正是Freestor中“Free”的含义,其是对用户使用存储方式上的一种解放。

Freestor如果说飞康NSS虚拟化的是零散的存储设备,那么Freestor就相当于对数据中心里所有存储资源进行虚拟化整合然后统一管理。


Freestor的核心模块是一个被称为“Intelligent Abstraction”的虚拟化抽象层,在这里,底层的存储资源被虚拟化整合并抽象成各种存储服务,比如空间、快照、容灾、重删、CDP等等。在这里看不到底层的那些很基本的所谓Bear Metal,眼不见心不烦,因为在这个时代,已经没有人愿意去弄那一堆铁了。

有些传统SAN控制器也支持虚拟化,这相当于一个军阀吞没其他军阀,没有本质改变。Freestor则将更多的自主权交还给了用户,比如用户可以选择他们希望使用的任意的开放标准服务器来承载Freestor软件层;其次Freestor将更多的议价选择权交还给了用户,仅按照可管理的容量收费,不会巧立名目加上一堆的License,甚至还有些传统SAN厂商专门开发了License Manager专管License,发指啊!

Freestor是个纯软件产品,这意味着用户只需要购买License(基于所管理的容量收费,无其他License费用),即可部署任意数量的平台控制节点(FSS,Freestor Storage Server,最大128个)来将底层资源进行抽象整合。


然后使用Freestor Management Server(FMS)来全局管理所有FSS结点实现资源全局可视化管理。FMS采用HTML5技术生成的Web界面,提供全局存储资源的可视化展现管理,并可以在后台基于大数据分析手段对用户的整体存储资源利用情况、性能、空间、时延、IOPS、带宽、负载等大量存储运行时参数进行储存分析,并提供基于SLA的存储资源分配和服务保障。并提供了Cinder驱动用于接入更大范围的数据中心云管理平台Openstack的管理框架当中,Cinder驱动可以将存储空间、各种其他存储特性全部透传到Openstack中进行更统一的管理。

性能方面,经过优化之后的IO处理流程可保持单节点50万以上的IOPS并可以随着节点数量以及CPU核心数量的上升而线性上升,使得软件层不会产生瓶颈。

能把存储和用户的业务的距离拉得更近的,接合的更紧密的系统,才更有活路。说到这里冬瓜哥就不由得又回忆起《可视化存储智能解决方案》这个当年由冬瓜哥一针一线缝起来的,能够让土豹子存储系统穿上这身衣服直接跻身上流圈子的“魔衣”,可惜,土豹子有时候不仅只是土匪,其思维、情商都是不到位的,冬瓜哥对牛弹琴,和土豹子们说他们根本不懂的东西,最后冬瓜哥的大好年华就在与土包子的对决当中匆匆而过了,最后冬瓜哥也变成了个土豹子,赔了青春又折兵。有兴趣了解的可以参考冬瓜哥公众号之前的系列文章。

3. 新兴存储到底靠谱与否

为了打破传统壁垒,先看看新兴存储厂商们扯的大旗都是啥样的。这里冬瓜哥先抛出一个个人感受:新兴代存储人的逼格普遍没那么高了,而且越发浮躁,这是冬瓜哥的一个第一感觉。毕竟,这本身就是个浮躁的时代,新兴存储,多数都是Startup在搞,还没断奶,就得多吆喝多忽悠多卖萌,才能得到更多的奶。至于那些三两句不离上市的大忽悠,冬瓜哥权你还是远离为好,人的生命是有限的,出来混迟早要还的。

3.1 软件定义

目前业界对这个词的理解各有不同,至少有如下几种理解:

1:同一套软件可以安装在任何服务器上

2:用软件虚拟化平台来屏蔽底层硬件的差异化,形成统一的服务层,比如存储虚拟化,分布式管理层、Hypervisor等

3:控制路经与数据路径分离的系统中的控制部分由运行在开放平台上的软件完成(软件定义概念的正统起源)

4:可根据不同应用场景、需求灵活配置的系统

这四种理解,一个比一个逼格高。第一个逼格为负数,因为就算是传统存储系统,如今也已经是这种模式了,软硬解耦和,只不过它不会把软件单卖给你而已。第二个则是虚拟化的另外一种说法,这种虚拟化处理方式到处可见,并不是什么新鲜词。第三种偏学术化,但是比前两个有逼格。其实,不管什么硬件,就算是最底层的芯片,其内部的控制路径也是分离于数据路径的,可编程的系统基本都是这种运作模式,区别在于控制部分运行在哪里,运行在芯片里就是固件,运行在Windows下用一个GUI界面来控制,那就叫软件定义了。各家的芯片基本都有这种图形化控制界面,很早就有,你能说芯片不是软件定义芯片?我看未必。不过,第三个看法,的确是软件定义概念的正统起源。第四个其实才是逼格最高的,它抓住了软件定义的本质,也就是,为什么要软件定义?软件定义只是一种手段,那么其目的是什么?其目的当然是为了更加灵活,那么之前的非软件定义方式为什么不灵活?因为耦合太紧,很多东西写死了,想变都变不了,不能适应灵活多变的业务场景。所以,“应用定义”,才是最终张显逼格的一面旗帜。然而,为什么说要去掉最高分和最低分,就因为多数人还都是俗人,认识水平并没有那么深刻,所以,太超前太新颖太深刻的东西就往往超出了多数人的认知,遇到阻力就很大。反过来讲,如果你的产品能够适应多变的场景,灵活配置,价格公道,谁还管你是硬件定义还是软件定义?至于最没逼格的那个概念(上面第一种),你的软件能装到任何白牌机上,关我屁事?我用你的产品又不是换手机壳,今天红色的明天换蓝色的,所以,“软件定义”这个词,毫无逼格,凡是对用户业务没什么直接耦合关系的,基本没什么价值。

所以,冬瓜哥一直认为,真正体现业务价值,是不会拿软件定义这个概念去深入说下去的。“软件定义”已经被多股势力拿来扯了大旗,而偏离了它原来的意义。

3.2 ServerSAN

这个名词对应的学术名词是:分布式块存储系统,也就是在传统存储领域中目前盛行的所谓Scale-Out架构。所以你看,同样一个东西,有三个名字。Scale-Out是08年出现的热词,而ServerSAN则是14年出现的热词,期间差了6年。但是这里面又略有差异,传统存储搞的Scale-Out一开始倾向于搞共享式对称协作架构(具体看冬瓜哥之前的“集群文件系统终极解析”一文),因为是传统,所以追求高雅的、门槛高逼格高的架构。但是Server-SAN使用了分布式架构(或对称或非对称,视产品而定)这种门槛低逼格低的架构。ServerSAN一般和软件定义、虚拟化、甚至超融合,结合在一起忽悠。另外,ServerSAN系统普遍不使用JBOD,也就是整个系统中只有单一的Server,没有其他机箱,这样最简单。

3.3 固态存储及系统

那些专门致力于固态存储系统设计开发的厂商,就像是一股尖峰力量。作为跑在业界最前沿的先锋,冬瓜哥有幸与Memblaze公司的首席架构师吴忠杰就几个关键话题进行了一次开放式交流。

冬瓜哥首先谈起了IO协议栈太低效无法发挥SSD性能的问题。而最新版本的Linux内核里已经实现了多队列块层,也就是 blk-mq(block multi queue),但是仅对SCSI协议栈奏效,对NVMe协议栈没有用,因为NVMe协议栈是直接hook到块层的上层,bypass了IO Scheduler,而也正是由于IO Scheduler中只有一个request queue,对于多核心多线程平台来讲,大家都去争抢这个queue,使用spin lock的话,根据吴忠杰的经验,基本会把CPU耗费到百分之七八十,而实际却没干什么活。而NVMe协议栈彻底采用了多队列,CPU使用率降了,性能还上去了。大家可以参考冬瓜哥之前的“固态存储的应用方式”一文了解更多这方面技术细节。

借着上面这个话题, 吴忠杰顺便向冬瓜哥介绍了一下Memblaze开发的最新产品——Flash Raid。这里冬瓜哥先同步一些背景,之前有人针对实际测试,使用Linux内核自带的mdraid模块,将 4块Intel 750的NVMe SSD做R aid5,写性能只能到可怜的七万左右。冬瓜哥把这个数字告诉了吴忠杰之后,对方表示他们开发的Flash Raid模块,能够将这个性能提升至少5倍,读IOPS可轻松过百万,写IOPS虽然过不了百万但是也有几十万的水平。而且百万IOPS时对CPU耗费也就是30%左右,Xeon 2640双路,30核心。

吴忠杰表示,mdraid模块内部对多核的优化太差,存在大量锁,效率非常低,尤其是处理写IO的时候。Memblaze开发Flash Raid的初衷,就是为NVMe这种超高速固态盘提供一个通用的Raid方案。目前市面上没有能对NVMe固态盘做Raid的硬件Raid产品,即便是有,其效率恐怕也不尽如人意。

Flash Raid除了大幅提升性能之外,还专门对固态盘场景做了更多的考虑,比如 对链路闪断进行处理,对磁盘热插拔进行处理;此外,还在这一层加入了数据管理方面的功能比如支持thin provision。让冬瓜哥眼前一亮的功能是:Globle Wear Leveling和Anti Wear Leveling。在所有固态盘都很年轻时候,大家都拥有较多的P/E C ycle,此时为了寿命和性能考虑,Flash Raid会将写IO数据块尽量均等的轮流分布到所有盘上;当大家的P/E Cycle都所剩无几的时候,为了防止短时段内多块SSD同时损坏,软件会执行Anti Wear Leveling过程,让一个盘被更多的擦写,从而最先被坏掉,也就预防了多盘同时失效的问题。这种对底层数据在SSD盘之间灵活布局的方式与Raid2.0是类似的,只不过目的不同。

Memblaze会在GITC(全球互联网大会)2015上参展,感兴趣的可以去现场把玩一下Flash Raid。

冬瓜哥也与Memblaze的张泰乐博士探讨了一些前沿课题。对于NAND介质,目前厂商普遍转向3D TLC,制程回退到32nm/40nm,靠堆叠层数来提升容量,估计这种方式再演进个三四代就到底了,届时就需要全新的存储方式来接上茬。MB近期内的策略就是基于NVMe产品,建设NVMe生态,上文中的Flash Raid就是相关的一步,致力于让用户更好的用好NVMe固态存储。说道x1 Lane宽的盘,泰乐认为完全有可能在低端市场广泛应用,尤其是在即将到来的PCIE4.0时代。另外,HDSFF标准也在制定过程中,届时3.5寸的大容量PCIE固态盘也会出现。

Memblaze作为国内凤毛麟角的几家专供企业级数据中心固态存储产品的厂商,冬瓜哥可以说见证了其成长过程。几年前冬瓜哥到Memblaze的办公室溜达过,那时他们一共只有七八个人,而如今已经超过了一百人了。而且具有很强的开发能力,能在不到一年的时间内,从上一代Pbalze3产品使用的FPGA平台迁移到了基于PMC-Sierra公司众核ASIC闪存控制器的全新平台,这是颇具挑战性的,因为这款众核ASIC内部采用的是无OS无线程,代码一路跑到黑全靠自觉,多核间无共享地址空间,以及片上NoC,每一项都是挑战,但是开发好之后会非常高效。

PBlaze4产品包含几项特色技术:根据时延进行负反馈的技术,算法会保证队列深度最大为4(队列过深会增加平均时延),而且队列中的4个IO中会保证FTL元数据IO和实际数据IO最多各占一半,保证了平衡,同时会保证实际数据写请求与擦除请求不会处于同一个队列中。以及后端通道QoS等特性。 冬瓜哥也希望看到PBlaze4系列NVMe产品在固态存储市场上与那些国际大厂产品一决雌雄。

3.4 超融合一体机

说实话,冬瓜哥知道超融合这个词大概是在几个月之前,不由得感叹,现在这业界得有多少新花样被弄出来。所谓超融合,就是用单一的服务器节点,通过分布式的方式,组成一个分布式系统,这个分布式系统中的每台服务器既是存储节点,又是应用服务器。冬瓜哥不由得想起了《大话存储2》第422页上的那个图,现在想想,当时冬瓜哥的设想,不就是今天的超融合么?冬瓜哥觉得,在这些新概念里,超融合概念的逼格还可以。为什么呢,因为超融合这个词,最终体现了这个新纪元的架构特质,上两个(软件定义、Server SAN)都是被囊括在了超融合内,也就是软件定义+ServerSAN是超融合底层的基础,不具备什么业务层面的意义,而超融合才是真正有业务意义的概念,原因很简单,因为其触碰了业务,其把应用系统跑在同一批节点中。所以我们可以体会到,凡是对应用系统有影响和改变的,逼格才高。包括冬瓜哥之前一直在说的可视化存储智能解决方案,其实都致力于站在用户业务的角度来审视问题并创新。所以,超融合/超融合一体机,冬瓜哥认为这是个比较成功的、成型的、有业务意义的概念。

冬瓜哥认可超融合的原因很简单,其充分利用了资源,回归了事物的本质。为什么呢?我们看看当前的传统存储是怎么Scale-Out的,答案就是每个节点挂了多个JBOD的Server-SAN,控制器节点间互联网络一般使用PCIE Switch、10G/40G Infiniband、10GE,而这个集群是不允许任何第三方应用安装在其上的。那么,用户必须用单独的服务器,外加一个单独的网络,连接到这个存储集群上来存取数据,你看看,这里面存在两批服务器,两个网络,而且每个服务器的资源都不是100%利用,两张网络的利用率也存在浪费。而且,存储一侧拥有不少RAM资源,应用看着眼馋却用不了,人家存储控制器说了:这是专门给应用准备的用于加速的缓存。服务器不爽了:缓存你妹的,老子一块本地闪存卡一砖撂倒!快点,把你的缓存统统拿出来给老子!“就不给,你咋地吧!”“不给,老子用超融合去!”。

于是,超融合架构可以用同一批服务器,同一张网络,同时承载存储和应用。不再需要专用硬件、专用网络、专用OS、专用外围设施,采用标准服务器即可搭建,成本可以降的足够低,回归了分布式系统的本质。分布式系统的本质就是将分布在多个节点的资源,通过软件来整合到一起,让集群中的每个节点都可以看到全局所有资源(学术名词Single Name Space)。而得益于目前的高速网络,使得这个几十年前就出来的、当时仅用于比如超算等专用环境下的系统,走向开放化和逐步普及。当然,分布式系统也有其制约性,我们后面再来分析。

超融合的概念起源于VMware VSAN以及Nutanix,即融合了应用的分布式Server SAN。而融合了业务之后,就自然会想到如何站在业务的视角来调配资源,而不仅仅是存储视角了。这也是“应用定义”的本质,超融合再进一步,就是应用定义的资源统一管理,比如vCloud等。

国内的超融合厂商天玑数据的Pridata也是一款全虚拟机平台覆盖的分布式超融合产品,其对应的软件控制端PCloud,则真正体现了“应用定义”的思想。比如在其运营中心模块中采用服务目录的形式将所有资源从应用的视角切入进行管理和分配。


天玑数据的产品定位都是在企业核心关键业务级别。天玑给冬瓜哥的感觉上,更像是一个接受了新思想变革的仍然混在上流圈子里的厂商。

3.5 数据库一体机

这类产品已经不单纯是存储了,其基本上是照着Exadata来的。Exadata的价格令人发指,于是接着这股风国内不少人也在着手搞数据库一体机,比如 上文中提到的 天玑数据的PBdata产品,据说据说在几个运营商行业里都卖的不错 。这类产品模式基本类似,服务器+高速网络+分布式存储,只不过并不是超融合的,因为这种东西还是主打高性能,而且卖得虽然赶不上Exadata但是也超贵,就是给那些不差钱的客户用的,你卖便宜了客户反倒不踏实了。单卖存储体现不出业务价值,结合业务打包一起,捎带着把存储弄进去,这也是目前很多人已经意识到的一个新的商业模式。数据库一体机作为一个封闭系统,应当对性能、可靠性等方面做特殊的优化,如果仅仅是集成一下的话,基本就没什么逼格了。

3.6 天蝎机架内的存储系统变革

互联网搞开源和分布式,并且输出这种思想影响了一大批人。这真的是一件好事情么?有时候也未必。得看场景,必须明确知道自己的业务系统到底适合什么样的架构,也不能盲目跟风。互联网的一贯作风都是:急急火火,不按常理出牌,计划不如变化快,压价省钱否则老板要骂人。别看他们对终端用户点头哈腰客官小二亲的,但是在面对底层供应商的时候多少带着点匪气。他们这么搞也是逼不得已,那么你的系统是不是也到了逼不得已的份上了,是得考虑考虑的。

互联网之前大搞分布式,廉价,其第一个初衷就是省钱,第二个初衷是SAN在扩展性上的确无法满足扩展性要求。但是他们从来没否认过资源池化/虚拟化是有价值的。如今,分布式搞了这么多年以后,劣势开始显现出来了,那就是机型又多又杂,管理成本提升了。这个问题冬瓜哥会在下文中给出分析。倒头来,互联网也发现资源池化还是得搞!SAN存储也是将资源池化,只不过太过封闭,而且引入了太多不必要的负担,太臃肿,最终作茧自缚。那么天蝎机架内的存储池化是怎么玩的呢?

下图是浪潮SmartRack天蝎机柜内采用的方案,服务器节点不再放数据盘,而仅放启动盘,甚至可以用更廉价的USB drive或者SATA DOM来做启动盘。这样可以节省更多空间容纳更高密度的节点。所有服务器通过SAS Switch连接多个JBOD,JBOD中的每块磁盘可以在线动态的分配给任意服务器或者从任意服务器解分配,数量不限。这样就做到了以磁盘为粒度的池化,而且并没有做虚拟化,从而保证了原生的性能。

下图是在ODCC2015上由天蝎组织展出的SAS Switch原型。由浪潮制造。采用的芯片则是由冬瓜哥供职的公司PMC-Sierra设计的PM8056 68PHY的12Gb SAS交换芯片(PS:冬瓜哥另外一个身份是这个项目中PMC一侧的PM )。


天蝎的这种存储池化,与传统SAN存储控制器的池化从本质上还是有区别的。前者只是硬件池化,空间分配粒度为磁盘级别,属于带外池化,所有服务器还是直接认到磁盘,而并没有通过某个集中控制部件认到虚拟的磁盘;而后者则是耕细粒度的池化/虚拟化,空间分配粒度可以到MB甚至更低级别,而且服务器不能直接认到物理盘,只能从存储控制器上认到虚拟的盘。但是随着天蝎的发展,后续会不会也使用传统SAN的这种虚拟化方式呢?冬瓜哥觉得有这个可能。可以看到,技术的发展导致的形态轮回周期更快了,这种爆发式的发展,很难想象再过一百年世界会变成什么样子,是否会最终失控,谁知道呢。

新兴存储面临的阻力也是不小的:

【阻力1】 面对传统业务尚存尴尬。且不能完全抛弃HDD,历史包袱拖累

超融合的确是个回归本质的架构,但是存在两个摆在眼前的问题。第一个问题是传统业务并不是基于分布式系统而设计的,传统业务并不会感知其所访问的数据是否需要跨节点存取,所以节点间互联通道的时延和带宽,都必须足够给力。传统架构下主机如果采用16G FC来访问后端存储,那么分布式架构下如果要达到不低于前者的性能,互联通道就必须不差于16G FC。当然,前者传统架构下,主机到磁盘可能要经历两个网络,而超融合架构下,应用到磁盘只跨一个网络就够了,后者的时延是会优于前者。而很多新兴业务,比如大数据分析等等,其业务层本身就可以多实例分布式部署,松耦合,平时各干各的,个访问各自数据,此时很少产生跨节点流量,对互联通道的要求也就没那么高。

所以,目前打着超融合旗号的厂商,多数承载的应用仅为虚拟机,而且多数基本是照着Nutanix来的,虚拟机场景很符合上述的这种“平时各干各的,但是又要求所有节点看到统一的空间”的情况,所以其对节点间互联网络的要求,就可以降低,10GE就差不多,而不必非得用比如40GE甚至56Gb IB,这样成本会吃不消。而如果用超融合架构承载传统业务比如数据库,那么多半得使用40GE+全SSD/闪存卡,才能显现出明显优势,SSD+慢速网络或者高速网络+机械盘,超融合表现出的性能就会惨不忍睹。限定在虚拟机场景,也可以屏蔽计算资源和存储资源的不平衡问题,基本上48槽位的服务器承载虚拟机场景,在性能和容量上可满足主流场景。

第二个问题,就是传统业务对性能、容量的要求配比方面比较难以控制。超融合架构之下,为了降低成本并且维持部件的统一、单一性,都避免引入过多的部件,比如:JBOD。传统存储系统大量使用JBOD,一个控制器采用多个SAS控制器外挂出几十个甚至上百个JBOD,这也是导致传统架构体系复杂性高成本的很大因素之一。那么,如果超融合架构不使用JBOD只使用服务器+本地盘为基本单元构建的话,遇到性能问题该如何解决呢?每块机械盘,在保证合理的最大时延时,一万转的SAS盘在压力测试下也不过输出300~400的随机IOPS,何况目前更多产品采用的是SATA盘,典型IOPS普遍低于200。而一台服务器典型配置也就是十几个盘位,有些特殊机型可达到24甚至48盘位(前后双插)。假设业务需要20K的IOPS,按照每块SATA盘实际输出120的IOPS来算,至少需要180块盘,按照每台服务器16盘位(2.5寸盘)来配置,至少需要12台服务器来构建这个系统。

这就非常尴尬了,如果我用一台服务器,加上7台24盘位的JBOD,一块或者两块SAS通道卡,一样可以输出20K的IOPS,但是我只用了一台服务器,这不就是DAS么?这就是几十年前普遍使用的DAS方式,就是应用服务器本地直连存储。所以,DAS=当节点数为1时的超融合系统。所以,如果用户只有少数一两个业务,性能、容量要去均不高,冬瓜哥认为直接DAS完全够用,平时做好备份或者远程复制。但是,如果用户有大量业务,比如十几个业务,那么超融合的优势就显现出来了。

那么超融合系统目前如何解决这个尴尬?答案是采用SSD缓存。假设只有一个业务,而且又需要足够高的性能,十几个SATA盘肯定是满足不了,那就加入SATA SSD或者PCIE闪存卡或者SFF8639口的SSD,将其作为读写缓存,这样系统的整体性能会有所提升,只要对性能要求不是那么的高的话,满足要求还算凑合。但是SSD缓存方案缓存写效果比较好,然而视SSD容量占总容量的比例而定,读不命中的几率依然较高,随机读IOPS恐怕并不理想。所以对于这种场景,很多方案都是直接推荐全SSD。

但是,此时又会有个问题,容量可能不够。对于容量有要求的,而又要避免服务器节点数量过多问题的话,就不得不采用JBOD外扩。而根据冬瓜哥看到的现状,现在有些ServerSAN和超融合Startup厂商恐怕连JBOD里面啥样都还不知道呢。一旦引入JBOD,系统架构就开始倒向传统架构了,你就得去倒腾JBOD,买现成的?还是找人做?而不管哪种方式,成本无疑会提升,JBOD的利润还是比较高的,别看里面就几片Expander而已,而且你还得掌握驾驭JBOD的能力,排障、甚至二次开发都有可能。如果走上这条路,就很有可能被复辟回传统架构而陷入深渊。

可以看到传统SAN产品目前已经是Server SAN多节点分布式架构了,只不过每个节点采用双控共享后端的JBOD,然后相互Failover。这个区别也是最难驾驭的,而新兴Server SAN每个节点不会再走向双控,因为如果这么做,就走上了老路,看似解放,实则是又一个土皇帝上位了。不做双控,付出的代价就是粗粒度的Failover,冗余不得不采用镜像方式,从而极大增加了跨节点流量(东西向流量)。而采用Erasure Code或者网络Raid的话,跨节点流量将暴增,每一笔写入都要产生跨节点流量。从这一点上看,想要不在精细化控制和开发上费神的话,那就得用高速网络、低效率的手段达到目的,这也是现在的很多软件开发人的通病。

目前来看,超融合架构在应对传统业务方面,还有些尴尬,而且不好解决,总会有资源浪费的情况存在。

其次,在应对大规模数据中心+传统业务场景方面,比如那些搞云计算平台的,或者巨型企业的数据中心,超融合架构是不是又反而不合适了呢?比如,不说多,就说2K台机器。技术上,需要将这2K台机器互连起来,如果是48口交换机,毛估算的话怎么也得40+台交换机,那么这些交换机按照什么拓扑互联?这是个很有讲究的学科了,怎么互联才能让网络的直径越小(直径的概念请参考冬瓜哥的“大话众核心处理器体系结构”一文),从而时延越小?网络是个挑战。七次,2K机器在一个单一的域中,而且业务和存储耦合的太紧,故障影响范围将会非常大,在运维上是有很大隐患的,比如存储系统视角来看要把某个节点下线,而业务系统死活不允许这个节点下线,咋办?毕竟是传统业务,比较关键。那么就需要分割成多个域,比如100台机器组成一个系统,有一个单独的namespace,共20个独立子系统,之间的资源不能互通。那么在这么大体量的场景下,集中存储是不是依然还会是主流选择,当然这里的集中是说存储系统和计算没有融合,存储系统本身还可能是分布式的。

【阻力2】 Startup对存储系统底层的驾驭能力严重不足,精细化开发欠缺

做存储的敢说你不了解底层细节?的确有这种。有些甚至不知道存储底层的细节,基本都是在块设备之上进行开发,对块层之下的东西,就算毫无研究,也不妨碍其推出产品。不过,冬瓜哥总觉得,既然是搞存储系统,如果不搞到底层的话,逼格着实不算高。放眼看去目前的新兴存储系统和厂商,普遍基于开源的东西拼凑,多数浮躁,还有一些数就是拉个投资转转手,特别是那些把上市挂嘴边的。

新兴厂商在倒腾底层部件方面,经验显然是不足的。分布式系统几乎都采用镜像的方式来进行数据冗余,其设计者一般不会考虑“如果某个硬盘出问题”或者“某个链路出问题”之类的底层部件引入的复杂性,而更多是直接站在更高层去解决问题,也就是“如果某个IO出问题”,那么就读写其镜像副本并将其新复制一份到其他地方,而不管底层是由于什么原因导致的IO超时,权当这个副本已经损坏。如果后续突然又自己好了,那就标记这个副本之前的空间为空闲空间。这种及其粗粒度的方式,就是不精细。其会引起很多的跨节点流量。

另外,缺乏对底层驱动、链路的精细控制,性能无法达到最优,出了问题排障困难,而只能采用粗粒度的方式来解决。

其次是缓存方面的设计。目前的分布式系统最终产品实现里,这些新兴厂商几乎都没有实现全局缓存,而普遍都是数据在哪个节点其就必须被缓存在哪个节点,然后进行缓存镜像操作以保证冗余。这样做的优势和劣势,可以参考冬瓜哥之前写的“多控缓存管理和集群锁”一文。而传统存储厂商比如EMC,在其V-Max系统里采用的是基于Hash的全局共享缓存,数据的位置和其缓存的位置是松耦合的,这样会有一定的优势,但是开发量也会增加。这就是在缓存管理方面的精细化开发和优化。Startup为了尽量节省工作量压低成本,这些锦上添花的精细化开发,基本不会去做。说的俗气一点就是,比较粗糙。而传统企业目前并不习惯于使用比较粗糙的东西,还是希望看上去更高雅像点样的东西。这一点恐怕是新兴系统面临的一个挑战。架构可以是新的、更简单更单调的,衣服可以是破的,但是看上去也得干干净净利利索索吧。

【阻力3】 对新架构和使用方式的市场教育甚至生态构建能力有待突破

超融合系统是在各种因素下促成的产物,高速网络+固态介质+足够多盘位的服务器+开源分布式软件+传统存储高价+经济下行。然而其对业务的部署方式和运维方式产生了改变,之前是主机和存储分开,现在超融合了,耦合的更紧了。而且整个系统的硬件形态也有较大的改变。其次,对性能、容量的方面的规划,也需要考虑超融合架构的特点来进行,而且上述的几个尴尬和阻力,也需要想办法规避或者解决。用户最终是否可以接受这样一种区别于传统的新架构,需要这些新兴厂商去推动和培育。其次,存储要改变应用的设计架构,这就需要对生态进行改变,这方面需要持续投入。

总结

新兴存储靠谱与否?得看他们是否符合三个代表核心思想了。

1. 代表先进存储介质生产力的发展要求?这一点冬瓜哥认为,是的,新兴存储可以代表,毕竟其与固态介质时代同生。

2. 代表先进系统架构的前进方向?这一点冬瓜哥认为超融合架构虽然算不上什么先进的架构,它只是回归了事物一开始的形态,算是个轮回,但是其是可以代表新时代的需求和趋势的。

3. 是否可以代表最广大用户的根本利益?这其实是个伪命题,如果要代表用户的利益,那干脆免费提供算了。厂商只会代表厂商的利益,但是新兴存储采用标准硬件+开源软件构建,成本上具有先天优势,可以为用户节省费用。另外新兴存储普遍意识到了与上层业务相结合,增强用户体验,节省用户使用运维成本,一定程度上也是符合用户利益需求的。

新兴存储是否有可能走上传统存储的老路?千万别只是改朝换代,倒头来发现该做的工作还得重头做。冬瓜哥认为这最终取决于用户应用环境的改变,一定要改变业界的思维、用户的习惯、应用软件使用存储的习惯,只有这些改变了,才是真正的变革。所以新兴存储厂商的任务将更重,他们需要影响和改变上层的应用系统的架构设计以充分适应底层的变化。冬瓜哥的观点是很坚定的,传统存储已近黄昏,技术架构发展上的倒逼,商业模型上的倒逼,是两大因素。而新兴存储系统必须从源头上重新培育或者说与应用环境贴合的更紧密甚至改变之,才能算是革命成功,否则,就是同志仍需努力了。

另外,传统存储软件厂商、新兴存储厂商,都已经意识到了,只有更加贴近用户的业务,甚至改变业务的部署方式、使用方式、维护方式,才能在这个新纪元中站稳脚跟,我们也看到了这些厂商所推出的产品的变化。下一步,冬瓜哥认为业界应该正式吹响“应用定义”的号角,为下一步的发展指明方向。而传统的SAN存储厂商似乎在这一步上反应非常迟钝,这是个很危险的信号,传统存储厂商如果不继续正视这个趋势,可能短期内受到一些因素的影响业绩保持增长,但是长期来看,大势不可逆。

本文未经允许不得转载 ,长按识别二维码关注 “ 大话存储 ” 获取业界最高逼格的存储知识。

长按图片给冬瓜哥发个红包:

支付宝扫码发红包:

长按扫码关注“大话存储”

冬瓜哥简介:冬瓜哥是《大话存储》系列图书作者,现任PMC-Sierra存储系统架构师。

【冬瓜哥归来】传统存储老矣,新兴存储能当大任否?相关推荐

  1. 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解

    上篇文章<IO时延你被骗了多久>,竟然没有人给瓜哥发红包!很不像话!冬瓜哥起早贪黑打把势卖艺,最终却连五毛党都赶不上,所以瓜哥决定这篇文章之后休息一段时间,玩玩游戏,看看电影,睡睡大觉了. ...

  2. 冬瓜哥对时间和空间的理解方式—时空参悟(下)

    时空参悟(下) 第四部分:空间和维度 抖动着前进 根据上述分析,如果用实验去观察一个物体的运动,会发现锯齿状的前进路径,"抖动着前进",每一步是一个波长,而不是一根纯粹的直线,但是 ...

  3. 【冬瓜哥论文】原子写,什么鬼?!

    本次冬瓜哥想为大家介绍一下所谓原子写,Atomic Write.该技术并不是用原子来写写画画(如配图所示那种),那是纳米物理科学家玩的,咱一般人玩不了这个:).该文属于一篇逼格甚高的长篇说明文,冬瓜哥 ...

  4. 【冬瓜哥画PPT】最完整的存储系统接口/协议/连接方式总结

    声明:只要在本页面底部赞赏 2元或以上 者,冬瓜哥便将本文中的配图PPT原稿推送给你,每天晚上在公众号上统一对已打赏的朋友推送原稿.来吧,兄弟们!! 上周,冬瓜哥写过一篇各种存储接口协议总结,不过是篇 ...

  5. 搭建Spring Boot2.X集成Hibernate5项目,并集成传统SSH老项目的安全认证组件,以Spring Boot方式开发项目并集成到老系统

    搭建Spring Boot2.X集成Hibernate5项目,并集成传统SSH老项目的安全认证组件,以Spring Boot方式开发项目并集成到老系统 场景 可行性分析 搭建Spring Boot集成 ...

  6. Android 文件外/内部存储的获取各种存储目录路径

    前言 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的.对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getEx ...

  7. 转--Android 文件外/内部存储的获取各种存储目录路径

    前言 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的.对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getEx ...

  8. 千里眼摄像头支持对象存储吗_对象存储适用于哪些场景?

    什么是对象存储? 对象存储是一种将数据作为对象进行管理的计算机数据存储体系结构,与其他存储体系结构(例如将数据作为文件层级管理的文件系统)以及将数据作为块和扇区内的块进行管理的块存储相对.每个对象通常 ...

  9. 【观察】西部数据持续创新存储架构,引领存储迈入精细化运营时代

    申耀的科技观察 读懂科技,赢取未来! 毫无疑问,作为推动数字经济发展的核心基础设施和重要支撑,数据中心承担了数据存储.数据价值挖掘的关键作用,特别是5G.云计算.大数据.移动互联网.人工智能等新技术. ...

  10. “行式存储”和“列式存储”的区别

    https://www.jianshu.com/p/3d3950c9fb06 我们知道 当今的数据处理大致可分为两大类 联机事务处理 OLTP (on-line transaction process ...

最新文章

  1. switch和case的理解
  2. ECMAScript6变量的解构赋值
  3. POJ1915 BFS双向BFS
  4. 解决phoenix中创建的表名及字段默认是大写的问题
  5. 错误make: nvcc: Command not found 解决方案
  6. Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头
  7. java poi 导出excel 数字有问题
  8. Android之上下文context
  9. 一个简洁实用的后台管理系统AWESOME
  10. Docker上部署MariaDB
  11. docker安装mysql8_Centos7-Docker-安装Mysql8
  12. Exchange 日志/存储路径
  13. 非常好用的终端命令,稀饭~
  14. 2021年中国磁感应芯片市场趋势报告、技术动态创新及2027年市场预测
  15. Python函数的输出
  16. 在STEAM上玩电路仿真
  17. php模板引擎jinja,django使用jinja2模板引擎报错: ‘django.template.backends.django.DjangoTemplates’...
  18. html单元格上下拆分代码,在HTML / CSS中如何垂直拆分表格单元格(特殊版本)
  19. Oracle-SQL查询表的一条数据
  20. 英语语法汇总(2.冠词)

热门文章

  1. openbravo erp介绍(二)
  2. 自己写jquery表单验证
  3. 一款适用甲方企业的外网资产周期性扫描监控系统
  4. 神奇的λ-calculus
  5. 20000条笑话保证笑死你
  6. Java多线程入门一
  7. 解决你的R语言乱码问题
  8. 基于whisper模型的在线添加视频字幕网站(持续更新)
  9. phalapi做登录检测_Phalapi使用教程
  10. StarRocks 极客营 | 王天宜:把 Usability 当产品来开发,愿运维把 StarRocks 用得飘逸