印尼“支付宝” DANA 如何借力 OceanBase 实现3个“关键零”

当前,移动支付在东南亚正迅猛发展,据谷歌、淡马锡与贝恩公司发布的报告预测,东盟地区蓬勃兴起的移动支付市场有望在2030年突破至2万亿美元的交易规模。
在此背景下,DANA作为印尼——东南亚最大经济体中的一员,秉持着推动“无现金社会”的宏伟愿景,经过过去六年的不懈努力,已悄然崛起为印尼电子钱包及支付服务领域的佼佼者,其用户基数已接近2亿。
在 DANA 快速发展的过程中,一套强大且可扩展的技术基础设施至关重要,在对比了性能、产品、稳定性、迁移成本等多方因素后,DANA 选择了 OceanBase 为其提供数据库底层支持。
一、DANA 崛起,海量交易数据应运而生
DANA 成立于 2018 年,处于印尼迅速发展的数字领域的前沿,一出现迅速成为该国领先的电子钱包和支付服务之一,截至 2024 年,DANA 已拥有接近 2 亿的庞大用户基础,作为印度尼西亚无处不在的数字支付服务,DANA 近两年开始了其增长和转型之旅。
DANA 的征程始于一个愿景:在印尼创造一个无现金社会,为大众提供安全、可靠和创新的金融服务。基于此愿景,DANA 不断丰富自己的业务场景,包括转账、信用卡绑定、余额充值等,并成为首家与印尼快速响应代码标准(QRIS)网络集成,实现二维码支付的电子钱包。
由于服务范围广泛,DANA 每年可以记录数 10 亿次的交易数据,也正因此,其在国内电子钱包领域处于领先者的地位。然而,在 2018 年初,随着线上交易和商家合作的迅速增长,很快,DANA 就遇到了可扩展性和可持续性不足的障碍,原有使用的数据库无法满足现有系统需求,诸如交易管理、支付处理、账单、会员和营销等都开始运行缓慢。
如何在高并发和不可预测的交易背景下,一直保持数据库系统的稳定性,并保证可靠的性能和运行稳定成为了 DANA 亟需解决的问题。除此以外,DANA 还面临着数据丢失和长时间停机的风险,以及从本地部署向混合云部署过渡的复杂性。
DANA 技术运营与工程副总裁 Zikry Zakiyulfuadi 介绍:“DANA 最初采用的是类似 MySQL 的数据库,由于在线交易和合作商家数量快速增长,每当高峰时期,原有的用于交易管理、支付、账务、会员和营销等系统的数据库就很难灵活扩容,系统容量多次达到上限,这促使 DANA 寻求更强大的数据库解决方案。”
二、与 OceanBase 结缘,启动数据库升级工作
OceanBase 自 2010 年起投入研发,在应对电商发展带来的用户和交易量增长方面,有很好的实践经验——支付宝。
支付宝作为中国移动支付的先行者,也是 OceanBase 的首批用户之一,十余年成长,OceanBase 经历了支付宝大规模金融场景的多年打磨,曾成功应对在高峰时期每秒 6100 万次查询的交易量。
可以说其所具备的高可用、容灾性能等非常适配 DANA 所遇到的问题。由于可预见的流量增长,原本的 MySQL 数据库显然已经达到容量限制,得益于 OceanBase 在电子支付行业数据库升级的成功经验,DANA 在 2018 年选择了与 OceanBase 合作,并开始启动其数据库升级工作。
OceanBase 认为:为避免停机和数据丢失,数据库的可靠性和高可用性至关重要;其次性能也是关注的重点,OceanBase 的目标是低延迟和高吞吐量,借此去提供无缝的用户体验。Zikry 补充说:“OceanBase 的分布式架构使 DANA 能够在业务高峰期无缝扩展。这种分布式数据库与传统银行或企业中使用的数据库架构不同。传统的是主-备,但在 OceanBase 中,我们是主-主。”
这意味着,不是由主服务器处理全部工作负载,备份服务器仅在发生故障时才激活,而是主-主高可用集群能均匀分配工作负载至所有节点,确保最优的负载平衡。
三、实现混合云部署,做到 3 个“关键零”
当 DANA 在 2019 年开始从本地架构迁移到混合云架构的旅程时,OceanBase 再次为其提供了至关重要的技术助力。
DANA 首席技术官 Norman Sasono 在上周参加了 OceanBase 的首届海外技术峰会。他在会上分享:”与 OceanBase 的合作过程中,DANA 对分布式数据库有了更深入的了解,也让 DANA 更熟悉混合云架构,自己和团队的专业知识都上了一个新台阶,正是通过与 OceanBase 的合作,我们才决定建立一个现代化、统一的数据库,以确保我们的技术弹性和业务增长。”

