针对mysql的水平切分,项目开发的数据访问层(DAL)实现了应用对数据访问的路由和对数据库操作的支持,下面是从测试报告中摘取的部分测试情况,仅供参考。
测试环境:
web(1台):
2c Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
8G
280G硬盘
mysql proxy(2台):
1台 master
1台 slave
4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
16G
数据库:
两台master 负责写 4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 32G
两台slave 负责读 4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 32G
测试用例:
1.单表增删查改
数据量:用户表部署在2个节点,共切分为10张用户表,每张表数据10W左右
2.连接查询:三张表的关联查询,每张表100W数据
3.集合查询(跨节点汇总) 用户表同1
测试结果数据:
单表:
单用户持续5分钟
单条更新测试 (保留一个索引)([Average]: 0.243 [90 Percent]:0.287 [Maximum]: 1.074)
单条插入测试 ([Average]: 0.226 [90 Percent]:0.319 [Maximum]: 0.889)
单条删除测试 ([Average]: 0.193 [90 Percent]:0.27 [Maximum]: 0.778)
500并发更新测试(保留一个索引)([Average]: 0.189 [90 Percent]:0.282)
500并发查询测试([Average]: 0.122 [90 Percent]:0.338)
500并发删除测试([Average]: 0.129 [90 Percent]:0.334)
500并发插入测试([Average]: 0.156 [90 Percent]:0.368)
连接查询:
待补充
测试结论:
该DAL对mysql的水平扩展的支持是功能基本稳定,同时具备了较好的并发访问的支持能力。
分享到:
相关推荐
数据库访问层(Database Access Layer,通常简称为DAL)是软件架构中的一个重要组成部分,它负责处理应用程序与数据库之间的交互。在本案例中,我们讨论的是一个经典的数据库访问层实现,这通常涉及到面向对象的设计...
DAL是携程框架部开发的数据库访问框架,支持代码生成和水平扩展。其由携程技术中心框架部DAL团队开发,历经3年不断打磨,并在长期的实际使用中基于大量的用户反馈不断优化。 开源范围包括代码生成器,Java客户端和C#...
三层架构是一种常见的软件设计模式,它将应用程序分为三个主要部分:表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层设计有助于降低各组件之间的耦合度,使得每个层次都可以独立地进行修改和扩展。 ...
不同于传统的数据访问层(DAL)实现,服务层Sharding框架将分片逻辑集成到业务服务层,使得业务代码与分片规则更紧密地结合,降低了数据访问层的复杂性。 该框架支持全SQL,这意味着开发者可以使用标准SQL进行查询...
在“架构+接口开发的类文件”中,可能采用了分层架构,将应用分为表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)、数据访问层(DAL)等层次,每个层负责不同的职责,如表现层处理用户交互,业务...
读写分离有多种实现方式,包括独立的DAL(数据访问层)代理服务器,如Amoeba(用于MySQL)和PL/Proxy(用于PostgreSQL),或者通过DAL API集成到应用程序中,如Java的Hibernate Shard、Ibatis Shard和HiveDB,以及...
3. **数据访问层(DAL)**:使用ADO.NET或Entity Framework创建数据访问层,处理与数据库的交互。ADO.NET提供了连接池、数据适配器、数据集等组件,方便数据操作;Entity Framework则提供了对象关系映射(ORM),...
8. 数据访问层(DAL):为了实现数据库的透明化管理和扩展,可以使用DAL Proxy或者DAL API。DAL Proxy通常作为独立服务器存在,如MySQL的Amoeba或PostgreSQL的PL/Proxy,而DAL API则集成到应用程序中,如Java的...
C#成绩管理信息系统通常采用三层架构,包括表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责用户交互,业务逻辑层处理业务规则和计算,数据访问层则与数据库进行通信,实现数据的读取、更新和删除...
C#仓库管理系统可能采用三层架构:表现层(用户界面)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责用户交互,BLL处理业务规则和逻辑,而DAL则封装数据库操作,实现了数据的增删改查。这种架构使得系统具有...
C#电影院售票系统通常采用三层架构设计,包括表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责与用户交互,业务逻辑层处理业务规则和数据验证,而数据访问层则负责与数据库的交互,实现数据的存储...
本项目可能采用三层架构,包括表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表示层负责用户交互,业务逻辑层处理业务规则和流程,数据访问层则处理与数据库的交互。这种架构模式有利于代码复用,提高系统的...
DAL是携程框架部开发的数据库访问框架,支持代码生成和水平扩展。其由携程技术中心框架部DAL团队开发,历经3年不断打磨,并在长期的实际使用中基于大量的用户反馈不断优化。 开源范围包括代码生成器,Java客户端和C#...
SMBMS通常采用三层架构设计,包括表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责用户交互,业务逻辑层处理业务规则,数据访问层则用于与数据库进行交互。这样的设计使得系统模块化,易于维护和...
C#餐饮管理系统通常采用三层架构设计,包括表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责用户交互,展示系统界面;业务逻辑层处理各种业务规则和操作;数据访问层则用于与数据库交互,进行数据的...
最后,数据访问层(DAL)的实现对于应用透明地使用数据库的分区至关重要。DAL Proxy可以作为独立服务器,如MySQL的Amoeba和PostgreSQL的PL/Proxy,或者作为应用的一部分,如Java的Hibernate Shard、Ibatis Shard和...