本文分享自华为云社区《多模归一,一生万物——华为云多模数据库GeminiDB架构与应用实践》,作者: GaussDB 数据库 。

在这个信息爆炸的时代,数据的管理和应用变得越来越重要。互联网用户的规模化使得业务数据也呈现出多样性,包括社交关系、系统日志、Json、KV等。同时,越来越多的软件开发团队也倾向于使用以非关系型数据库系统为中心,更轻量、更敏捷的软件开发模式,而多模数据库作为一种新兴的数据管理解决方案,正受到越来越多的关注。

多模数据库系统和相关技术,是在NoSQL运动中产生和发展起来的。为了更系统地了解多模数据库,华为云NoSQL数据库研发总监余汶龙通过直播(链接见文末)的方式,分享了《华为云多模数据库GeminiDB的技术架构及应用实践》,解析GeminiDB的技术特性、架构优势等,亲见云原生多模数据库如何在实际应用中大放异彩,解决真实世界的复杂数据挑战。

GeminiDB是华为2017年开始启动的云原生分布式NoSQL数据库研发项目,于2019年7月正式亮相,首发文档引擎,支持MongoDB协议,2019年12月正式发布宽表引擎,2020年发布时序引擎,2021年发表KV引擎,2023年发布DynamoDB引擎。同年11月,GaussDB NoSQL正式升级为独立品牌GeminiDB。因此,GeminiDB也是一款由KV、文档、宽表和时序组成的超融合多模数据库。

GeminiDB云原生多模数据库作为华为云数据库家族中的一员,在全球有23个Region,66个可用区,局点广泛分布于海内外,总共服务了全球2000多家大型的企业,包括互联网、政府、电信等行业。

GeminiDB全球布局

GeminiDB是国内第一款支持存算分离的NoSQL数据库,兼容5种热门生态,如GeminiDB Redis接口、GeminiDB Mongo接口、GeminiDB Dynamo接口、GeminiDB Cassandra接口、GeminiDB Influx接口。

GeminiDB在短短几年内能够得到快速发展,“存算分离”和“多模扩展”的架构核心设计,是提升数据库整体能力的关键。当发生故障时,GeminiDB云原生架构具备故障秒级接管能力。GeminiDB实例3AZ高可靠,在单AZ故障的情况下,可以做到0秒RPO、数据零丢失;在任意一个节点发生故障的时候,实现RTO<10秒,搭乘高可用双活实例之后,SLA可达到99.995%,性能遥遥领先。同时在扩计算时,业务仅秒级抖动;在分级存储时,实现自动化冷热交换,应用“0”改造。

GeminiDB出色的性能,备受广告、游戏、电商等行业的青睐。游戏行业某头部公司,为降低业务高峰期游戏卡顿、延迟,打造用户实时在线通畅的体验感,使用GeminiDB数据库作为前端缓存(需要配置大内存),加速应用访问,最终实现了该游戏在全球23区域内支持资源快速下发,性能5倍提升,0.1ms稳定无抖,并轻松支撑千万级玩家在线,TB级地图数据实时同步更新,轻松应对20倍轻业务高峰变化。

还有华为手机上的华为账号、运动健康、应用市场等APP,其背后总节点数超过了1万,数据量超过了10PB,这些APP使用的是GeminiDB为其提供的双活方案,为用户提供华为终端云体验天花板。

GeminiDB在各个行业中的应用案例不胜枚举。经过数年的产品能力打磨,GeminiDB已经支持了众多的业务场景,同时,丰富的业务场景对 GeminiDB提出了多样化的特性诉求。未来,华为云GeminiDB将更加聚焦企业诉求,持续精进研发能力,夯实技术根基,走向更广泛、更深入的客户场景,赋能千行百业深度数字化,助力企业数字化转型成功。

直播链接:https://bbs.huaweicloud.com/live/cloud_live/202311201900.html

点击关注,第一时间了解华为云新鲜技术~

