写点什么

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

评论

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

CAP原则

熊威

架构师训练营第六周作业

sunnywhy

架构师训练营第六周

大丁💸💵💴💶🚀🐟

NOSQL - 第六周作业

孙志平

Apache Flink 是什么?

Apache Flink

flink

MySQL 高可用和分布式数据库(训练营第六课)

看山是山

zookeeper CAP 主从复制 主主复制 MySQL 高可用

学习总结 - 第 6 周

饶军

GaussDB for DWS:内存自适应控制技术总结

华为云开发者联盟

大数据 数据湖 内存管理 sql 华为云

「1.4万字」玩转前端 Video 播放器 | 多图预警

阿宝哥

大前端 流媒体 Video播放器 HLS

图解:有向环、拓扑排序与Kosaraju算法

淡蓝色

Java 数据结构 算法

最右JS2Flutter框架——渲染机制(二)

刘剑

flutter 大前端 跨平台 探索与实践

Doris 临时失效 UML 时序图(训练营第六周)

看山是山

Doris

static关键字真能提高Bean的优先级吗?答:真能

YourBatman

spring springboot SpringCloud 极客大学架构师训练营 Spring Bean

蟒周刊-429-Python 3.8.4 可用ed

ZoomQuiet大妈

Python 大妈 蟒周刊

架构师训练营」第 6 周作业

edd

极客大学架构师训练营

天猫小店、京东小店的问题分析

石云升

价值网络 新零售 天猫小店

week6 学习总结 Nosql

Z冰红茶

我学会了用Python预测股票价格

博文视点Broadview

Python 读书笔记 算法 数据分析

CAP 原理及Doris 临时失效的处理过程

Acker飏

极客大学架构师训练营 CAP

一个成都程序猿写于离开北京一周年与26岁生日的这一天

why技术

生活 程序人生 北漂 成都

CAP

Kiroro

NOSQL - 第六周总结

孙志平

学会使用Vue JSX,一车老干妈都是你的

前端有的玩

Java Vue 大前端 技巧 React

架构师训练营第六周总结

sunnywhy

架构师训练营第六周作业

王铭铭

猿灯塔:spring Boot Starter开发及源码刨析(六)

猿灯塔

CAP 原理

Z冰红茶

程序员的眼界真的不要,也不能只局限于技术

非著名程序员

极客时间 程序员 提升认知

探秘 Spring 的 PropertyEditor

CoderLi

Java spring 后台

架构师训练营第6周作业

饶军

总结

Kiroro

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