写点什么

携程开源数据库访问框架 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:496955

评论

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

AI真“卷出天际”!我国发布全球首个月球专业大模型;0代码可做游戏,谷歌发布世界首个AI游戏引擎|AI日报

可信AI进展

淘宝商品评论API:获取商品使用场景与评价

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

国企数字化转型如何拥抱低代码开发?

不在线第一只蜗牛

低代码 数字化转型

如何在Python程序中使用NFT资产服务API接口?

幂简集成

API NFT

安装门槛极低!30分钟完成企业存储搭建

网罗开发

HBlock用户使用指南:盘活系统,解锁存储潜力

数字扫地僧

天翼云 HBlock 天翼云HBlock

8款国内外免费AI生成视频工具对比实测!我们真的可以做到“一人搞定一部影视作品“吗?

可信AI进展

AI测评

万界星空科技机械加工行业MES解决方案

万界星空科技

mes 万界星空科技 制造业工厂 机械加工 机械加工mes

大模型应用开发实战

不在线第一只蜗牛

AI 大模型

零售商商品规划新纪元:全面策略融合与智能计划系统引领未来

第七在线

淘宝拍立淘接口,以图搜索相似商品接口

tbapi

淘宝API接口 淘宝拍立淘接口

DNS解析如何设置合适的TTL值?

防火墙后吃泡面

利用淘宝商品评论API返回值进行竞品深度分析

代码忍者

回顾 Oracle 在 MySQL 8.0 中的管理工作

爱可生开源社区

MySQL oracle MySQL 8.0

openGauss- 行级访问控制

Gauss松鼠会

opengauss

共促国产AI生态繁荣,天翼云重磅发布魔乐开发者社区

天翼云开发者社区

云计算 开发者社区 天翼云

Rust China Conf 2024

非凸科技

Kuasar 最前沿:KubeCon China 2024 精彩回顾

华为云原生团队

云计算 容器 云原生

OpenAI 投资, 1X 家务机器人 NEO 发布;微软副总裁:AI 需「学会求助」而非「制造幻觉」丨 RTE 开发者日报

RTE开发者社区

Sentieon 应用教程 | 使用CNVscope进行CNV检测分析

INSVAST

基因数据分析 生信服务 应用教程

ETL数据集成丨SQLServer到Doris的无缝数据同步策略

谷云科技RestCloud

数据库 Doris ETL SqlServer 数据集成

轻松上手:快速部署天翼云 HBlock 轻量存储系统的真实体验

申公豹

天翼云HBlock

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