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

随着企业规模扩张和业务量的急剧增加,作为系统核心的数据库相关开发也会经历一个由单一团队发展为多团队;由单机扩张到集群;由单数据库发展为多数据库;由采用单一数据库产品到多种数据库产品并存的过程。伴随这一过程的是如何管理数据库扩展,如何规范数据库访问,如何保护数据库投资,如何应对访问量增加,如何预防安全问题等一系列挑战。作为国内在线旅游行业的翘楚,携程也曾经面对同样困扰。为了应对这些挑战,实现企业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框架,携程希望在满足自身需求的同时,服务于广大企业,并继续为中国方兴未艾的开源运动出点力。

本文转自d1net(转载)

时间: 2024-09-21 09:20:31

携程开源数据库访问框架Ctrip DAL的相关文章

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

随着企业规模扩张和业务量的急剧增加,作为系统核心的数据库相关开发也会经历一个由单一团队发展为多团队:由单机扩张到集群:由单数据库发展为多数据库:由采用单一数据库产品到多种数据库产品并存的过程. 伴随这一过程的是如何管理数据库扩展,如何规范数据库访问,如何保护数据库投资,如何应对访问量增加,如何预防安全问题等一系列挑战. 作为国内在线旅游行业的翘楚,携程也曾经面对同样困扰.为了应对这些挑战,实现企业10倍速发展,携程开发了具有自己特色的数据库访问框架Ctrip DAL. Ctrip DAL支持流行

IBM为私有云用户提供开源数据库访问

IBM于近日为其私有云客户推出了一个工具包,借助该工具包客户可访问多个开源数据库.DBAaS(Database-as-a-Service)工具包基于OpenStack,在IBM Power服务器上运行,支持包括MongoDB,EDB PostgreSQL,MySQL,MariaDB,Redis,Neo4j和Apache Cassandra的开源数据库. IBM的开源数据解决方案经理Chuck Bryan表示,该公司计划推出支持企业版本的开源数据库,例如MongoDB Enterprise Ser

MVP模式在携程酒店的应用和扩展

前言 酒店业务部门是携程旅行的几大业务之一,其业务逻辑复杂,业务需求变动快,经过多年的研发,已经是一个代码规模庞大的工程,如何规范代码,将代码按照其功能进行分类,将代码写到合适的地方对项目的迭代起着重要的作用. MVP模式是目前客户端比较流行的框架模式,携程在很早之前就开始探索使用该模式进行相关的业务功能开发,以提升代码的规范性和可维护性,积累了一定的经验.本文将探讨一下该模式在实际工程中的优点和缺陷,并介绍携程面对这些问题时的思考,解决方案以及在实践经验基础上对该模式的扩展模式MVCPI. 一

论数据库访问组件的选择--火地晋大作读后感

前言 火地晋做了一件有意义的事情.把这些ORM对比了一下(http://www.cnblogs.com/yelaiju/p/3209506.html). 这里要讨论一下我们用一个什么样的策略来选择数据库访问组件.通常有如下几种情况来选择: 1. 基于过去的经验    比如过去用过某某ORM,在将来的项目中继续用的话经验和熟练度就会比较高.这是建立在对该ORM的信任基础之上的. 2. 别人介绍或者在网上自己发现的,然后再试用也不错   这种情况也挺普遍的.业界同事介绍某某ORM不错,或者在网络上发

数据库访问性能优化_MsSql

在网上有很多文章介绍数据库优化知识,但是大部份文章只是对某个一个方面进行说明,而对于我们程序员来说这种介绍并不能很好的掌握优化知识,因为很多介绍只是对一些特定的场景优化的,所以反而有时会产生误导或让程序员感觉不明白其中的奥妙而对数据库优化感觉很神秘. 很多程序员总是问如何学习数据库优化,有没有好的教材之类的问题.在书店也看到了许多数据库优化的专业书籍,但是感觉更多是面向DBA或者是PL/SQL开发方面的知识,个人感觉不太适合普通程序员.而要想做到数据库优化的高手,不是花几周,几个月就能达到的,这

艺龙与携程在团购业务上的价格战持续深化

[财经网(博客,微博)专稿]记者 罗丽娟 从月初艺龙宣战以来,艺龙旅行网(NASDAQ: LONG,下称"艺龙" )与携程旅行网(NASDAQ:CTRIP,下称"携程")在团购业务上的价格战持续深化. 7月3日,双方上线的酒店团购产品的总数都约为2700个,携程团购仍然维持全线降价10%:同时,艺龙团购已全线降价跟进,全部产品标注"独家首发"或者"九折减一元"标识.中国旅游研究院副研究员杨彦锋说,双方在覆盖度和降价力度上投入了

从携程信用卡信息泄露事件谈网上支付安全

最近携程被爆信用卡信息泄露事件,事件内容:http://www.wooyun.org/bugs/wooyun-2010-054302 携程声明:http://pages.ctrip.com/commerce/promote/201403/other/xf/index.html 各种互联网大公司网站各种漏洞:http://www.wooyun.org/index.php 首先,用户通过携程订票在支付时,会将自己的信用卡支付信息在携程的页面中填写好,然后携程通过银行给的接口将表单信息传送给银行进行验

携程启用二级域名上线自驾租车新业务

http://www.aliyun.com/zixun/aggregation/1276.html">携程启用二级域名car.ctrip.com和z.ctrip.com推出新业务"自驾租车". 国庆将至,携程启用新二级域名推出新业务,并上线国庆"1日起租"活动,.而该活动覆盖国内27个城市,北京.上海.广州.厦门.青岛.西安等著名旅游城市均有覆盖. 携程网在2011年购回携程双拼域名xiecheng.com后,也越来越重视项目域名.此前,携程就曾买下

携程管理层解读第一季度财报

北京时间5月12日下午消息,携程今日公布了2010财年第一季度财报.财报公布后,携程CEO范敏和CFO孙洁等于当日召开电话会议,就财报要点和业务运营情况回答了分析师的提问. 以下为分析师问答部分内容: 分析师詹姆士·李(James Lee):2010年第二季度酒店预订和机票预订的增长预期分别是多少? 孙洁:第二季度酒店预订预期 同比增长33-35%,预订量预计增长25-30%,价格预计同比增长5%:机票预订业务的营收预期同比增长30-35%,预订量预期同比增长25-30%,价格预计同比增长5%: