拍拍贷DAS简介

拍拍贷DAS是拍拍贷自研的数据库访问框架。包括数据库控制台das console,数据库客户端das client和数据库服务端das server三部分。是基于Java语言开发的,支持数据库管理,ORM,SQL创建,分库分表操作的一体化数据库访问解决方案。

为适应企业规模不断扩大,数据库访问量持续增长的情况,DAS支持两种数据库访问模式,数据库直连和基于das server的代理访问模式。具体场景如下:

DAS原生提供的客户端das client支持Java,该客户端同时支持直连和代理模式,用户在两种模式之间切换无需修改代码。

DAS支持SqlServer和MySql两种数据库。

目前在拍拍贷超过200个应用接入了DAS,每日支持超过6亿次的数据库访问。

DAS功能简介

DAS功能包括:

注意

DAS不支持分布式事务,如果在事务中发现试图访问非当前数据库以外的其他数据库,DAS会报错并回滚当前事务

DAS使用方式

一般来说,为了使用DAS,建议用户成立一个虚拟的DAS支持团队,由该团队统一负责团队,项目,数据库配置,问题解答等日常维护工作。使用DAS的一般步骤如下

配置数据库

应用开发人员向DAS支持团队提交创建DAS团队,DAS项目和逻辑数据库的申请。申请包括团队成员,项目信息,物理数据库配置,逻辑数据库配置和分库分表策略。具体做法参考das console的 使用手册

生成代码

DAS支持团队配置好应用的逻辑数据库之后,应用开发人员可以登陆das console,选取自己所在的项目,想生成代码的逻辑数据库,生成对应于表或者查询结果的entity类

访问数据库

应用开发人员通过das client的API和生成的entity来对逻辑数据库做CRUD操作。具体请参考das mclient使用手册

DAS开发团队

发起人

DAS最开始是由前拍拍贷基础框架负责人杨波发起,并获得时任CTO司晋琦的大力支持。具体研发分工如下:

开发人员

历史贡献者:

拍拍贷DAS与携程DAL之间的关系

2018年4月DAS最开始开发的时候是基于携程DAL做的定制化改造,后面在不断到升级中逐渐替换掉携程原有代码,目前除了客户端最底层的部分代码外,基本上已经是一个全新的产品。DAS与DAL的不同体现在以下几个方面:

技术支持

DAS支持QQ群:697580306

tect support

用户文档

wiki