Norman 指出,根据他们的经验,100%的本地部署或 100%的公共云都不是 DANA 的最佳选择。他发现,对于常规工作负载,本地运行更经济,但在遇到高流量峰值时,需要将工作负载转移到云端。
2019 年 DANA 开始部署混合云,借助 OceanBase 促成了无缝过渡,使 DANA 拥有了“弹性伸缩能力”,特别是在需要支持系统高可用性时,能灵活地将工作负载移动到公共云。
同时,OceanBase 还提供了备份能力,基于 OceanBase 的多活能力,DANA 实现三机房混合云部署,即使三个数据中心之一不堪重负,仍有两个备份可用。有了这样的技术基础设施,在随后的 2020 年,DANA 实现了零数据库故障和零数据丢失,整体业务系统可用性超过 99.99%。
Zikry 补充说:“ OceanBase 能够在最小环境运行,每秒可以处理数千次交易,可以无缝支持 DANA 的业务增长,保证业务高峰期间也可以稳定运行。OceanBase的可扩展性加上 RTO<8 秒的容灾水平,以及 7*24 的全球远程技术支持,确保了DANA 即使交易量飙升,也能保持高性能和可靠性。”
此外,采用 OceanBase 最显著的好处是 DANA 实现了三个关键的零:零停机时间、零数据丢失、零数据不一致。每个节点都有相同的数据,所以不会有数据丢失。同步的时间在亚毫秒级,非常快。
这种稳定性和数据完整性非常有利于在用户和商家之间建立信任。Norman 补充说,随着 DANA 的在线交易和商户合作每年呈指数级增长,一个可扩展、可持续的数据库解决方案至关重要。
四、持续深耕,越来越懂海外用户
目前,DANA 的用户数仍在持续增长中。Zikry 介绍,2023 年底 DANA 用户数为约 1.5 亿,目前已增长到约 1.8 亿,而印尼总人口已超过 2 亿,这意味着对数字化技术的需求仍有巨大空间。
OceanBase 作为一款国产数据库,在过去几年也在持续加快出海脚步。在海外市场,OceanBase 选择在电商、零售、物流、电子支付等实战经验最丰富的行业进行深耕,不仅输出技术,更传递实战经验。
目前在全球,OceanBase 已拥有超过 1000 家客户,除印尼电子钱包 DANA 外,还应用在菲律宾电子钱包 GCash、非洲电子钱包 PalmPay、伊拉克国家信用卡 QiCard 等众多海外用户。
未来,OceanBase 将持续助力 DANA 的每一笔「支付」都算数,协同 DANA 让印尼人民的生活更加便捷美好。
相关文章:
印尼“支付宝” DANA 如何借力 OceanBase 实现3个“关键零”
当前,移动支付在东南亚正迅猛发展,据谷歌、淡马锡与贝恩公司发布的报告预测,东盟地区蓬勃兴起的移动支付市场有望在2030年突破至2万亿美元的交易规模。 在此背景下,DANA作为印尼——东南亚最大经济体中的一员,秉持着推…...
2018-2022 年份微博签到数据集
前阵子接到一个实验室老师的需求,采集五年前(2024-52019)过年前后的北京微博签到数据。 前两年采集的深圳签到数据是 2022 年是当年的尚可,这次虽然时间跨度只有两个月,但是由于时间太过久远,但是颇费了一…...
Avalonia开发实践(二)——开发带边框的Grid
一、开发背景 在实际开发工作中,常常会用到Grid进行布局。为了美观考虑,会给每个格子加上边框,如下图: 原生的Grid虽然有ShowGridLines属性可以控制显示格子之间的线,但线的样式不能定义,可以说此功能非常…...
Java泛型的定义与运用
泛型 泛型的作用从使用层面上来说是统一数据类型,防止将来的数据转换异常。从定义层面上来说,定义带泛型的类,方法等,将来使用的时候给泛型确定什么类型,泛型就会变成什么类型,凡是涉及到泛型的都会变成确…...
Java如何自定义注解及在SpringBoot中的应用
注解 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说…...
微软 Edge 浏览器全解析
微软 Edge 是微软推出的一个现代化浏览器,继承了 Internet Explorer(IE)的部分功能,但在速度、安全性和兼容性方面做出了很大改进。下面是对微软 Edge 浏览器的详细解析,包括其特点、安装、配置和常见问题的解答。 微软 Edge 浏览器的特点 基于 Chromium 内核 Edge 浏览…...
C++ 八股(1)
C语言中strcpy为什么不安全?如何解决? 主要原因是缺乏对输入长度的边界检查,容易导致缓冲区溢出漏洞。 解决:可以使用strncpy函数替代,或者在程序最顶端加入代码段 #define _CRT_SECURE_NO_WARNINGS 缓冲区溢出 …...
超高精电容传感器PCAP01调试+LABVIEW数据可视化调试手记
PCAP01超高精电容传感芯片STM32LabView可视化 文章目录 PCAP01超高精电容传感芯片STM32LabView可视化一、PCAP01介绍1.1、PCAP01引脚定义1.2、电容测量1.3、温度测量1.4、PCAP典型测试电路 二、PCAP01的STM32驱动2.1、SPI协议配置2.2、PCAP01浮空电容测量内部温度测量操作流程 …...
5.更多
发现一个项目与 MkDocs 类似的项目 PyMdown 拓展文档 ,等待探索。 1.排版模仿 以下网站使用 MkDocs 构建 Material for MkDocs 的美化 - Charles Les Notebook (charleschile.com) Documentation - Home Assistant (home-assistant.io) Godot Docs – master bra…...
ConditionalOnJndi注解使用介绍、应用场景以及示例代码
概述 ConditionalOnJndi 是 Spring Framework 中的一个条件注解,用于在特定的 JNDI (Java Naming and Directory Interface) 环境条件下决定是否创建一个 bean 或配置一个 bean。JNDI 是 Java EE 规范中定义的一种用于访问命名和目录服务的 API,它允许 …...
Spring Cloud 引入
1.单体架构: 定义:所有的功能实现都打包成一个项目 带来的后果: ①后端服务器的压力越来越大,负载越来越高,甚至出现无法访问的情况 ②业务越来越复杂,为了满足用户的需求,单体应用也会越来越…...
自定义波形图View,LayoutInflater动态加载控件保存为本地图片
效果图: 页面布局: <?xml version"1.0" encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:la…...
每日一道算法题 求最小公倍数
题目 求最小公倍数_牛客题霸_牛客网 (nowcoder.com) Python 辗转相除法 dividend,divisormap(int,input().split()) #被除数,除数 # remainder0 余数 # 最小公倍数 def lcm(dividend,divisor):# 最大公约数def gcd(dividend,divisor):if 0divisor:return divid…...
【OCC学习18】三维几何对象工具包:TKG3d
【OCC学习18】三维几何对象工具包:TKG3d loveoobaby 已于 2022-08-26 10:10:32 修改 阅读量1.2k 收藏 10 点赞数 1 分类专栏: OpenCascade学习笔记 文章标签: 学习 版权 OpenCascade学习笔记 专栏收录该内容 24 篇文章60 订阅 订阅专栏…...
【Unix】SunOS/Oracle Solaris系统介绍
一.SunOS系统介绍 SunOS 是由 Sun Microsystems 开发的 Unix 操作系统。它最初是为 Sun 的 SPARC 架构计算机设计的,后来也支持了 Intel x86 架构。SunOS 是基于 UNIX System V 4.1 版本,并且随着时间的发展,SunOS 经历了多个版本迭代&#…...
氛围感视频素材高级感的去哪里找啊?带氛围感的素材网站库分享
亲爱的创作者们,大家好!今天我们来聊聊视频创作中至关重要的一点——氛围感。一个好的视频,不仅要有视觉冲击力,还要能够触动观众的情感。那我们应该去哪里寻找这些充满氛围感且高级的视频素材呢?别急,我这…...
基于Java的学生选课系统
第1章 系统概述 1.1概述 背景:随着计算机网络技术的发展,Web 数据库技术已成为应用最为广泛的网站架构基础技术。学生选课系统作为教育单位不可缺少的部分,其内容对于学校的决策者和管理者至关重要。传统的人工管理方式存在效率低、保密性差等…...
802.11漫游流程简单解析与笔记_Part2_05_wpa_supplicant如何通过nl80211控制内核开始关联
最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包…...
STM32的 DMA(直接存储器访问) 详解
STM32的DMA(Direct Memory Access,直接存储器存取)是一种在单片机中用于高效实现数据传输的技术。它允许外设设备直接访问RAM,不需要CPU的干预,从而释放CPU资源,提高CPU工作效率,本文基于STM32F…...
14-65 剑和诗人39 - 打造你自己的 Devin
绝密 Devin 架构 更具体地说,构建您自己的 AI 代理。 Devin 使用 GPT-4 ,而人们已经开始用 Claude-3-Opus 构建替代方案 Devin 的 UI 体验更好。 例如,它甚至看不到浏览器,但它确实存在于用户面前 此外,你可以随时与它“交谈”,就像与人交谈一样,它会在后…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
