Archive

Archive for July, 2009

VS2008 new features

July 21st, 2009 Tony hu No comments

我所用到的和发现的VS2008的新特性:

1.html编辑器在源视图与设计视图基础上增加分割视图Split View,可以使开发人员更方便进行页面设计

2.集成ASP.NET AJAX,方便创建AJAX应用

3.改进的LINQ与LINQ to SQL技术,使开发人员可以以对象操作的方式来操作各种数据

4.更加完美的智能提示,尤其是对javacscript 、html、 css 的智能感知

5.多版本兼容,你可以自由选择使用.NetFrameWork2.0、.NetFrameWork3.0或是.NetFrameWork3.5

待续…

Categories: Tools, Web Tags:

ASP Jmail Demo

July 20th, 2009 Tony hu No comments

‘发送通知
adm_mail=”34473XXXX@qq.com”
mailserver=”smtp.126.com”        ’smtp服务器地址
mailname=”hzl334@126.com”    ‘发信邮箱
mailpassword=”XXXXXX”            ‘发信邮箱密码

Set msg = Server.CreateObject(“JMail.Message”)
msg.silent = true
msg.Logging = true
msg.Charset = “gb2312″
msg.MailServerUserName = mailname
msg.MailServerPassword = mailpassword
msg.From = mailname
msg.FromName = “苏大家教吧”
msg.AddRecipient (adm_mail)
msg.Subject = “家教吧致秋云的信,有新的家教信息了!”
msg.Body = name & “,” & dq & “,” & dq2  & “,” & Tel1 & ” >>>年级:” & nj & “>>>求教学科:” & km
msg.Body = msg.Body & “发布时间:” & now & vbcrlf & vbcrlf
msg.Body = msg.Body & “注意:你的所有员工也同时收到了这个E-mail,家教吧祝您工作愉快 ^_^ ”
msg.Send (mailserver)
msg.close
set msg = nothing

Categories: Asp Tags: ,

SQL Server 分区表和分区索引(1)

July 19th, 2009 Tony hu No comments

1. 分区表简介
使用分区表的主要目的,是为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。
大型表:数据量巨大的表。
访问模式:因目的不同,需访问的不同的数据行集,每种目的的访问可以称之为一种访问模式。
分区一方面可以将数据分为更小、更易管理的部分,为提高性能起到一定的作用;
另一方面,对于如果具有多个CPU的系统,分区可以是对表的操作通过并行的方式进行,这对于提升性能是非常有帮助的。

注意:只能在 SQL Server Enterprise Edition 中创建分区函数。只有 SQL Server Enterprise Edition 支持分区。

2. 创建分区表或分区索引的步骤
可以分为以下步骤:
1. 确定分区列和分区数
2. 确定是否使用多个文件组
3. 创建分区函数
4. 创建分区架构(Schema)
5. 创建分区表
6. 创建分区索引

Categories: Database, Sql Server Tags: ,

关于在SQL语句中使用字符N

July 18th, 2009 Tony hu No comments

Database Name: Northwind
数据库的目前排序规则:SQL_Latin1_General_CP1_CI_AS
Orders 表中的字段ShipCity 字段类型是 nvarchar(15),即可以存放多语言字符串

插入:
insert into orders (shipcity) values (‘苏州’)
insert into orders (shipcity) values (N’苏州’)

结果:前面插入的字符是乱码,后一个字符正常。

查询:
SELECT * FROM [Northwind].[dbo].[Orders] where ShipCity =N’苏州’
SELECT * FROM [Northwind].[dbo].[Orders] where ShipCity =’苏州’

结果:前面可以得到一条记录,后面查询不到。

结论:  如果一个数据库是处理多语言事务的(实际情况要根据他的排序规则决定),那在操作时需要在相应的段值前面加上修饰符’N',否则就会出现乱码。

————————————————–

如果数据库的排序规则是:Chinese_PRC_CI_AS

经过测试存放“简体”和“繁體”都不会乱码,无论是加N还是不加N.

如果排序规则是 SQL_Latin1_General_CP1_CI_AS,如果 字段的类型是 varchar 类的,那是不能存放“中文”的,无论是加N还是不加N.

if your database’s collation is english collation, such as sql_latin1_general_ci_as, and
if you want to input chinese characters into a nvarchar column, then you have to use
N’字符’ to input chinese.
Note: ‘字符’ is wrong character string for english collation, and can not be inserted into any varchar/nvarchar column

Categories: SQL, Sql Server Tags:

RAID简介

July 18th, 2009 Tony hu No comments

在计算机术语中,RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列;在台湾称为:磁碟阵列)的基本思想就是把多个相对便宜的硬碟组合起来,成为一个磁碟阵列组, 使性能达到甚至超过一个价格昂贵、容量巨大的硬碟。根据选择的版本不同,RAID比单颗硬碟有以下一个或多个方面的好处:增强资料整合度,增强容错功能,增加处理量或容量。另外,磁碟阵列组对于电脑来说, 看起来就像一个单独的硬碟或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50。

