Sql server存储架构之一文件和文件组

本篇文章将由粗到细,讲解数据库的物理组成结构。有些东西可能是废话或是摘抄自BOL,等权威文章,但是作为一个知识体系结构,还是需要啰嗦一下。

数据库的文件和文件组

数据库是由一系列的文件组成,文件组是文件的管理单元,类似于命名空间,但很不幸的是微软没有在文件组这个管理单元上赋予更多的权力,比如权限管理。而数据库的权限管理是通过数据库的架构,账户,角色,证书等来控制的。文件组的最大的好处在于多磁盘环境,或者RAID环境下,可以轻松来组织管理文件。比如你可以将几个文件创建在几个不同的磁盘上,而且将几个文件分配到相同的文件组内,然后新建一个表,指定的存储是这个文件组。这样有什么好处呢?很明显的提高IO吞吐。因为磁盘多了,多磁盘可以并行取数据,至于磁盘的结构,大家可以参考李战老师写的一个关于磁盘的文章,地址我忘了,大家去可以去看看。(废话一下,最近公司磁盘坏了一块,咨询了一下dell的,他们说现在1w转的和1w5的价钱差不太多,大家可以考虑考虑)

关于文件大小

大家对文件大小也许会不屑一顾,但是这个是DBA人员非常看重的一个地方。文件大小的增长方式有按照比例自动增长和按照固定大小自动增长,因此有很多人在生产环境下对于创建数据库的时候这一选项都不在乎,实际上非常重要。如果开始指定的文件大小只有100M,那么当数据库达到100M的时候,数据库会向操作系统请求更多的空间,那么操作系统会怎办???大家都知道.NET里面的垃圾回收器整理堆区,重排堆区以提高程序访问托管堆的性能,那么在数据库也存在同样的问题。重新向操作系统申请的空间,应该说不大可能跟以前的数据库文件空间是连续的,所以导致文件之间的裂缝。关于裂缝,MSSQL有很多对付裂缝的方法,将在以后文章会陆续提到。还有就是如果文件已经很大,再次频繁增长的时候,因为闩锁会导致系统响应变慢,甚至响应超时。而更重要的一点是,TEMPDB文件的存放问题。TEMPDB,大家都知道是不会持久化数据的,但是读写时非常频繁的,而且他并不是不使用磁盘空间,全使用内存。大家熟悉的排序(配备 sort in tempdb 选项),临时表,假脱机表,连表的中间结果集,等都是存放在TEMPDB内的,保证磁盘的读写速度也是很重要的。(TEMPDB的性能2005比2000要好很多)所以一般的DBA都会将TEMPDB单独不与一般的数据文件存放在一个磁盘下(道理同上面提到的文件组管理)。TEMPDB的大小到底指定多少合适呢???没有一个绝对的数据,只有各种环境下的模拟测试。我看过顶尖DBA对TEMPDB大小的限制,一般是使用一个模拟的高峰期环境,查看TEMPDB所能达到的最大大小,然后乘以20%,来决定TEMPDB大小,当然这个是极端的做法,更多的不太可能这样做,一般一个指导性原则就是,如果你的表少,可以小点,如果你的临时表和排序,游标操作不多,可以少点,如果你不使用快照技术,可以少点。有关TEMPDB的更多优化细节,可以参看微软的知识库文章,TEMPDB最佳实践,http://www.microsoft.com/technet/prodtechnol/sql/2005/workingwithtempdb.mspx 我在这里就不详述多了。

转载于:https://www.cnblogs.com/perfectdesign/archive/2008/08/08/sql_file_and_filegroups.html

