OushuDB × 东方证券:数据仓库信创国产化最佳实践

news2024/12/23 18:29:32

前言:东方证券是一家综合类证券公司,成立于 1998 年,总部设在上海。经过 20 多年的发展,东方证券现有分支机构 177 家、管理 3200 亿资产,服务上亿客户。与一个大型金融机构相匹配的,正是东方证券当前管理的海量数据。

一、案例背景

2013 年起,东方证券陆续引入数据仓库平台、大数据应用平台、资讯中心大数据平台,以实现对业务运行提供数据支撑,由这三个数据平台组成的数据平台体系是东方证券金融科技战略规划的重要组成。

数据仓库平台和大数据平台因数据割裂、业务发展和技术迭代等原因,与战略规划所要求的数据平台服务能力存在较大差距。长期来看需要构建一个统一的数据平台,支撑公司经营管理中各类数据的全面有机融合。考虑到自身业务模式、组织架构和现有系统建设现状,东方证券将以数据仓库平台为核心,将全业务数据盘活和打通,用数据指导运营,赋能业务,支撑决策。

东方证券数据仓库建设于 2013 年,采用基于 MPP 架构的关系型数据库 Netezza,经过扩容已接近 30T 容量。数据仓库承载着东方证券的核心业务数据,目前整合处理了包含零售业务端数据、公司自营数据和市场金融工具数据。

然而,现有的 Netezza 一体机数据库已经形成数据管理的瓶颈,因此东方证券迫切需要新平台来更好地进行数据的管理、运营和服务,以实现金融科技既定数据平台目标。

二、需求分析

1.平台扩展

东方证券原有的数据仓库是基于 Netezza 一体机构建的。当一体机容量趋于饱和,如果不迁移存量数据的话,便只能删除部分历史数据来维持其正常的数据应用需求,潜在的数据丢失和损坏即将对业务侧造成严重的影响。

2.系统性能

跟所有一体机一样,Netezza 通过特殊硬件来提升性能,但是可扩展性一般。随着数据量的增加,一体机的数据处理性能下降,部分复杂报表跑批耗时显著增加,已经对数据应用产生了实质影响。

3.持续运维

平台扩展能力受限除了对业务应用、系统性能造成影响,还对备份和恢复等运维工作带来巨大挑战。然而,IBM 在全球范围内停止了对 Netezza 所有支持,外资厂商的可持续运维问题在当下自主可控的背景下显得格外突兀。

因此,东方证券新建和替换数据仓库除了考虑数仓的可拓展性、系统性能,还重点关注国产软件的自主可控和本土厂商的持续运维能力。此外,项目建设实施要在不中断业务的情况下进行,因此还需要确保整个数仓平台提供安全可靠、连续稳定的对外服务,确保对上下游业务完全兼容。同时,需要对新数据仓库的加工能力、数据精度、加工效率进行全面验证,为从Netezza 平台的平稳迁移提供全面可靠的技术评估并夯实平台基础。

三、产品选型

东方证券对多个主流数据库产品进行了对比测试,测试包括标准化测试,以及基于现有业务应用设计的场景化测试,共涉及 300 多张表以及 200 多个存储过程。在经过一系列复杂测试后,利用专有硬件的 Netezza 需要 60 分钟的处理任务,OushuDB 仅用 22 分钟,效率大幅领先。OushuDB 极致的性能远超技术专家预期。除了性能,OushuDB 相较 Netezza 在并发、扩展能力、存储等方面也有着显著的技术优势,详见下表。

基于 OushuDB 出色的产品能力,东方证券决定将 Netezza 平台的数据及应用全部迁移到偶数的 OushuDB, 同时将原来由于 Netezza 容量受限而在转移到大数据平台的数据及应用迁移至 OushuDB。

四、方案设计

2022 年 3 月,东方证券的数据迁移工作正式启动。偶数科技专家与东方证券的技术人员合作,确定了数据迁移方案,OushuDB 集群与原 Netezza 集群在外部应用接口、作业、数据表等方面保持一致。将在保证业务连续性的同时,对数仓的历史数据、增量历史数据、日常加载数据等进行迁移,充分利用新平台的物理特性。迁移过程按照物理模型迁移、ETL 脚本、SQL 脚本、历史数据和应用接口的顺序进行实施。

数据架构

东方证券数据仓库逻辑架构分层包含:数据源层、数据交换层、数据存储层、数据服务层、数据应用层,横向管理套件包含:数字化管理、DataOps、数据管控。

国产数仓平台迁移规划不仅是单一的数仓平台替换,而是技术架构升级。在本项目中,主要包含将现有 Netezza 库内对象(表、视图、存储过程等)迁移至 OushuDB,支持日常数据采集、数据 ETL 处理、数据服务、新增业务开发、应用访问等的平滑过渡。平台替换基于 OushuDB 数据库特性提供最佳应用实践,涉及库内规划设计的原则性调整。未来,将进行数据架构融合、数据服务融合、一体化数据管理生态等数据的长期运营规划。

