写点什么

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

评论

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

业界首份 GitLab DevSecOps 线上成熟度评估邀您来测

极狐GitLab

Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹

霍格沃兹测试开发学社

一文看懂如何做好 SQL 质量监控

阿里巴巴云原生

sql 阿里云 云原生

解决Java中文显示乱码问题的原因与方案

霍格沃兹测试开发学社

「2024」不再内卷,让AI低代码带你玩点新花样!

优秀

AI 低代码 AI低代码 AI 人工智能

官宣!前联邦快递亚太区董事总经理 Robin 加入 Tapdata 担任首席运营官

tapdata

数据库

Java HashMap 和 HashSet 的高效使用技巧

小万哥

Java 程序人生 编程语言 软件工程 后端开发

Jira自动化的实用工具——ScriptRunner简介及最佳实践

龙智—DevSecOps解决方案

DevSecOps

MySQL安装最全最简教程

霍格沃兹测试开发学社

ElasticSearch架构介绍及原理解析

霍格沃兹测试开发学社

10个AI人工智能PPT生成软件,轻松搞定PPT制作!

彭宏豪95

人工智能 在线白板 AIGC 效率软件 AI生成PPT

IO模型介绍(select、poll、epoll)

京东零售技术

Java 后端 io

Easysearch 内核完善之 OOM 内存溢出优化案例一则

极限实验室

elasticsearch OOM 内存 easysearch

ETL的数据挖掘方式

RestCloud

数据挖掘 ETL 数据集成

低代码与鸿蒙开发:重塑软件开发的未来

不在线第一只蜗牛

低代码 鸿蒙开发 鸿蒙系统

亮点功能:流水线编辑支持并行了!

Jianmu

DevOps

破晓未来·迎接智能新时代:混合 AI 大模型开发者工作坊震撼预告

阿里巴巴云原生

阿里云 云原生

李彦宏:程序员职业将不复存在,会说话就能当程序员;ChatGPT 日耗电超 50 万度丨 RTE 开发者日报 Vol.161

声网

如何关闭Windows自动更新

霍格沃兹测试开发学社

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

SelectDB

数据库 大数据 查询性能 物化视图 #数据分析

Atlassian被Forrester评为企业服务管理领导者,Jira Service Management助力提升团队服务水平

龙智—DevSecOps解决方案

Atlassian Forrester企业服务管理

好用的AI绘画软件,一次安利给你

霍格沃兹测试开发学社

小白一眼就能懂的JSON简介与基本使用指南

霍格沃兹测试开发学社

100M 768 维向量数据,Zilliz Cloud 稳定支持 Shulex VOC 业务场景

Zilliz

AI Zilliz 向量数据库 zillizcloud

1688代采系统,淘宝代购系统,海外淘宝代购系统,淘宝代购集运系统

api开发

嘿!AI 编码新玩法上线!

阿里巴巴云原生

阿里云 AI 云原生

Vue3 - 插槽 Slots

霍格沃兹测试开发学社

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