0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

选择 KV 数据库最重要的是什么?

jf_94205927 来源:jf_94205927 作者:jf_94205927 2024-03-28 22:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经常有客户提到 KV 数据库,但却偏偏“不要 Redis”。比如有个做安全威胁分析平台的客户,他们明确表示自己对可靠性要求非常高,需要的不是开源 Redis 这种内存缓存库,而是 KV 数据库。虽然最后我也没问清楚他们业务存啥(推测是这块业务数据比较机密),但确实业务本身对可靠性要求非常高,开源 Redis 自身的可靠性无法满足他们的要求,最终该用户选择使用 GaussDB(for Redis)数据库,当前数据量已经是 2TB 规模,一直稳定运行中。

真正的 KV 数据库,业界有好几项开源的项目,云厂商也纷纷推出自家产品,比如华为云 GaussDB(for Redis)。使用方在调研选型 KV 数据库的时候,由于要存储百 GB 甚至数十 TB 级的重要数据,首先关注的是数据库是否稳定可靠,同时懂行的客户一般也会聊到自建开源 Redis 的“不靠谱”问题,例如:

问题 1:自建开源 Redis 有丢数据和数据不一致的风险

广告竞价和推荐等大数据业务将海量数据存放在 KV 数据库,开源 Redis 是将全量数据存在内存中,虽然有 RDB 和 AOF 的备份机制,但那只是普通的文本文件,可靠性很低,只能作为兜底手段,关键数据该丢还是会丢。

另外,开源 Redis 主备节点采用异步复制的机制,故障倒换的时候有可能出现明显的数据不一致,像是分布式锁这类场景就会很尴尬:

wKgaomYFejKABcBUAAYcik-_bpw704.png

问题 2:“Cache+DB”的业务架构复杂

电商和游戏等互联网业务采用 Redis 缓存+持久化数据库的架构,通过缓存加速来提升业务的使用体验,业务需要设计缓存的淘汰机制,还需要解决缓存与持久化数据库之间的数据一致性问题,业务架构复杂。

问题 3:开源 Redis 分片故障不能提供服务,故障场景对业务影响比较大

金融、财经和电商等业务对可靠性要求极高,开源 Redis 单个数据分片存放在主备两个节点上,如果两个节点都出现故障,则整个分片的数据不可访问,应对极端故障场景的能力不足。

社区开源的项目一般都引入了 RocksDB 存储引擎(这东西深的很),其实能把上层 KV 业务变得稳定许多,通过持久化存储介质替代内存的方式来弥补开源 Redis 的不足。但它们无法完美解决性能、兼容性和扩容的问题,更无法保证数据库的稳定可靠,还需要投入专门的人力进行搭建维护、调优等……最终综合算下来,成本并不低。

云厂商的 KV 数据库由于进行了技术创新与优化,一般比较给力,以 GaussDB(for Redis)为例,下面从以下几个角度解释如何把一款产品做到“靠谱”:

企业级特性 1:采用内存+NVMe 的存储方案,全量数据三副本持久化存储

GaussDB(for Redis)在存储池中有三副本落盘到 NVMe 存储池中,宕机不会丢数据,也不会存在主从同步的问题。因此,客户可以直接拿 GaussDB(for Redis)当做持久化数据库使用,一库顶多库,业务架构变得简单,也减轻了多套数据库的运维成本。

wKgaomYFek6AXkraAAHLaHtvMkg513.png

企业级特性 2:采用存算分离的架构,支持 3AZ 部署和 N-1 故障的超高可用

GaussDB(for Redis)支持 3AZ 部署计算节点,均匀分布在 3 个不同的可用区,如果遇到 1 个或 2 个可用区出现网络、制冷、电力等突发故障,剩余可用区的节点能接管故障节点的数据分片,还能继续支撑业务访问全量数据。

同样得益于存算分离的架构,GaussDB(for Redis)将全量数据落盘到分布式存储池,最多支撑 N-1 故障,哪怕只剩下一个节点正常,也能通过接管所有分片,继续支撑业务运行。

wKgZomYFel-ACpDlAAOJhSkAmb0421.png

企业级特性 3:双活解决方案支持极致稳定可靠,灵活组网

如果遇到大规模网络故障、电力故障、火灾或自然灾害,导致整个数据库实例不可用,甚至整个 Region 都不可用,GaussDB(for Redis)也在这些极端场景下保证业务的连续性。