五、项目实施

在完成了方案的详细设计后,启动了从 Netezza 到 OushuDB 的整体迁移工作。

1.环境部署

东方证券数仓平台系统项目共部署 17 节点(包括 ETL 节点和 OushuDB 主节点),使用海光芯片的国产服务器,运行在 KyLin 操作系统上,打造满足信创生态的纯国产数仓平台。

2.脚本开发

针对该项目数据的格式转换、映射和验证等环节,以及数据预处理、数据清洗和数据转换等工作,并结合过往项目实践,偶数为客户提供了全套数据迁移工具,以及 SQL、DDL 和 ETL 转换脚本。针对应用迁移,偶数还为客户设计开发 Netezza 存储过程到 Perl 脚本的转换工具。通过工具和脚本可以完成 90% 以上的工作,大大缩短了项目迁移时间,保障了数据迁移的高效完成。

3.数据迁移

完成用户权限和库表结构共计 3000 多个对象迁移,其中包含 200 多张视图以及其他对象迁移,2400 多张 ODS 表的历史数据迁移及其增量数据加载迁移,600 多张模型层的表的历史数据迁移。同时,还进行了 ODS 表与模型表的分区分析,以及数据结果验证。

4.应用迁移

完成了零售业务约 700 个存储过程与自营业务约 400 个存储过程的应用迁移。此外,为了保证数据质量,还进行了空表脚本运行测试、带数表脚本运行测试,调试优化脚本,字段级验证 OushuDB 数据处理结果与 Netezza 结果。在脚本验证的基础上进行日常数据加载、模型加工和常态化部署。

在系统平台数据迁移与应用迁移试运行阶段,偶数工程师提供了全面的运维技术支持,包括系统故障排错、系统性能调优、系统监控、故障点排查、集群节点故障迁移等,同时完成了东方证券数仓平台性能测试、非功能测试,平台试运行阶段全程保障。

六、项目总结

经过几个月的努力,系统顺利上线。OushuDB 在完成国产数仓平台迁移的基础上还在拓展能力和性能方面实现了升级,同时还提供了超出预期的三大能力——实时查询、超高并发、弹性扩容,随着数据化转型的升级,这几类能力变得越来越重要,是未来各行业 IT 建设的必选项。

随着数据库国产化替代进程加速,范围扩大,金融信创率先成为各行业信创推进的先行者,而东方证券使用国产数据库 OushuDB 替代 Netezza 的最佳实践,也使东方证券成为了证券行业国产数据库替代的先行者。在该项目中,OushuDB 保证数仓平台承载更多业务应用的同时,还提升了平台的性能和扩展能力,也探索出了湖仓双重能力替代与整合的新思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

想利用业余时间当一名黑客?要具备什么能力,确定不来看看?

几十年前刚有小型电脑的时候,产生了一个由程序专家和部分网络名人所组成的文化社群。该社群的成员创造出了hacker这个词,也就是人们常说的“黑客”。这些黑客们建立了后来的Internet,以及发明了电脑的操作系统。 如果有人对这种文化做出了贡…

OpenResty(Nginx)示例

Nginx Nginx概念: 聊到Nginx,先简单讲一下Nginx的基本概念 Nginx是一个高性能的、开源的 Web 服务器和反向代理服务器软件,由 Igor Sysoev 开发。它可以作为 HTTP 服务器使用,也可以作为负载均衡器、HTTP 缓存、反向代理和邮件代理等其他功…

Spring ( 二 ) 介绍