带你认识多模数据库GeminiDB架构与应用实践的更多相关文章

  1. 腾讯云原生数据库TDSQL-C架构探索和实践

    作为云原生技术先驱,腾讯云数据库内核团队致力于不断提升产品的可用性.可靠性.性能和可扩展性,为用户提供更加极致的体验.为帮助用户了解极致体验背后的关键技术点,本期带来腾讯云数据库专家工程师王鲁俊给大家 ...

  2. Multi-Model多模数据库引擎设计与实现

    如今,随着业务“互联网化”和“智能化”的发展以及架构 “微服务”和“云化”的发展,应用系统对数据的存储管理提出了新的标准和要求,数据的多样性成为了数据库平台面临的一大挑战,数据库领域也催生了一种新的主 ...

  3. ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据

    ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...

  4. 一篇文章带你掌握主流数据库框架——MyBatis

    一篇文章带你掌握主流数据库框架--MyBatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射. 在之前的文章中我们学习了MYSQL和JDBC,但是这些东西远远不 ...

  5. Atitit数据库层次架构表与知识点 attilax 总结

    Atitit数据库层次架构表与知识点 attilax 总结 第一阶段,大概理论(三五天 数据库的类型,网状,层次,树形数据库,kv数据库.Oodb Er模型   sql 并发控制与lock  Acid ...

  6. 【IT名人堂】何云飞:阿里云数据库的架构演进之路

    [IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 ​ 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”, ...

  7. EF当实体模型与数据库的架构不同时要删除数据库时的报错问题

    当使用的EF的时候,我们都知道EF当实体模型与数据库的架构不同时要删除数据库,这是会把错: 无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据. ...

  8. [转]Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步

    使用场景: 在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化.如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么 ...

  9. Mysql实现企业级数据库主从复制架构实战

    场景 公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司 ...

  10. 项目实战7—Mysql实现企业级数据库主从复制架构实战

    Mysql实现企业级数据库主从复制架构实战 环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公 ...

随机推荐

  1. Fortran 的简单入门和使用 OpenMPI

    Fortran 与 C-like 语言的区别简单总结 无大括号,使用关键字画出范围: C++: int main() { } Fortran: program test implicit none e ...

  2. 14. 从零开始编写一个类nginx工具, HTTP文件服务器的实现过程及参数

    wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...

  3. 一个Unity富文本插件的实现思路

    项目中原来的富文本组件不太好用,做了一些修改,记述主要思路.缺陷很多. 仅适用于没用TextMeshPro,且不打算用的项目,否则请直接用TextMeshPro 原组件特点: 使用占位符模式,创建新的 ...

  4. Codeforces Round 823 (Div. 2)C

    C. Minimum Notation 思路:我们可以进行的操作时将一个位置的数删除然后在任意位置处添加一个比当前数大1并且小于9的数,所以我们的操作只会让一个数变大,我们统计一个最大值的后缀,贪心的 ...

  5. SQL改写案例2

    postgresql 并没有像 oracle .dm 有这么丰富的 hint,在不改 sql 的情况下能干预执行计划. 如果想学好 postgresql.kingbase.MySQL  的sql 调优 ...

  6. 向量数据库Chroma极简教程

    引子 向量数据库其实最早在传统的人工智能和机器学习场景中就有所应用.在大模型兴起后,由于目前大模型的token数限制,很多开发者倾向于将数据量庞大的知识.新闻.文献.语料等先通过嵌入(embeddin ...

  7. 在keil MDK中定义非初始化(noini)变量

    具体 可以参考ARM官方资料:ARM: Uninialized Variables Get Initialized 这里是对上述资料的总结, 该方法已在项目中得到验证. 方法: 分散加载文件如下: 定 ...

  8. DOT 学习笔记

    开始大恶补图论了. 说句闲话,\(\text{ODT}\) 和 \(\text{DOT}\). \(\text{DOT}\),全称「树上启发式合并(\(\text{dsu on tree}\))」,乍 ...

  9. MySQL的索引为什么使用B+树而不使用跳表?

    目录 MySQL的索引为什么使用B+树而不使用跳表? 1.B+树的结构 2.跳表的结构 3.B+树和跳表的区别 1.B+树新增数据会怎么样 跳表新增数据 4.Mysql的索引为什么使用B+树而不使用跳 ...

  10. 一篇学会cron表达式

    1.定义 Cron表达式是一种用于定义定时任务的格式化字符串.它被广泛用于Unix.Linux和类Unix系统中,用于在指定的时间执行预定的任务.Cron表达式由6个字段组成,每个字段通过空格分隔开. ...