当前位置: 首页 > news >正文

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

1720163744

当前,移动支付在东南亚正迅猛发展,据谷歌、淡马锡与贝恩公司发布的报告预测,东盟地区蓬勃兴起的移动支付市场有望在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 的合作,我们才决定建立一个现代化、统一的数据库,以确保我们的技术弹性和业务增长。”

1720164079

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动态加载控件保存为本地图片

效果图&#xff1a; 页面布局&#xff1a; <?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()) #被除数&#xff0c;除数 # remainder0 余数 # 最小公倍数 def lcm(dividend,divisor):# 最大公约数def gcd(dividend,divisor):if 0divisor:return divid…...

【OCC学习18】三维几何对象工具包:TKG3d

【OCC学习18】三维几何对象工具包&#xff1a;TKG3d loveoobaby 已于 2022-08-26 10:10:32 修改 阅读量1.2k 收藏 10 点赞数 1 分类专栏&#xff1a; OpenCascade学习笔记 文章标签&#xff1a; 学习 版权 OpenCascade学习笔记 专栏收录该内容 24 篇文章60 订阅 订阅专栏…...

【Unix】SunOS/Oracle Solaris系统介绍

一.SunOS系统介绍 SunOS 是由 Sun Microsystems 开发的 Unix 操作系统。它最初是为 Sun 的 SPARC 架构计算机设计的&#xff0c;后来也支持了 Intel x86 架构。SunOS 是基于 UNIX System V 4.1 版本&#xff0c;并且随着时间的发展&#xff0c;SunOS 经历了多个版本迭代&#…...

氛围感视频素材高级感的去哪里找啊?带氛围感的素材网站库分享

亲爱的创作者们&#xff0c;大家好&#xff01;今天我们来聊聊视频创作中至关重要的一点——氛围感。一个好的视频&#xff0c;不仅要有视觉冲击力&#xff0c;还要能够触动观众的情感。那我们应该去哪里寻找这些充满氛围感且高级的视频素材呢&#xff1f;别急&#xff0c;我这…...

基于Java的学生选课系统

第1章 系统概述 1.1概述 背景&#xff1a;随着计算机网络技术的发展&#xff0c;Web 数据库技术已成为应用最为广泛的网站架构基础技术。学生选课系统作为教育单位不可缺少的部分&#xff0c;其内容对于学校的决策者和管理者至关重要。传统的人工管理方式存在效率低、保密性差等…...

802.11漫游流程简单解析与笔记_Part2_05_wpa_supplicant如何通过nl80211控制内核开始关联

最近在进行和802.11漫游有关的工作&#xff0c;需要对wpa_supplicant认证流程和漫游过程有更多的了解&#xff0c;所以通过阅读论文等方式&#xff0c;记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包…...

STM32的 DMA(直接存储器访问) 详解

STM32的DMA&#xff08;Direct Memory Access&#xff0c;直接存储器存取&#xff09;是一种在单片机中用于高效实现数据传输的技术。它允许外设设备直接访问RAM&#xff0c;不需要CPU的干预&#xff0c;从而释放CPU资源&#xff0c;提高CPU工作效率&#xff0c;本文基于STM32F…...

14-65 剑和诗人39 - 打造你自己的 Devin

​​​​​ 绝密 Devin 架构 更具体地说,构建您自己的 AI 代理。 Devin 使用 GPT-4 ,而人们已经开始用 Claude-3-Opus 构建替代方案 Devin 的 UI 体验更好。 例如,它甚至看不到浏览器,但它确实存在于用户面前 此外,你可以随时与它“交谈”,就像与人交谈一样,它会在后…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...