2.Spring Spring框架是一个用于Java开发的开源应用程序框架,提供了一系列的工具和解决方案,帮助开发者快速构建高质量、可维护的企业级应用。Spring框架的主要特点包括:模块化、轻量级、可测试性、松耦合、面向切面编程(AOP&…

NFT Insider #94:​The Sandbox与ERM Labs达成合作,周杰伦与中国移动开启元宇宙合作

引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…

c高级作业3

#!/bin/bash#有m1.txt m2.txt m3.txt m4.txt&#xff0c;分别创建出对应的目录&#xff0c;m1 m2 m3 m4 并把文件移动到对应的目录下 for ((i1;i<5;i)) do mkdir m$i touch m$i.txtmv m$i.txt m$i done九九乘法表 #九九乘法表 i1 j1 while [ $i -le 9 ] do j1while [ $j -l…

对称算法模式-GCM(Galois/Counter Mode)

以下内容来自《NIST Special Publication 800-38D November, 2007》- Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC。 链接在此 AES Galois/Counter Mode 1. 加密步骤 2. 解密步骤 3. GCTR函数 4. GHASH函数 5. 块数据乘法 6. C…

网络分层模型 | OSI七层模型、TCP/IP四层模型

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

群报数是什么应用?群报数的内容如何自动写入至在线表格?

群报数是什么产品&#xff1f; 群报数是一个人人可用的在线表单工具&#xff0c;可发起「填表、收集、问卷、打卡、通知、预约、报名、投票」等类型的页面&#xff0c;支持预设名单&#xff0c;可快速排查谁未填、并对未填人员一键催填&#xff0c;所收集的数据支持「一键导出…

蓝奥声智能灯控解决方案:一种无线单火取电控制技术

单火开关出现鬼火现象一般是出现在控制小功率灯具的情况下&#xff0c;正常的5W之上的灯具一般是没啥问题的&#xff08;质量差的除外&#xff09;。就现在来说&#xff0c;单火稳定性与零火版相比还是有所欠缺&#xff0c;毕竟从电路原理上来说&#xff0c;这确实是一个硬伤。…

Spark 从入门到精通

Spark 从入门到精通 环境搭建 准备工作 创建安装目录 mkdir /opt/soft cd /opt/soft下载scala wget https://downloads.lightbend.com/scala/2.13.10/scala-2.13.10.tgz -P /opt/soft解压scala tar -zxvf scala-2.13.10.tgz修改scala目录名称 mv scala-2.13.10 scala-2下…

容灾到对象存储,能降低多少灾备成本?以华为云容灾为例

根据IPlytics的数据显示&#xff0c;华为是唯一一家进入全球十大云计算专利拥有者排行榜的中国公司&#xff1b; 华为是唯一一家提供端到端服务能力的云服务商&#xff0c;从底层的物理设备到上层的虚拟化建设都是有华为自主研发的产品&#xff1b; 华为是国内唯一一家提供5线全…

开源大模型文档

开源大模型综述 排行榜1.LLaMA资源&#xff1a; 2.Chinese-LLaMA-Alpaca资源&#xff1a; 3.Alpaca资源&#xff1a; 4.Alpaca-LoRA5.Vicuna资源&#xff1a; 6.OpenChatKit资源&#xff1a; 7.GPT4ALL8.Raven RWKV资源&#xff1a; 9.OPT资源&#xff1a; 10.Flan-T5-XXL资源&…

PowerShell install 一键部署subversion

subversion SVN是subversion的缩写&#xff0c;是一个开放源代码的版本控制系统&#xff0c;通过采用分支管理系统的高效管理&#xff0c;简而言之就是用于多个人共同开发同一个项目&#xff0c;实现共享资源&#xff0c;实现最终集中式的管理。 TortoiseSVN TortoiseSVN 是…

ICG-Azide/Alkyne吲哚菁绿标记叠氮/炔基-星戈瑞

ICG-Azide 吲哚菁绿标记叠氮 分子式&#xff1a;C48H56N6O4S 分子量&#xff1a;813.07 外观&#xff1a;固体/粉末 激发、发射波长:785/821nm 规格&#xff1a;mg 溶解性&#xff1a;溶于DMSO或DMF ICG-Azide是一种新型的荧光探针&#xff0c;其化学性质独特。它是一种含…

MongoDb简单使用

介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数据库的。 它支持的数据结构非常松…

leetcode50 快速幂

https://leetcode.cn/problems/powx-n/实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c; x n x^n xn &#xff09;。 示例 1&#xff1a;输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a;输入&#xff1a;…

安全工程师必读 ——《安全技术工具扫盲》

安全技术 SAST - 静态应用安全测试&#xff08;白盒检测&#xff09;DAST - 动态应用安全测试&#xff08;黑盒检测&#xff09;IAST - 交互式应用安全测试&#xff08;灰盒检测&#xff09;RASP - 运行时应用自我保护Dependency Scanning&#xff08;依赖项安全扫描&#xff…

袋鼠云产品功能更新报告05期|应有尽“优”,数栈一大波功能优化升级!

这段时间&#xff0c;我们对产品本身以及客户反馈的一些问题进行了持续的更新和优化&#xff0c;包括对离线平台数据同步功能的更新&#xff0c;数据资产平台血缘问题的优化等&#xff0c;力求满足不同行业用户的更多需求&#xff0c;为用户带来极致的产品使用体验。 以下为袋…

边缘计算节点是啥?边缘计算与CDN有什么关系?一文带你了解边缘计算节点BEC(2)

上文已经为大家详细介绍了边缘计算节点 BEC 与 CDN 之间的关系&#xff0c;对于 CDN 而言&#xff0c;边缘计算不仅仅只增加了存储、计算的功能&#xff0c;还有网络、安全等等一系列的基础能力。 如果大家感兴趣&#xff0c;欢迎阅读我们上一篇文章 边缘计算节点是啥&#x…

如何在pythonanywhere上部署Django项目?

PythonAnywhere是一个基于云的Python开发平台&#xff0c;它允许用户在云端运行、开发和部署&#xff0c;该平台提供了Python编程环境、Web框架、数据库和Web服务器等工具&#xff0c;让用户可以轻松地创建和部署Python应用程序。PythonAnywhere还提供了免费和付费的服务&#…