写点什么

携程开源数据库访问框架 Ctrip DAL

  • 2016-09-29
  • 本文字数:983 字

    阅读完需:约 3 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

随着企业规模扩张和业务量的急剧增加,作为系统核心的数据库相关开发也会经历一个由单一团队发展为多团队;由单机扩张到集群;由单数据库发展为多数据库;由采用单一数据库产品到多种数据库产品并存的过程。

伴随这一过程的是如何管理数据库扩展,如何规范数据库访问,如何保护数据库投资,如何应对访问量增加,如何预防安全问题等一系列挑战。

作为国内在线旅游行业的翘楚,携程也曾经面对同样困扰。为了应对这些挑战,实现企业 10 倍速发展,携程开发了具有自己特色的数据库访问框架 Ctrip DAL。

Ctrip DAL 支持流行的分库分表操作,支持 Java 和 C#,支持 MySQL 和 MSSqlServer。使用该框架可以在有效地保护企业已有数据库投资的同时,迅速,可靠地为企业提供数据库访问层的横向扩展能力。

整个框架包括代码生成器和客户端。工作模式是使用代码生成器在线生成代码,通过 DAL 客户端完成数据库操作。生成器具有丰富的向导指引,操作简单清晰,既可以批量生成标准 DAO,也可以在方法级别定制数据库访问。客户端则可以简单地通过标准的 maven 方式添加依赖。

Ctrip DAL 与一般数据库框架最大的不同是从企业跨部门的角度,统一管理数据库相关资源。通过部署代码生成器,企业可以做到有效的管理全公司的 DAL 开发团队,明确数据库归属和定制数据库访问。通过代码生成器生成的标准 DAO 代码与客户端配合使用,可以大幅提高工作效率,保证代码质量。解决了业内常见的伴随业务成长而带来的系统维护困难,开发效率低下,代码风格五花八门,代码质量参差不齐等痛点问题。

为了适应不同公司的实际情况,DAL 定义了丰富的扩展接口,覆盖了从数据源管理,数据库映射,连接串读取到自定义访问方式等等方方面面的功能。同时为了方便系统监控还内置了系统状态,日志和统计模块。

Ctrip DAL 由携程技术中心框架部 DAL 团队开发,历经 3 年不断打磨,在长期的实际使用中吸收了大量用户反馈。目前携程超过 117 个独立 DAL 团队通过代码生成器管理数据库和创建 DAO。2000 多个应用在使用 DAL 框架,占携程所有数据库应用总数超过 90%。

本次开源的产品包括代码生成器和 Java 客户端,C#客户端也将近期开源。DAL 各个组件的安装和使用都有详细的文档说明,开箱即用。
通过开源携程自身使用 DAL 框架,携程希望在满足自身需求的同时,服务于广大企业,并继续为中国方兴未艾的开源运动出点力。

更多详情请参考: https://github.com/ctripcorp/dal

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2016-09-29 21:496244

评论

发布
暂无评论
发现更多内容

为什么公共云的弹性能力很难被发挥出来?

AutoMQ

Java 大数据 云原生 AutoMQ

MES管理系统的生产模块与ERP有何差异

万界星空科技

ERP mes 万界星空科技 制造业工厂

建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力

袋鼠云数栈

数据资产 医疗 医疗AI 医疗中台 数据服务

Pandas read_csv 参数详解

霍格沃兹测试开发学社

神器!使用Python 轻松识别验证码

霍格沃兹测试开发学社

Python数据可视化神器——pyecharts教程(一)

霍格沃兹测试开发学社

时序数据库 IoTDB 赋能上海电气国轩智慧储能运营云平台建设

Apache IoTDB

2024春季火山引擎FORCE原动力大会,5月15日开幕

新消费日报

掌握Python中的系统监控与管理:使用psutil库

霍格沃兹测试开发学社

iPaaS中API自动化测试的作用

RestCloud

自动化测试 API ipaas

IDC:中国边缘计算市场快速增长,浪潮信息份额近半稳居第一

财见

深入理解计数器函数:闭包与装饰器

测吧(北京)科技有限公司

测试

如何在MySQL 中更改数据的前几位数字?

霍格沃兹测试开发学社

免费云电脑能做什么?

青椒云云电脑

云桌面 云电脑

在线云电脑云桌面如何操作使用

青椒云云电脑

云桌面 云电脑 云电脑云桌面

数据治理的难题:如何化解?

郑州埃文科技

深入理解 FFmpeg:安装和使用指南

霍格沃兹测试开发学社

有了淘宝商品详情实时数据接口,用户体验up up up!

tbapi

淘宝商品详情数据接口 淘宝API接口 淘宝商品详情接口 淘宝数据采集

解读丨海购新趋势下的跨境淘宝代购集运系统

tbapi

跨境电商 跨境进口 淘宝代购系统 反向海淘 跨境淘宝代购系统

云桌面跟桌面虚拟化有什么区别?如何选择

青椒云云电脑

云桌面 云电脑 云电脑平台

Puppeteer实践:复杂的问题简单化

伤感汤姆布利柏

活动回顾 |观测云 AI Agent 探索实践

观测云

LLM

成本降低 90%,出海社交平台 Typing 基于 Databend 的大数据探索与实践

Databend

KaiwuDB 参编的《分析型数据库技术要求》标准正式发布

KaiwuDB

数据库 分析型数据库 数据库行业标准制定 数据库标准

业内首家!火山引擎通过中国信通院超低延时直播性能卓越级评估

信通院IOMM数字化转型团队

IOMM

从零开始:Django项目的创建与配置指南

快乐非自愿限量之名

django 框架

重磅更新:草料二维码容量调整,不再限制图片文件上传量

草料二维码

基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路

Apache Flink

flink oceanbase 实时数据

Bonree ONE 2024春季正式版:革新智能运维,7 大功能亮点重磅发布

博睿数据

云桌面的应用场景,如何助力企业轻松上云

青椒云云电脑

云桌面 云电脑 云电脑平台

解锁工业数据流:NeuronEX 规则调试功能实操指南

EMQ映云科技

emq emqx NeuronEX

携程开源数据库访问框架Ctrip DAL_语言 & 开发_赫杰辉_InfoQ精选文章