MSSQL优化之 1.1 存储架构之文件和文件组相关推荐

  1. 第四范式:现代存储架构下的系统优化实践

    8月21日,白玉兰开源联合示说网主办的"开源大数据技术线上meetup"特邀约大数据领域的前沿技术专家,就大数据存储的关键技术.挑战和当前应用展开交流讨论,阵容强大.内容全面.第四 ...

  2. 【观察】西部数据持续创新存储架构,引领存储迈入精细化运营时代

    申耀的科技观察 读懂科技,赢取未来! 毫无疑问,作为推动数字经济发展的核心基础设施和重要支撑,数据中心承担了数据存储.数据价值挖掘的关键作用,特别是5G.云计算.大数据.移动互联网.人工智能等新技术. ...

  3. 软硬件结合,分布式数据库存储架构优化实践

    本文将介绍分布式数据库--KaiwuDB 的存储架构,以及 KaiwuDB 技术团队在其 KV 存储引擎基础上所做的优化实践. KaiwuDB 整体存储架构 KaiwuDB 采用分层架构,分为计算层与 ...

  4. 搞透Kafka的存储架构,看这篇就够了

    阅读本文大约需要30分钟.这篇文章干货很多,希望你可以耐心读完. 从这篇文章开始,我将对 Kafka 专项知识进行深度剖析, 今天我就来聊聊 kafka 的存储系统架构设计, 说到存储系统,大家可能对 ...

  5. InServ-T级存储系统能否挑战传统存储架构?

    如今的存储界,不仅仅EMC.IBM.NetApp这些存储巨头风光无限,而且像3PAR.Data Domain.Nexsan等后起之秀也是风头十足.3PAR公司就是后起之秀中的典型代表,作为公用计算存储 ...

  6. 微信、QQ都在用的腾讯云EB级对象存储架构剖析

    背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海内外业内学术专家.行业大咖及技术大牛等在现场共议云计算与数字 ...

  7. 移动建模平台元数据存储架构演进

    源宝导读:明源云天际-移动建模平台是一个快速生成多端移动应用的PaaS平台,元数据是移动应用设计与运行的核心数据结构,本文将从元数据存储这个视角分享我们的技术思考与实践. 一.什么是元数据(Metad ...

  8. 基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇

    简介: 本文简要介绍了基于 MySQL 结合 Tablestore 的大规模订单系统方案.这种方案支持大数据存储.高性能数据检索.SQL搜索.实时与全量数据分析,且部署简单.运维成本低. 作者 | 弘 ...

  9. 现代IM系统中消息推送和存储架构的实现

    摘要: 前言 IM全称是『Instant Messaging』,中文名是即时通讯.在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉.微信.QQ等以IM为核心功能的产品 ...

最新文章

  1. 30年间,软件开发行业为何Bug纷飞?
  2. ReactNative windows下打包生成安卓apk
  3. Shiro实现认证_ini
  4. Android中从assets资源中读取图片文件并保存到内部存储器并加载显示在ImageView中
  5. Java多线程与并发控制
  6. 我的 .NET Core 博客性能优化经验补充
  7. java用redis缓存的步骤_详解在Java程序中运用Redis缓存对象的方法|chu
  8. vb microsoft.xmlhttp 获取所有超链接_编写我的第一个VB程序
  9. 接口规范 10. 并发限制相关接口
  10. oracle将把varchar2字段(长度4000)改为clob类型
  11. Web Control开发随笔(4):Control与WebControl 的Properity初探
  12. CryptoJS简单使用
  13. disk dynamic invalid 解决办法 动态磁盘转换器
  14. 动态创建多个echarts图表
  15. pandorabox php7,飞鱼星G7免拆刷入pandorabox
  16. android 很多牛群叉界面库github地址
  17. c32+c32asm
  18. OpenCV打开摄像头,RGB转HSV空间
  19. coreldraw sp2精简版 x4_coreldraw x4
  20. kaggle比赛_前7%_预测分子中原子对之间的作用力_Predicting Molecular Properties

热门文章

  1. 交换机和路由器的区别_路由器与交换机的区别?
  2. layui fixbar 返回顶部_FANUC 数控系统机床返回参考点功能的应用研究
  3. Vulkan统一所有平台的API
  4. 阿里淘系程序员“开源”内部年度技术总结,还把P9大佬喊出来教你“打怪升级”...
  5. 商汤三体梦幻联动,能遭遇水滴的那种元宇宙要来了!我在现场听见了次元壁破碎的声音...
  6. Python之父,现在成为微软打工人
  7. 免息月供137元,新iPhone SE有7大理由值得买!但反对只需这1个就够了
  8. MIT谷歌大脑用AI破解失传的古代文字,被称“现代版罗塞塔石碑”丨ACL 2019
  9. Oracle中,如何查看FRA(Flashback Recovery Area)的利用率
  10. 用Spark机器学习数据流水线进行广告检测