加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com.cn/)- 业务安全、应用安全、终端安全、数据分析、数据应用!
当前位置: 首页 > 服务器 > 系统 > 正文

缓存数据库底座哪家强?高级黑科技带你翱翔

发布时间:2022-06-21 08:46:08 所属栏目:系统 来源:互联网
导读:随着技术的发展,缓存技术的大规模使用是现代互联网架构区别于传统IT技术最大的地方。通过合理利用缓存技术与缓存数据库,可以帮助企业有效提升系统的性能、可用性与扩展性,助力企业提供更加敏捷创新与稳定安全的服务。 事实上,缓存技术与缓存数据库的应用
  随着技术的发展,缓存技术的大规模使用是现代互联网架构区别于传统IT技术最大的地方。通过合理利用缓存技术与缓存数据库,可以帮助企业有效提升系统的性能、可用性与扩展性,助力企业提供更加敏捷创新与稳定安全的服务。
 
  事实上,缓存技术与缓存数据库的应用无所不在,与我们的生活息息相关。从金融、医疗到互联网业务,小到我们日常生活中经常使用的各种购物网站、订餐系统、购票系统、视频/直播类app、行程码/健康码系统等等,可以说都与缓存技术密切相关。然而,企业在应用缓存技术与缓存数据库的过程中,通常会以传统x86服务器集群为底座,却常会面临以下三大挑战:
 
  1. 随着缓存技术与缓存数据库的广泛应用,集群中x86服务器的内存和其他硬件故障概率也在增加
 
  2. 服务器内存损坏故障发生时,恢复流程复杂,恢复时间冗长
 
  3. 随着x86 服务器数量不断增长,架构越来越复杂,管理难度不断增加
 
  那么,在传统的 x86 服务器集群架构之外,是否有其他更好的平台架构可以解决上述的三大挑战呢?答案是肯定的。实际上,越来越多的客户已经开始通过具备更高整合效率、更高主频、更大缓存、以及更佳内存可靠性的底层架构来支撑缓存数据库,打造高性能、高可用、易管理的缓存数据库底座,让业务插上黑科技的翅膀,腾飞翱翔。
 
  主流的缓存数据库有哪些?
 
  缓存是一种通用的设计模式:这种模式一般利用增加存储空间的方式,实现低速部件与高速部件之间的解耦。也就是说,实现了解耦的地方就有存在缓存的可能,既然解耦是计算机系统架构设计中最常用的手段,那么缓存就必将在IT系统和架构中无处不在,如CPU内部缓存,客户端浏览器缓存,Web服务器缓存,应用程序缓存,数据库缓存等。
 
  在各种普遍使用的缓存技术中,基于内存数据库的NoSQL分布式缓存技术在目前的缓存数据库领域得到了广泛的应用。其中最为典型的就是Memcached和Redis这两种高性能分布式内存缓存数据库,一般用来缓存访问的热点数据,减轻物理数据库压力和负载。
 
  Memcached是一个开源、高性能、将数据分布于内存中并使用key-value存储结构的缓存系统。它通过在内存中缓存数据来减少向数据库的频繁访问连接的次数,可以提高动态、数据库驱动之类网站的运行速度。
 
  Memcached基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
 
 
 
  和Memcached不同的是,Redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
 
  在此基础上,Redis支持各种不同方式的排序。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的使用RDB快照的方式,把更新的数据写入磁盘或者使用类似MySQL的AOF日志方式把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis支持将数据同步到多台从数据库上,这种特性对提高读取性能非常有益。
 
 
 
  实际案例:缓存数据库底层架构深度分析
 
  通常情况下,客户大部分的分布式缓存系统都基于x86服务器打造,也取得了性能等方面的明显改进,但同时也存在一些问题,比如x86节点的稳定性问题,网络传输时延导致的数据一致性问题,x86节点过多导致的管理问题等。
 
  不管是Memcached还是Redis,都需要一个性能更高,更稳定的硬件平台来支撑。通过对LinuxONE平台的特性研究可以发现,在特定场景下,LinuxONE平台特有的高主频,高密度和高可靠性可以解决很多在x86架构上构建分布式缓存集群过程中遇到的这些问题。
 
  以某客户的Memcached集群方案为例,客户在x86平台上的某应用解决方案如下图所示:
 
 
 
  其中,4套Memcached,每套10台机器 10T内存,定期做Dump(大约8T),用于恢复。
 
  客户遇到的问题如下:
 
  1. 约10T的缓存数据库,x86服务器集群平均每月会出现内存故障一次
 
  2. 恢复流程麻烦:如果单台服务器内存损坏故障,同中心3.5小时恢复,他中心5小时恢复
 
  3. 整个硬件环境复杂,管理复杂度高
 
  对应地,IBM LinuxONE部署方案如下图所示:
 
 
 
  每台LinuxONE的部署方式如下:
 
 
 
  通过对比测试发现,在实现同样性能的前提下,LinuxONE平台具备如下优势:
 
  1. 整合效率:一台LinuxONE整合一个数据中心的关键x86服务器和高端Unix服务器,使用两台即可实现原先需要几十台x86+ 高端Unix服务器的集群搭建,极大地降低了系统复杂度及维护难度;
 
  2. 高性能:LinuxONE的高主频(5.2GHz)大缓存(超过11GB)可确保单个节点的高处理能力和性能;
 
  3. LinuxONE平台内存特有的RAIM高可用技术可以避免内存故障导致的内存库恢复,极大地提升系统可用性;
 
  4. LinuxONE独有的内存通讯技术可以大幅度提升网络带宽,降低通讯时延,提升集群数据一致性;
 
  5. LinuxONE平台高达99.9999%的可用性可以确保系统可用性,同时降低维护复杂度。
 
  注:
 
  LinuxONE 内存高可用技术RAIM全称为Redundant Array of Independent Memory,与RAID冗余磁盘阵列设计原理相同,每个CPU芯片上的内存控制器(MCU)控制5根内存DIMM,其中1根作为校验数据,可避免单一内存条发生故障导致整个系统无法运作。
 
 
 
  RAIM内存高可用技术示意图
 
  不仅是Memcached,LinuxONE平台在Redis这样的缓存数据库的应用场景中同样具备这些优势。可以说LinuxONE和缓存数据库的结合,是缓存数据库追求最高可用性和一致性的黄金组合。其“以一敌百”的数据中心整合效率和众多黑科技带来的优势,让LinuxONE成为缓存数据库的最佳底座,帮助企业提供更加敏捷创新与稳定安全的高性能服务。

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读