‘壹’ 华为hds是什么部门
是日立数据系统公司。
Hadoop服务(HadoopService,以下简称HDS)启仿滑,是一个以华为FusionInsightHD为悄腊基础的分布大稿式数据处理系统。
华为海外销售就已达到220亿美元,产品已经进入包括德国、法国、英国、葡萄牙、荷兰、美国、加拿大等欧美14个发达国家。而且,华为还在全球建立了8个地区部、55个代表处及技术服务中心,销售及服务网络遍及全球。2011年1月29日消息,据最新出版的华为内刊《华为人》介绍,2010年华为未经审计的全年销售收入达280亿美元,合1850亿人民币,较上年增长28%。
‘贰’ 华为突破分布式数据库和存储技术,打通数字化转型“雄关漫道”
2019年,我们将进入数字化转型的攻关期。所谓“攻关期”即数字化转型2.0阶段,需要攻坚企业关键业务上云和数字化转型改造的课题。在一份市场调查公司IDC的报告中指出:IDC自2014年提出数字化转型以来,看到企业在数字化转型层面已经投入了大量人力物力,但是效果并不理想,有一些企业已经成功屹立在潮头,有一些企业在向上游进发,还有一些企业只能在浪潮的挟裹中被动前行。
对于企业来说,数字化转型是“雄关漫道”。IDC认为,目前阶段来看,企业亟待解决的是数字化能力提升,包括:与业务的深入结合能力;数据处理和挖掘能力;以及IT技术运营和管理能力。特别是数据处理和挖掘能力,因为数字化转型推进企业从以流程为核心向以数据为核心转型,对海量、异构、多类型的数据处理和挖掘能力是释放数据价值的前提,对数据全生命周期的管控治理是释放数据价值的保障。而随着数字化转型引入大量新技术而导致IT复杂度变高,企业IT技术运营和管理能力是提升企业“IT生产力”的关键。
攻关数字化转型的“雄关漫道”,需要一个具备融合、智能、可传承三大特性的数字平台。这是2019年3月华为与IDC联合推出的《拥抱变化,智胜未来—数字平台破局企业数字化转型》白皮书所提出的观点。融合主要指把传统技术和创新技术相结合;智能主要指平台智能化和智能化能力输出;可传承主要指解耦、功能复用、可配置等理念打造的架构。而承载这三大观点的,就是新一代分布式企业级技术。
2019年5月15日,华为发布了业界首款支持ARM架构的新一代智能分布式数据库GaussDB以及分布式存储FusionStorage 8.0,作为新一代数据基础设施,诠释了具备融合、智能、可传承三大特性的数字平台。华为常务董事、ICT战略与Marketing总裁汪涛在发布会上表示,千行百业正在加速智能化进程,越来越多的企业已经意识到数据基础设施是智能化成功的关键。华为围绕计算、存储和数据处理三个领域重定义数据基础设施,加速迈向智能时代。
今天所讨论云和工业互联网等概念的背后是一个新时代的到来,这就是体系架构大迁徙。传统企业级技术是在单体应用和单机环境中,保证数据存储、调用等操作的高可靠、高可用、高稳定,特别是满足金融级事物处理的ACID(原子性、一致性、隔离性和耐久性)要求,为企业关键业务提供数据管理支撑。随着企业技术向云架构迁移,数据库技术也面临转型。
2018年,基于云计算技术的分布式数据库成为了业界的热点。简单理解,云计算技术就是把“单机”环境替换为由X86服务器机群所组成的分布式计算环境。原先由几台小型机完成的计算任务,要分散到上百甚至上千台X86服务器上,而且还可能跨数据中心操作,挑战可想而之。特别是在线支付等金融级业务,不能在断网或网络连接有问题时出错,也不能因响应速度慢而影响用户体验。
2018年8月,中国支付清算协会与中国信息通信研究院联合举办了“金融分布式事务数据库研讨会”,与业界厂商和用户共商核心数据库分布式转型之路,同时发布了《金融分布式事务数据库》白皮书。金融分布式事务数据库的工作推进,为分布式数据库进入企业关键业务系统,提供了产业化支撑。而华为作为企业ICT解决方案供应商,早在2012年就开始研发面向大数据分析的数据仓库,在基于传统关系型数据库SQL引擎和事务强一致性等基础上,进行了分布式、并行计算的改造,历时6年打造了面向PB级海量数据分析的分布式数据库。
在OLAP数据仓库之外,华为与行业用户合作了面向OLTP的分布式事务型数据库研发。2017年,华为与招商银行合作成立了分布式数据库联合创新实验室,研发具有高性能企业级内核、完整支持分布式事物、满足金融行业对数据强一致要求、单机事物处理能力要达到每分钟百万级别等的OLTP分布式数据库。
本次发布的GaussDB数据库新品包括:联机事务处理OLTP数据库、联机分析处理OLAP数据库、事务和分析混合处理HTAP数据库。而华为GaussDB数据库将AI技术融入数据库设计、开发、验证、调优、运维等环节,可实现基于AI的自调优、自诊断自愈、自运维,让数据库更高效、更智能,引领数据库架构的发展。
更进一步,本次发布的GaussDB系列数据库是业界首款支持ARM芯片的分布式数据库。华为推动计算架构从以X86+GPU为主的单一计算架构到以X86+GPU+ARM64+NPU为主的异构计算架构快速发展。基于X86架构,华为引入AI管理和智能加速能力,率先推出了智能服务器FusionServer Pro;基于ARM64打造了业界性能最强的TaiShan服务器;基于Ascend芯片的Atlas智能计算,实现了业界首个端边云协同的人工智能平台。而GaussDB可充分利用并融合ARM、X86、GPU、NPU等多种异构算力组合,大幅提升数据库性能。
汪涛强调,作为全球首款AI-Native数据库,GaussDB有两大革命性突破:第一,首次将人工智能技术引入数据库的全生命周期流程,实现自运维、自管理、自调优和故障自诊断。在交易、分析和混合负载场景下,基于最优化理论,首创深度强化学习自调优算法,把业界平均性能提升60%。第二,支持异构计算,充分发挥X86/ARM/GPU/NPU多样性算力优势,最大化数据库性能,在权威标准测试集TPC-DS上,华为GaussDB排名第一。GaussDB还支持本地部署、私有云、公有云等多种场景。
在以云计算为代表的分布式计算环境中,数据管理解决方案除了需要分布式数据库外,为了更好的扩缩容以及满足多样化数据存储需求,计算与存储分离已经成为分布式数据库设计的主要架构。分布式云化架构,就是要支持计算、存储分离和多租户等架构设计要求。
GaussDB已经从数据库层面实现了高可用、高可靠、高稳定的分布式数据库,本次发布的FusionStorage 8.0则是分布式存储架构,创新地实现一套系统同时支持块、文件、对象、HDFS协议,1套存储支持4类存储能力,适用于全业务场景混合负载,最终让“一个数据中心一套存储”成为可能。
IDC发布的《中国软件定义存储(SDS)及超融合存储(HCI)系统市场季度跟踪报告,2018年第四季度》显示,2018年,软件定义存储市场达到了54.9%的同比增长。软件定义存储在中国整体存储市场的占有率稳步上升,分别达到了22.1%的市场占有率。华为凭借文件解决方案在政府、广电和电信等行业得到认可,在2018年中国软件定义存储市场排名第一。
FusionStorage 8.0采用华为ARM-based处理器鲲鹏920加速,使IOPS提升 20%,结合华为AI Fabric无损网络,时延进一步降低15%。基于华为在计算、网络和存储领域多年的芯片和算法积累,FusionStorage 8.0在SPC-1的性能测试中,单节点性能达到了16.8万IOPS以及1ms以内时延,成为承载企业关键应用的新选择。
此外,通过华为云的云上训练及本地AI芯片,FusionStorage 8.0将智能管理贯穿业务使用的全生命周期,如业务上线前对存储资源的规划,使用过程中的风险预判及故障定位,大幅提升存储效率,帮助行业客户应对智能时代的数据新挑战。
汪涛在发布会上强调,新一代智能分布式存储FusionStorage 8.0通过重定义存储架构,从“Storage for AI”和“AI in Storage”两个维度实现效率大幅提升,引领存储智能化。首先,“Storage for AI”通过融合共享,让AI分析更高效。其次,“AI in Storage”率先将AI融入存储全生命周期管理,从资源规划、业务发放、系统调优、风险预测、故障定位等方面实现智能运维。
辽宁移动就采用了华为FusionStorage。作为辽宁省内最大的移动通信运营商,辽宁移动一直在 探索 先进的存储方案在自身IT系统的应用。由于5G的快速发展,辽宁移动关键数据库的应用也向云化方向发展,分布式存储也要满足其可靠性和高性能要求。华为在深入分析辽宁移动需求后,首先在边缘开发测试业务小规模试点分布式存储,进行了大量的实验和测试后性能和可靠性都达到了预期,最终决定将全部业务迁移至FusionStorage。该方案通过采用双活、可写快照、端到端DIF等特性,顺利完成Billing、经营分析、B2B等系统从老旧存储至FusionStorage的搬迁工作,助力辽宁移动的存储架构迈入新的 历史 阶段。
值得一提的是,华为分布式数据库与华为分布式存储深度结合,把数据库的操作下沉到存储节点,极大提升了分布式数据库的性能。利用新的网络技术和人工智能技术,华为帮助用户提升数据中心的吞吐量,提升网络应用的可伸缩性,并且能自动调优。
除了推出新一代突破性的分布式数据库和存储技术外,华为也积极与客户、伙伴在数据库与存储领域,从行业应用、平台工具、标准组织和社区等多个层面共建开放、合作、共赢的产业生态。在行业应用层面,华为与软通智慧、神州信息、东华软件、易华录、用友政务、亚信国际等独立软件开发商长期合作;在平台和工具层面,华为与Tableau、帆软、ARM、Veritas等合作伙伴联合创新;在标准组织和社区层面,华为深度参与OpenSDS、中国人工智能产业联盟、OCP、OpenStack、CNCF基金会等组织和社区的建设。
总结来说,华为全线分布式数据库和分布式存储产品的发布,是华为具备融合、智能、可传承三大特性数字平台的最新成果。华为分布式数据库与分布式存储结合,能消除企业各业务系统数据孤岛,构建面向行业场景的数据建模、分析和价值挖掘能力,对多源异构的数据进行汇聚、整合和分析,形成统一的全量数据和数据底座,实现数据价值挖掘和共享。而基于AI的智能化,可对基础设施进行高效的管理,为行业应用开发和迭代赋能,全面帮助企业突破关键应用上云的“雄关漫道”。(文/宁川)
‘叁’ 国内做分布式存储研发的公司有哪些
做过一些集成项目,国内集群NAS(分布式文件系统)这块了解一些,随便说说,仅限于通用集群NAS
宣传自研集群NAS的公司不少,OEM居多,做研发的不多,完全自研就更少了
列一些接触过,完全自研,产品化程度相对高一些的吧
大一点的,华为(oceanstor9000),曙光(parastor)
市场上见的比较多了
小一点的,龙存,这个算是老牌子了
聚存,这个知道的人不多
基于ceph的公司这几年不少,用过其中一家的东西,块这块还行,文件这块还需要时间
分布式存储其实是一个比较大的领域
有分布式数据库、分布式文件如隐系统、分布式块(ServerSAN)、分布式对象存储渣粗厅之类
做的公司挺多,不过真正都凳亮自己的代码的挺少,很多都是开源改的
分布式数据来说一般互联网公司用的多,像阿里,腾讯、网络都有自己分布式数据库
国内做分布式文件系统来说,数中科院的一帮人做的最早
从中科院出来人基本的分为三家,曙光,龙存,达沃
这三家基本都属于自研并且应用时间都在国内来说时间最久了
也有像华为、淘宝、网络、腾讯的文件系统
‘肆’ 华为 FusionData 发布,大数据痛点消失不见
作者 | 胡巍巍发自北京民生现代美术馆
出品 | CSDN(ID:CSDNnews)
2009年,世界上出现了一种叫做甲型H1N1流感的病毒。由于当时全球尚未研发出对抗这种病毒的疫苗,公共卫生专家能做的只是减慢传播速度。
更可怕的是,人们一般是在感染这种病毒多日后、也就是实在受不了的时候,才会去医院。所以,公共卫生机构在告知公众流感预告时,往往会有一两周的延迟。
有意思的是,在甲型H1N1流感爆发的几周前,谷歌的工程师们在《自然》杂志上发表了一篇论文,文章称,患者在看病前往往会上网搜索,而谷歌通过观察人们的搜索记录,从而可以判断出流感来源地,并且预测得比官方更准确、更及时。而这,就是数据的力量!
而随着5G的到来,数据能做的事儿,远不止于此。
近日,5G牌照的发放,让5G应用开始照进现实。而德国专利数据公司IPlytics的报告显示,截至2019年4月,华为拥有1554族专利,领先于诺基亚、三毕备游星等公司,是拥有5G标准必要专利(5G SEP)数量最多的公司。
进入5G时代后,人类产生的数据必将翻倍,据We Are Social和Hootsuite发布的2019年数字报告显示,全球人口数76.76亿人,其中手机用户51.12亿人,网民43.88亿人,有34.84亿人活跃在社交媒体上。但是,当下的数据解决方案,是否跟上了人类产生数据的速度呢?
据华为Cloud & AI产品与服务总裁侯金龙介绍,目前,很多企业的数字化程度不足,90%的数据没有进入系统,大量的IoT数据缺失,要么就是完整性不足,要么就是各个部门的数据没有打通,这种困境导致了很多数据孤岛。
另据华为全球产业展望(GIV)报告显示,全球数据量将从2018年32.5ZB快速增长到2025年的180ZB。
但企业生产活动产生的数据中只有不到2%被保存,而其中得到分析利用的不足10%,数据价值没有得到充分释放。并且企业普遍存在烟囱式业务系统,导致数据管理、应用效率低。
故此,华为发布了智能数据解决方案FusionData。6月5日,在北京民生现代美术馆,几百人的发布会场座无虚席。
发布会上,华为EBG中国区总裁蔡英华表示:“站在智能时代的入口,在坚持‘被集成’的基础上,华为企业业务通过‘无处不在的联接+数字平台+无所不及的智能’,致力于打造数字世界的底座。其中数字平台整合了包括云、大数据、AI、IoT等在内的各种新ICT技术,向上支持应用快速开发、灵活部署,使能各行业业务敏捷创新;向下通过无处不在的 联接 ,做到云管端协同优化,真正实现物理世界的数字化。”
华为EBG中国区总裁蔡英华提到数字化时表示滚早:“站在智能时代的入口,在坚持‘被集成’的基础上,华为企业业务通过‘手销无处不在的联接+数字平台+无所不及的智能’,致力于打造数字世界的底座。其中数字平台整合了包括云、大数据、AI、IoT等在内的各种新ICT技术,向上支持应用快速开发、灵活部署,使能各行业业务敏捷创新;向下通过无处不在的 联接 ,做到云管端协同优化,真正实现物理世界的数字化。”
华为IT产品线副总裁、智能数据与存储领域总裁周跃峰,在提到数据应用的痛点时也表示:“各行各业在实现数据价值时面临数据接入难、分析难、消费难等挑战,亟待更智能的数据解决方案。华为智能数据解决方案FusionData,包含数据接入、数据处理、数据使能等关键部件,帮助客户打通全域数据连接、建立统一的数据平台、提升实时数据服务能力,拥抱行业数字化。”
周跃峰发布FusionData那么,FusionData究竟可以解决哪些痛点呢?
作为领先的智能数据解决方案,华为FusionData支持智能的数据全生命周期管理,从以下三个层面,重定义数据基础设施:
智能数据连接部件ROMA支持多数据源接入、消息和API的统一管理、智能通道选择等技术实现智能全连接,加速数据流动,让应用与数据连接更高效。
1、多数据源接入:支持1100多种应用和异构数据源接入,通过开放式数据接入框架可灵活接入第三方数据源。
2、消息和API的统一管理:支持分布式消息和API的路由统一配置管理,轻松实现分布式消息和API服务的跨网跨域跨云集成,让数据自由流动。
3、智能通道选择:支持数据多通道传输,并且可根据数据特点智能选择传送通道,大幅提升数据接入效率。
智能数据处理部件包含分布式存储FusionStorage、分布式数据库GaussDB和大数据平台FusionInsight等,通过多类型数据融合存储、融合分析引擎等技术实现从单一处理到智能融合处理,加速实现数据价值。
1、多类型数据融合存储:通过存储与计算分离技术,打破系统烟囱式建设;通过智能分布式存储的多协议融合技术,实现一份数据同时支持数据库、大数据、AI等多种业务的分析需求,让融合数据分析成为可能。
2、融合分析引擎:支持数据库、大数据、AI多引擎融合分析和多样性算力统一调度。通过统一架构,降低海量数据处理难度,实现极简分析。
智能数据使能部件DAYU通过智能元数据感知和OneQuery Turbo 技术构建数据处理与业务创新的桥梁,提升业务体验,让业务更敏捷。
1、智能元数据感知:通过AI技术,自动感知和采集多个系统的元数据,并进行智能化分级分类,生成全局统一的数据视图,数据寻找秒级响应。
2、OneQuery Turbo :提供统一的数据访问接口,实现多数据源、多类型数据的统一访问,简化数据加工流程,数据获取速度提升10倍以上。
传说中,三皇五代时期的大禹治理花了13年时间,治理黄河洪水。老百姓在他的帮助下,过上了筑室而居的生活。
今天,华为FusionData的使命,也是为了让企业不再对数据洪水束手无策,而是让海量数据变成滋养企业不断发展的资源!如果你对华为FusionData很有信心,就在文末点个“再看”吧!
参考资料:
维克托·迈尔-舍恩伯格《大数据时代》第一章
‘伍’ 华为发布新一代数据中心级融合分布式存储FusionStorage 8.0
【西班牙,巴塞罗那,2019年2月25日】在2019年世界移动大会(MWC)上,华为发布新一代数据中心级融合分布式存储FusionStorage 8.0,基于成熟的企业级存储能力及公有云基因,帮助运营商、金融等行业客户应对数据大爆炸时代业务云化挑战。
华为IT产品线智能存储与数据管理领域总裁孟广斌发布FusionStorage 8.0
5G、IoT、云、人工智能等新兴技术快速发展,传统集中式存储烟囱式部署的扩展性和管理难题日益凸显,越来越多的用户期望有一种新的形式,可以打破不同类型存储间的数据孤岛,让各类业务以统一的方式进行存储和管理,同时降低TCO、提升数字化平台服务效率。
面向纷繁复杂的云环境,华为FusionStorage 8.0创新的实现一套存储系统同时支持块、文件、对象、HDFS、数据库协议,适用于全业务场景混合负载,以一套设备支持数据的生产、灾备、分析、归档等全生命周期场景,满足云上云下数据流动并保障一致性体验。
业界首个支持关键业务的分布式存储
华为FusionStorage 8.0是业界首个支持企业关键业务的分布式存储系统。单集群横向扩展最大可达4096个节点,支持千万级IOPS,并且凭借华为企业级存储成熟的芯片和FlashLink®加速技术,使得节点与SSD盘之间协同更高效,时延响应低至0.5毫秒,具备分布式存储领域最优性能,满足运营商核心数据库、金融联机生产等场景快速IO响应诉求,保障企业关键业务高速稳定运行。
此外,基于华为企业存储产品久经验证的HyperMetro双活方案,华为FusionStorage 8.0可提供99.9999%的方案级可靠性,适用于虚拟化及数据库等多应用场景,保障关键业务不中断,提供业界唯一支持秒级RPO(恢复点目标)的异步复制技术,为跨数据中心业务提供连续性保障。凭借独有的自适应重复数据删除与数据压缩能力,即使在VDI(桌面虚拟化)应用场景中也能达到5:1的数据缩减比,进一步帮助用户节省存储空间。
率先实现五大融合
作为业界唯一同时提供公有云、传统存储和芯片的厂商,华为整合具有强扩展性的分布式存储底座、传统存储丰富的企业特性,并融入芯片的优化能力,从而实现数据中心级的融合。
华为FusionStorage 8.0通过协议融合实现一站式部署,替代原有不同协议时烟囱式部署,提升资源使用率,使TCO降低30%;通过关键业务融合实现一套存储同时支持企业核心应用和新兴应用;通过场景融合实现一套存储对数据的采、用、管、备、存全生命周期管理;通过多云融合实现一个平台,融合边缘云、私有云和公有云,为用户提供一致的业务体验;通过管理融合实现一套统一的智能管理平台,融合运维和运营两大能力,实现数据智能化,充分释放数据价值。
通过创新的五大融合特征,华为FusionStorage 8.0可帮助用户实现“一个数据中心一套存储”的终极目标,有效消除存储设备多样性及管理复杂性,降低数据使用成本,并让云上云下数据自由流动和充分共享成为可能;通过存储永新服务帮助用户数据终身免迁移,减少数据迁移给业务带来的中断风险。
作为华为FusionStorage的用户,中国移动通信集团辽宁有限公司累计部署容量超过10PB,到目前已稳定运行超过4年,数据库系统性能大幅提升,100TB经营分析数据处理时长由之前的超过10小时缩短至2小时,保障业务7x24小时在线。
华为IT产品线智能存储与数据管理领域总裁孟广斌表示:“在数据中心从传统孤岛向云架构演进的趋势下,华为全新一代分布式存储FusionStorage 8.0通过创新的五大融合,打通企业数据壁垒,在业界首个支持关键业务,真正实现一个数据中心一套存储,助力行业客户数字化转型。华为FusionStorage已经为全球数千家企业用户持续提供数据存储服务。”
‘陆’ 女儿要去华为工作,数据库、大数据、分布式存储三个部门选一,哪一个发展前景比较好
开发岗,女的去了坚持不了几年。特别有了孩子以后。哪个方向出来好找工作就去哪个,还有就是哪个产品线利润高去哪个,因为奖金高。
‘柒’ 国内做分布式存储研发的公司有哪些
做过一些集成项目,国内集群NAS(分布式文件系统)这块了解一些,随便说说,仅限于通用集群NAS。宣传自研集群NAS的公司不少,OEM居多,做研发的不多,完全自研就更少了。列一些接触过,完全自研,产品化程度相对高一些的吧。大一点的,华为 (oceanstor 9000),曙光(parastor)。市场上见的比较多了。小一点的,龙存,这个算是老牌子了。聚存,这个知道的人不多。基于ceph的公司这几年不少,用过其中一家的东西,块这块还行,文件这块还需要时间。分布式存储其实是一个比较大的领域。有分布式数据库、分布式文件系统、分布式块(ServerSAN)、分布式对象存储之类。做的公司挺多,不过真正都自己的代码的挺少,很多都是开源改的。分布式数据来说一般互联网公司用的多,像阿里,腾讯、网络都有自己分布式数据库。国内做分布式文件系统来说,数中科院的一帮人做的最早。从中科院出来人基本的分为三家,曙光,龙存,达沃。这三家基本都属于自研并且应用时间都在国内来说时间最久了。也有像华为、淘宝、网络、腾讯的文件系统。
‘捌’ 华为分布式存储中的智能负载均衡技术它的访问模式是什么
ActiveActive。华为分布式存储中的智能负载均衡技术,它的访问模式是运乎ActiveActive,负载均衡访问方式由公网弹性负载均衡服务地址以及设置的访问端指悄中口组成,智能负载均衡通过多节点智能接入技术,使业务防护支持多节点、多线路自动调度容灾,保障业唯山务高可用和加速的访问体验。
‘玖’ 华为融合一体机的分布式存储采用什么技术
目前国内软件定义存储产品主要分两类:
自主研发,比如SmartX,华为;
基于开源的ceph研发,比如XSKY,杉岩,深信服。
‘拾’ 华为技术架构师分享:高并发场景下缓存处理的一些思路
在实际的开发当中,我们经常需要进行磁盘数据的读取和搜索,因此经常会有出现从数据库读取数据的场景出现。但是当数据访问量次数增大的时候,过多的磁盘读取可能会最终成为整个系统的性能瓶颈,甚至是压垮整个数据库,导致系统卡死等严重问题。
常规的应用系统中,我们通常会在需要的时候对数据库进行查找,因此系统的大致结构如下所示:
1.缓存和数据库之间数据一致性问题
常用于缓存处理的机制我总结为了以下几种:
首先来简单说说Cache aside的这种方式:
Cache Aside模式
这种模式处理缓存通常都是先从数据库缓存查询,如果缓存没有命中则从数据库中进行查找。
这里面会发生的三种情况如下:
缓存命中:
当查询的时候发现缓存存在,那么直接从缓存中提取。
缓存失效:
当缓存没有数据的时候,则从database里面读取源数据,再加入到cache里面去。
缓存更新:
当有新的写操作去修改database里面的数据时,需要在写操作完成之后,让cache里面对应的数据失效。
关于这种模式下依然会存在缺陷。比如,一个是读操作,但是没有命中缓存,然后就到数据库中取数据,此时来了一个写操作,写完数据库后,让缓存失效,然后,之前的那个读操作再把老的数据放进去,所以,会造成脏数据。
Facebook的大牛们也曾经就缓存处理这个问题发表过相关的论文,链接如下:
分布式环境中要想完全的保证数据一致性是一件极为困难的事情,我们只能够尽可能的减低这种数据不一致性问题产生的情况。
Read Through模式
Read Through模式是指应用程序始终从缓存中请求数据。 如果缓存没有数据,则它负责使用底层提供程序插件从数据库中检索数据。 检索数据后,缓存会自行更新并将数据返回给调用应用程序。使用Read Through 有一个好处。
我们总是使用key从缓存中检索数据, 调用的应用程序不知道数据库, 由存储方来负责自己的缓存处理,这使代码更具可读性, 代码更清晰。但是这也有相应的缺陷,开发人员需要给编写相关的程序插件,增加了开发的难度性。
Write Through模式
Write Through模式和Read Through模式类似,当数据发生更新的时候,先去Cache里面进行更新,如果命中了,则先更新缓存再由Cache方来更新database。如果没有命中的话,就直接更新Cache里面的数据。
2.缓存穿透问题
在高并发的场景中,缓存穿透是一个经常都会遇到的问题。
什么是缓存穿透?
大量的请求在缓存中没有查询到指定的数据,因此需要从数据库中进行查询,造成缓存穿透。
会造成什么后果?
大量的请求短时间内涌入到database中进行查询会增加database的压力,最终导致database无法承载客户单请求的压力,出现宕机卡死等现象。
常用的解决方案通常有以下几类:
1.空值缓存
在某些特定的业务场景中,对于数据的查询可能会是空的,没有实际的存在,并且这类数据信息在短时间进行多次的反复查询也不会有变化,那么整个过程中,多次的请求数据库操作会显得有些多余。
不妨可以将这些空值(没有查询结果的数据)对应的key存储在缓存中,那么第二次查找的时候就不需要再次请求到database那么麻烦,只需要通过内存查询即可。这样的做法能够大大减少对于database的访问压力。
2.布隆过滤器
通常对于database里面的数据的key值可以预先存储在布隆过滤器里面去,然后先在布隆过滤器里面进行过滤,如果发现布隆过滤器中没有的话,就再去redis里面进行查询,如果redis中也没有数据的话,再去database查询。这样可以避免不存在的数据信息也去往存储库中进行查询情况。
什么是缓存雪崩?
当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。
如何避免缓存雪崩问题?
1.使用加锁队列来应付这种问题。当有多个请求涌入的时候,当缓存失效的时候加入一把分布式锁,只允许抢锁成功的请求去库里面读取数据然后将其存入缓存中,再释放锁,让后续的读请求从缓存中取数据。但是这种做法有一定的弊端,过多的读请求线程堵塞,将机器内存占满,依然没有能够从根本上解决问题。
2.在并发场景发生前,先手动触发请求,将缓存都存储起来,以减少后期请求对database的第一次查询的压力。数据过期时间设置尽量分散开来,不要让数据出现同一时间段出现缓存过期的情况。
3.从缓存可用性的角度来思考,避免缓存出现单点故障的问题,可以结合使用 主从+哨兵的模式来搭建缓存架构,但是这种模式搭建的缓存架构有个弊端,就是无法进行缓存分片,存储缓存的数据量有限制,因此可以升级为Redis Cluster架构来进行优化处理。(需要结合企业实际的经济实力,毕竟Redis Cluster的搭建需要更多的机器)
4.Ehcache本地缓存 + Hystrix限流&降级,避免MySQL被打死。
使用 Ehcache本地缓存的目的也是考虑在 Redis Cluster 完全不可用的时候,Ehcache本地缓存还能够支撑一阵。
使用 Hystrix进行限流 & 降级 ,比如一秒来了5000个请求,我们可以设置假设只能有一秒 2000个请求能通过这个组件,那么其他剩余的 3000 请求就会走限流逻辑。
然后去调用我们自己开发的降级组件(降级),比如设置的一些默认值呀之类的。以此来保护最后的 MySQL 不会被大量的请求给打死。