您的位置:首页 > 数据库

SQL Server 2008你一定要知道的八件事

2008-10-28 17:36 309 查看
SQL Server 2008你一定要知道的八件事
(一)数据压缩
下午好大家,借着SQL Server 2008发布的东风,咱们怎么也要对SQL Server 2008有哪些新特性要清楚。我知道很多朋友对SQL Server 2008已经迫不及待了,为什么大家会有这么大的兴趣?其它的还不了解得客户是不是也将会有这方面的兴趣,咱们要来讲一讲,接下来的八件事,是大家一定要知道的。
第一项宝典:数据压缩
数据库是会变大的,用了两年,五年十年后数据库就会大到用冰箱都塞不进去(我说的是装大象的那个冰箱)。成长是有烦恼的:
1. 存储起来麻烦,每天都在长,那这得多大的存储介质啊,现在经济又不景气,再买个阵列那不是说着玩的,总不能一边用着一边删着吧
2. 访问速度慢,用户会抱怨。这个很容易想通吧,如果数据库五年前有100G,你从100G里面翻个十块钱出来要5分钟的话,现在当要你从1000G中翻十块钱恐怕就至少得一个小时了,这还不考虑磁盘吞吐的问题。
3. 备份还原的工作量简直是噩梦了,提都不想提。

那怎么办呢?

第一种办法是把存的数据去干掉一些,这个恐怕很多人不太愿意。

另一种办法呢,就是买SQL Server 2008咯,而且要企业版的。

SQL Server 2008怎么解决这个问题的呢?用数据压缩的办法。可不是简单粗暴的RAR一下,是很有技巧di!

1. 对数据和索引都做了个更智能的存储方式
你看下面,同样是存储1这么一个数字,在SQL 2005里花了四格,而在2008里面,SQL Server自己一看,这不是浪费社会资源嘛,就只给一格,省了3/4的空间出来

2. 列前缀
这个名字比较拗口,不过做的事情比较有意思。你看下面左边这个表,列里面Mr. Smith有两个屋子,还有一Smithson,都差不多就别占这么多茅坑啦,所以SQL 2008就把Smith或者Smithson都拿出来单独放一个坑里,然后你要是去找Smith时SQL Server就会告诉你Smith在最上面的茅坑里,而Smith和Smithson原来的那么多房子呢就可以拿出来出租啦。

3. 表字典
经过了上面的一番折腾,Mr.Smith很不爽,凭啥我占了两个坑你把我请出来,那下面Denis,Peter不也占了俩坑,他们只是没有在一列中那么扎眼而已,你为啥不去弄他们哪?好吧,SQL Server 2008觉得这也是,那就再把Denis和Peter多吃多占的问题也揭发出来吧,就做了个表字典。表字典呢跟列前缀很类似,同样也是把Peter和Denis给抓出来,只不过是从不同的列和行中拿出来而已,给派个号,比如0,1,2,3…当有人要找住在B3栋的Denis时就直接叫:那个谁,1号,有人来看你了。这样Denis原来霸占的房产业就可以空闲出来。

这样一做到底能省多少空间呢?不一定,有可能达到90%哦,而且访问速度还会变快,原来的应用程序也不用改动。如果你想预估一下到底多少空间能节省下来的话,SQL Server 2008还提供了预测的工具。
相信你们都明白了吧,记住,是企业版中才有这样优秀的数据压缩管理的。

今天的有奖提问是:当有同事在抱怨说自己的数据库有超过3TB,运行速度很慢的时候,你可以向他提供什么建议:
A. 删掉2TB
B. 利用SQL Server 2008数据压缩功能

照例,先到先得~~~

有关SQL Server 2008你一定得知道的八件事(二)资源治理

话接上回,有关SQL Server 2008在性能优化方面的工作,除了数据压缩外,还提供了资源治理的功能。

这个咚咚是做什么用呢?设想这种情况,当你的数据库服务器上又在跑财务系统,又在跑HR系统时,有时候HR系统和财务系统就会为了争夺服务器的CPU啊,内存啊打起来,结果是大家都很慢,比如下午5点半要下班的时候大家都忙着在HR系统里打卡,而财务经理呢正紧张地要做一份给董事会的重要财务报表出来,结果点了一个按钮后半小时财务系统就一直处在发呆中,财务经理这个着急上火啊…而这个时候要是你在用SQL Server 2008企业版,那情况可就不一样了,就像下面这个图一样(请按顺序看图说话,每根线都代表一个应用的资源占用率)。

这就是资源治理的功能(Resource Governor),很酷吧,不过记得,这个咚咚,也是要在企业版SQL Server 2008中才有的。

SQL Server 2008你一定要知道的八件事(三)数据库安防

最近我觉得薪水不是很够用(哦,不是最近,是一直),所以我想跟老板提提这事儿。不过我这个人思维很缜密,万事都要想得周全,万一老板有心,那我提加多少才算够呢?要不我偷偷去公司的人事系统里看看Jack工资几许,Brad奖金几何做个参照不就行了么?

于是我就溜到了HR系统所在的数据库服务器,眼瞅着四下无人,凭借我TS的超强功力连接到数据库上,加上我之前偷偷把自己加入到数据库管理员组里,一分钟内找到“工资表”了,不料打开之后却看到这个表长这个样子:

员工姓名工资奖金
Jack********
Brad********
Michael********
Salis********

太讨厌了,最想看到的信息被SQL Server内置的加密函数给加密过了,居然我用管理员权限都只能看见****。

Hmmm….

我还有个办法,我把人事数据库拷贝到我的活动硬盘,然后在我自己的电脑上的模拟HR系统来打开,这不就行了么。结果等我喜滋滋在被窝里打开我的模拟HR系统时,SQL Server 2008却弹出了以下提示:hia hia hia,你丫又白瞎了吧,我已经用上了透明加密的功能,一旦离开原来的服务器没有原装的钥匙我就不提供服务了…

我很生气,费了老半天劲结果啥也没弄出来,正崩溃着呢这时SQL Server 2008又提示:哦,忘记提醒你了,由于咱现在启用了审核功能,你刚刚所做的一切已经被记录下来作为呈堂证供,你有权保持沉默……
在好不容易被放出来之后,给大家今天的有奖问题是:
SQL Server 2008透明加密为什么叫透明而不叫其他的名字比如毛玻璃加密什么的?
A:因为这项加密技术对于应用程序来说是感觉不到的,开发人员不用对应用程序进行改动,加密本身也不会对数据访问造成影响。
B:因为设计这项加密技术的工程师喜欢透明的…本文出自 “拼命三郎” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: