10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

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

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

    阅读完需:约 3 分钟

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

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

作为国内在线旅游行业的翘楚,携程也曾经面对同样困扰。为了应对这些挑战,实现企业 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

2016-09-29 21:496772

评论

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

李飞飞团队 ReKep:空间智能机器人可整合 GPT-4o;苹果首款 AI 手机 iPhone 16 发布丨RTE 开发者日报

声网

低代码平台与云服务技术研究白皮书

不在线第一只蜗牛

低代码 云服务

代币化资产如何拯救 DeFi:让金融重回价值创造的正轨

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

财务团队应如何推动企业创新升级和可持续发展

智达方通

团队协作 企业管理 战略规划 全面预算管理

Python将表格文件中某些列的数据整体向上移动一行

不在线第一只蜗牛

Python 机器学习 Excel

AI加持的云端IDE——三种方法高效开发前后端聊天交互功能

TRAE

人工智能 ide 程序员 AI 编程语言

第67期 | GPTSecurity周报

云起无垠

软件测试学习笔记丨Vim编辑器的常用命令

测试人

软件测试

再创辉煌!望繁信科技斩获第十三届中国创新创业大赛四川赛区桂冠

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

DBeaver 24.2 发布下载,新增功能概览

sysin

数据库 sql 管理工具 Dbeaver

参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制

阿里云天池

云原生

现在的 AI ,有多会做老师?

TRAE

Python 人工智能 程序员 AI 求职

互联网大厂Java面试高手心法,在寒潮之下找到自己心仪的 offer。

码哥字节

Java 后端面试

增强洞察力,通过预测性规划引领企业走向光明未来

智达方通

全面预算管理 财务规划和分析 财务管理 财务转型

如何留住自己的团队?

秃头小帅oi

议程抢先看!安谋科技、英特尔、浪潮信息、蚂蚁集团等企业大咖齐聚 2024 云栖大会操作系统开源专场

OpenAnolis小助手

操作系统 云栖大会 龙蜥社区 龙蜥操作系统 AIibaba CIoud Linux

新闻“样板间”提升50%开发效率,20家新闻媒体应用批量鸿蒙化

最新动态

华为视频独家呈现:发布会开场舞《见非凡》AiMax 版来袭

最新动态

关于粒子滤波的解析

芯动大师

粒子滤波

DApp开发入门指南:从概念到实践

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

洞悉市场脉搏,从实时监控商品信息开始 —— 淘宝API的力量

技术冰糖葫芦

API Explorer平台 api 网关 API Gateway API 测试 pinduoduo API

对游戏语音软件Oopz遭遇DDoS攻击后的一些建议

网络安全服务

负载均衡 udp 语音聊天软件 DDoS 攻击 黑神话悟空

时隔七年重启编码人生,豆包MarsCode 让我快速回归 | MarsCoders 开发者说

TRAE

Python 人工智能 程序员 AI

什么是 structuredClone?如何实现深拷贝?

伤感汤姆布利柏

电商数据分析师必备:京东商品详情API返回值解读

技术冰糖葫芦

api 网关 API Gateway API 测试 pinduoduo API

爱回收商品详情数据接口

tbapi

爱回收API 爱回收商品详情数据接口

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