简单来说,RAID把多个硬碟组合成为一个逻辑磁区,因此,作业系统只会把它当作一个硬碟。RAID常被用在伺服器电脑上,并且常使用完全相同的硬碟作为组合。由于硬碟价格的不断下降与RAID功能更加有效地与主机板整合,它也成为了玩家的一个选择,特别是需要大容量储存空间的工作,如:视讯与音讯制作。

最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点。这些年来,出现了对于RAID观念不同的应用。

JBOD

Just a Bunch ODisks)在某些分类上,JBOD并不算是RAID的等级。只是将多个磁碟空间合并成一个大的逻辑磁碟,不具有错误备援机制。资料的存放机制是由第一颗磁碟开始依序往后存放,即作业系统看到的是一个大磁碟(由许多小磁碟组成)。但如果磁碟损毁,则该颗硬碟上的所有资料将无法救回。若第一颗硬碟损坏,通常无法作救援(因大部分档案系统将档案表存在磁碟前端,即第一颗),失去档案表即失去一切资料。

\begin{align}Size & = sum  of  all  disk\end{align}

RAID 0

将多个磁碟合并成一个大的磁碟,不具有冗余,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大磁盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。 所以,在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失。

理论上越多的磁碟效能就等于[单一磁碟效能]x[磁碟数],但实际上受限于汇流排I/O瓶颈及其它因素的影响,RAID 效能会随边际递减,也就是说,假设一个磁碟的效能是50MB/秒,两个磁碟的RAID 0效能约96MB/秒,三个磁碟的RAID 0也许是130MB/秒而不是150MB/秒。所以,两个磁碟的RAID 0最能明显感受到效能的提升。

\begin{align}Size & = 2 \times \min \left(S_1, S_2\right)\end{align}

但如果是以软体方式来实作RAID,则磁碟的空间则不见得受限于此(例如Linux Software RAID),透过软体实作可以经由不同的组合而善用所有的磁碟空间。

\begin{align}Size & = sum  of  all  disk\end{align}

RAID 1

两组以上的N个磁盘相互作镜像,速度没有提高,除非拥有相同资料的主磁碟与镜像同时损坏,否则最高可坏剩N个磁盘,可靠性最高。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁碟做RAID 1,仅算一个磁碟的容量,是所有RAID上磁盘利用率最低的一个级别。

\begin{align}Size & = \min \left(S_1, S_2\right)\end{align}

RAID 2

这是RAID 0的改良版,以汉明码Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些,RAID2最少要三台磁碟机方能运作。

RAID 3

采用Bit-interleaving(数据交错储存)技术,它需要通过编码再将数据位元分割后分别存在硬盘中,而将同位元检查后单独存在一个硬盘中,但由于数据内的位元分散在不同

的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。

RAID 4

它与RAID 3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高。(Block interleaving)

RAID 5

RAID Level 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。RAID 5 至少需要三颗硬碟, RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度相当的慢,若使用“回写快取”可以让效能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

\begin{align}Size & = (N - 1) \times \min \left(S_1, S_2, \dots, S_N\right)\end{align}

RAID 6

与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。

同一阵列中容许两个硬碟同时失效(或是当一个失效后还来不及更换便有第二个失效)后。更换新硬碟时再由另两个正常硬碟将备份的资料建立在新的硬碟中。所以至少必须具备四或四个以上硬碟才能生效。

RAID 7

这是一种新的RAID标准,其自身带有智慧化即时操作系统和用于存储管理的软体工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储电脑(Storage Computer),它与其他RAID标准有明显区别。

RAID 10/01

RAID 10/01其实可细分为RAID 1+0或RAID 0+1。

RAID 1+0是先镜射再分割资料。是将所有硬碟分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 1+0有着不错的读取速度,而且拥有比RAID 0更高的资料保护性。

RAID 0+1则是跟RAID 1+0的程序相反,是先分割再将资料镜射到两组硬碟。它将所有的硬碟分为两组,变成RAID 1的最低组合,而将两组硬碟各自视为RAID 0运作。RAID 0+1比起RAID 1+0有着更快的读写速度,不过也多了一些会让整个硬碟组停止运转的机率;因为只要同一组的硬碟全部损毁,RAID 0+1就会停止运作,而RAID 1+0则可以在牺牲RAID 0的优势下正常运作。

RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬碟数较多,因为至少必须拥有四个以上的偶数硬碟才能使用。

RAID 50

应用

在实际的应用上,RAID2~4并不存在。因为RAID5已经涵盖了所需的功能,因此RAID2~4目前只有在研究领域有实作,而在实际应用上则以RAID5或RAID6为主。

源文:http://zh.wikipedia.org/w/index.php?title=RAID&variant=zh-hans

Categories: Server Tags: