数据访问层开发实践.pdf

数据访问层开发实践 许超前@手机之家 目录 目录 目录 1)前言 a) 关于数据访问层(Data Access Layer) b) 关于Dal 2) Dal 的产生 3) Dal的发展 a) Dal2.1.x b) Dal2.2.x 4) Dal 的未来 5)关于我们 6) QA 前言 关于数据访问层 引用维基百科: A Data Access Layer (DAL) is a layer of a computer program which provides simplified access to data stored in persistent storage of some kind, such as an entity-relational database. This data access layer is used in turn by other program modules to access and manipulate the data within the data store without having to deal with the complexities inherent in this access. 关于数据访问层(续) 应用程序 Data Access Layer 文件 DB API DAL在系统中的位置 关于Dal - 概览 Dal是手机之家开发的数据访问层软件的产品名。Dal1.0、Dal2.1.x、Dal2.2.x 及Dal2.x则是该软件的不同版本系列的一个引用。 Dal是手机之家研发团队近几年在开发和运营上的经验的总结以及智慧的结晶。 开发Dal的目的是为了解决在构建大中型网站时遇到的和数据访问有关的诸多问题 ,如怎样使得分表透明化,怎样使得缓存存取清除自动化,怎样才能更好地防止 服务单点故障等等。 Dal1.0是一个具有里程碑意义的版本,但在很多方面仍然欠考虑。Dal2.1.x是一个 经过精心设计、认真编写,具有较高可用性的分布式数据访问层,是综合数据代 理(如MySQL Proxy)、名值对缓存(如Memcached)、集群等等思想而构建的一个 软件系统。Dal2.2.x是目前的最新系列,引入了很多新特性:如分布式事务,支持 数据库主从等等。 关于Dal - 软件定位 1) 不但具备了memcached和mysql proxy的优点,还避免了两者的缺点。 2) Dal作为一个中间件,应保持语言中立、数据库中立。 3) 让系统在数据访问层上具备分布式计算能力。 4) 不造ORM轮子,只是发明访问数据的接口。 关于Dal - 核心概念 1) 透明 分片透明,缓存透明,主从透明。 2) 虚库(逻辑库)和实库(物理库) 虚库:不是一个真正存在的库。也叫逻辑库。 实库:是真实存在的库。也叫物理库。 3) 虚表(逻辑表)和实表(物理表) 虚表:不是一个真正存在的表。也叫逻辑表。 实表:是真实存在的表。也叫物理表。 4) 分片(分表) 分片可以分布在同一个库中,也可以在多个库中。也叫分表。 关于Dal - 核心概念(续) 5) 映射 虚库→实库; 虚表→实表; 应用列名→数据库列名; 6) 条目缓存和查询缓存 7) 辅助索引 8) 分片情况:不分片、分片无辅助索引、分片有辅助索引 9) 面向库的开发方式 这是指,Dal 自动从数据库获得需要的信息,而不是由应用开发人员在配 置文件里显示配置。开发人员要配的只是分表的规则、连接池的使用、缓 存的使用等。只在应用层需要和数据库不一样的信息时(如字段名),才 在配置文件里显式写出。 关于Dal - 核心概念(续) 列名 物理库

文档评论(0)

1亿VIP精品文档

相关文档