GaussDB(for Redis)支持给两个跨 region 的实例建立双活关系,支持数据的同步,如果其中一个实例故障,另一个实例能接管业务,持续提供可靠的数据库服务。双活解决方案已在华为内部 ERP 中稳定部署运行,为 ERP 业务的持续运行提供强有力的保障。

wKgaomYFemqAbtbDAAI8JqO8t1E261.png

总结

综上所述,GaussDB(for Redis)提供了全量数据三副本持久化存储,支持 3AZ 部署和 N-1 故障的超高可用,双活解决方案支持极致稳定可靠,灵活组网,稳定性和可靠性远超开源 Redis,是一款真正能让企业核心业务放心上云的 KV 数据库。

所以,如果你的业务需要一款稳定可靠的 KV 数据库,可以试试 GaussDB(for Redis)

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4081

    浏览量

    68524
  • 开源
    +关注

    关注

    3

    文章

    4329

    浏览量

    46430
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MySQL数据库备份恢复方式对比

    备份是数据库运维中最重要也最容易被忽视的环节。"重要"体现在数据丢失时备份是唯一的救命稻草,"忽视"体现在很多团队有备份脚本但从未做过恢复演练,等到真正需要恢复时才发现备份文件损坏或恢
    的头像 发表于 03-04 15:39 223次阅读

    Oracle数据库ASM实例无法挂载的数据恢复案例

    一个Oracle数据库故障表现为ASM磁盘组掉线,ASM实例无法挂载(mount)。数据库管理员自行进行简单修复,未能成功,随后联系北亚数据恢复中心恢复数据
    的头像 发表于 02-24 15:19 187次阅读
    Oracle<b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    恒讯科技解析:如何安装MySQL并创建数据库

    管理系统(RDBMS),使用结构化查询语言(SQL)高效地组织和管理数据。它是全球最受欢迎的开源数据库系统之一,广泛应用于网页开发、电子商务和商业应用。 常见用例  MySQL 是多种应用的可靠选择,包括: 网络应用:管理用户认
    的头像 发表于 01-14 14:25 331次阅读

    国产数据库的AI战事

    国产数据库硝烟再起,Vastbase V100构筑企业智能基座
    的头像 发表于 10-24 20:45 4362次阅读
    国产<b class='flag-5'>数据库</b>的AI战事

    华纳云为游戏数据库选择高性能NVMe SSD存储

    游戏数据库对速度、可靠性和可扩展性有极高要求。随着在线游戏的发展,开发者越来越依赖NVMe SSD存储来提供服务器租用和服务器托管解决方案。本文将指导您了解为游戏数据库选择高性能NVMe SSD存储
    的头像 发表于 09-30 16:03 1190次阅读

    数据库性能优化指南

    作为一名在大厂摸爬滚打多年的运维老兵,我见过太多因为数据库性能问题导致的生产事故。今天分享一套完整的数据库优化方法论,从SQL层面到硬件配置,帮你彻底解决性能瓶颈!
    的头像 发表于 08-18 11:21 881次阅读

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库
    的头像 发表于 07-24 11:12 833次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    三款主流国产数据库的技术特点

    随着数字经济的快速发展和数据安全要求的提升,国产数据库正迎来前所未有的发展机遇。在信创浪潮推动下,达梦数据库、TiDB、华为高斯数据库等国产数据库
    的头像 发表于 07-14 11:08 1323次阅读

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL的企业级部署、优化、维护技能至关重要。本文
    的头像 发表于 07-09 09:50 870次阅读

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 771次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 826次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    oracle数据恢复—oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据
    的头像 发表于 06-05 16:01 1733次阅读
    oracle<b class='flag-5'>数据</b>恢复—oracle<b class='flag-5'>数据库</b>误执行错误truncate命令如何恢复<b class='flag-5'>数据</b>?

    SQLSERVER数据库是什么

    SQL Server 是由微软公司开发的一款 关系型数据库管理系统(RDBMS) ,用于存储、管理和检索结构化数据。它是企业级应用中广泛使用的数据库解决方案之一,尤其适用于Windows平台,但也
    的头像 发表于 05-26 09:19 1293次阅读

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行数据存储、管理和操作,广泛应用于Web
    的头像 发表于 05-23 09:18 1424次阅读

    SEGGER emFile支持大型数据库

    SEGGER宣布emFile对大型数据库的支持,集成了SQLite,方便与SEGGER的BigFAT和微软的exFAT一起使用。
    的头像 发表于 04-23 15:51 934次阅读