【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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

评论

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

黄东旭: 关于基础软件产品价值的思考

PingCAP

技术平台&应用开发专题月 | 一文搞懂全链路监控系统(上)

用友BIP

用友 用友iuap

Apache SeaTunnel & Kyuubi 联合 Meetup | 见证中国大数据崛起!

Apache SeaTunnel

大数据 开源 大数据平台 apache 社区 Apache SeaTunnel

“东数西算”超级工程上马,利好云计算但暗藏汹涌

行云管家

云计算 混合云 多云 东数西算

大数据培训:RDD、DataFrame的区别

@零度

大数据 spark

MVCC 时光机:在 TiDB 的时空自由穿梭丨渡渡鸟复兴会赛队访谈

PingCAP

iuap 助力鹏鹞环保打造智慧水务大数据运营管理平台

用友BIP

用友 用友iuap

【51单片机】介绍

謓泽

单片机 3月月更 51

4种常见分支模式解析及优劣对比 | 研发效能提升36计

阿里云云效

阿里云 云原生 研发团队 研发 分支管理

测性能,拿周边|OceanBase 3.1.2版本邀你来玩

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版

安全大讲堂 | 2022产业趋势洞察:网络安全的下一个十年

腾讯安全云鼎实验室

网络安全 未来发展

基于小熊派开发板设计的云端绿化管理系统

DS小龙哥

IoT 3月月更

Java培训高并发之线程的6种状态

@零度

线程 JAVA开发 状态

3 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训

财富管理2.0时代,券商数字营销突围之路

Speedoooo

数字化转型 解决方案 营销数字化 数字化业务战略 数字营销

Linux之traceroute命令

入门小站

Linux

在线TOML转YAML工具

入门小站

工具

uni-app技术分享| uni-app常见问题(二)

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 视频通话

一图了解龙蜥社区 2 月运营大事件

OpenAnolis小助手

Linux 开源 操作系统 运营

CRM系统帮助降低业务成本的方式

低代码小观

企业管理 CRM 企业管理系统 CRM系统 客户关系管理系统

Java 中线程池的 7 种创建方式!

王磊

Java 面试

功效护肤理念增强,透明质酸继续引领护肤热点

易观分析

护肤 医美 透明质酸

web前端培训:React 核心调度功能的实现

@零度

前端开发 React

FinClip 黑客马拉松正式开赛,码力集结,等你来战!

Speedoooo

小程序生态 hackathon APP开发 黑客马拉松 黑客松

如何编写有效的常见问题解答(内附 5 个最佳示例)

小炮

【专访蓝景科技】5G+实时云渲染赋能数字孪生,共建元宇宙

3DCAT实时渲染

5G 数字孪生 实时云渲染

三步教企业搭建产品帮助中心

小炮

千万级学生管理系统的考试试卷存储方案

Geek_8d5fe5

「架构实战营」

方舟开发框架容器类API的介绍与使用

HarmonyOS开发者

方舟 HarmonyOS 开发框架

ModStartCMS 模块化建站系统 Laravel 9.0 版 v3.3.0

ModStart开源

3月技术专题月火热开启!快来一睹为快!

用友BIP

用友 用友iuap

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