SQL Server 2008 SOA管理软件实践:行版本快照与并发优化
需积分: 9 24 浏览量
更新于2024-08-17
收藏 4.97MB PPT 举报
本文档主要探讨了如何在SQL Server 2008环境下构建一个基于SOA(面向服务的架构)的大型管理软件,以U9业务系统为例,该系统由用友软件股份有限公司开发,用于支持高并发和高性能需求。在U9的架构设计中,作者黄卫分享了关键的技术实践和策略。
首先,文章强调了逻辑主键的选择,提到了两种常见的逻辑主键类型:无意义整数顺序号(如BigInt)和全局唯一标识符(GUID)。无意义整数顺序号简单易用,占用空间小但不支持分布式数据库和可能导致数据迁移时冲突;GUID则支持分布式,但占用空间较大。U9选择了结合SiteID、日期和顺序号的组合作为主键,既能节省空间又确保分布式应用的支持。
其次,文章重点介绍了行版本快照技术在SQL Server 2005之后的优势,它允许在读取操作中避免写操作的阻塞,从而显著提升了系统的并发性和响应速度。在SQL Server 2005之前的版本,读操作由于写操作的锁会受到影响,而启用行版本控制后,从Tempdb直接获取已提交数据的快照可以实时返回,减少了等待时间。
此外,作者还提到了其他技术实践,如使用数据压缩来减少磁盘I/O,通过列索引实现索引覆盖,以及U9独特的分页算法。表值参数的应用也被提及,这有助于优化SQL查询。文中还提到利用XML优化硬编码SQL,以及通过存储过程和CLR(公共语言运行库)实现自主事务处理,降低存储过程调用的开销。
U9数据库的设计遵循了第三范式(3NF)到第四范式(4NF)的原则,包括平台框架元数据、基础商业组件和ERP模块组件,这些组件保持了良好的数据结构。数据库规模庞大,包含了4000张业务表,且考虑到历史数据,数据库大小约为40GB,存储了至少3年的客户数据。
通过在8000并发下的性能测试,U9系统表现出色,平均响应时间为0.18秒,平均事务处理时间为2.5秒,证明了其在高并发环境下的稳定性和效率。这些技术实践为其他开发者在构建类似规模和复杂性的SOA系统时提供了有价值的参考。
2011-06-19 上传
2022-09-19 上传
2021-10-03 上传
2024-01-05 上传
2023-09-15 上传
2023-10-08 上传
2024-07-10 上传
2023-07-29 上传
2023-05-23 上传
VayneYin
- 粉丝: 23
- 资源: 2万+
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