海量数据处理简要说明(一)

1. 引言

  1.1编写的目的

1. 解决大数据量的存储.

2. 提高在海量数据前提下的性能.

           3. 为了以后系统的扩展

  1.2参考资料

1.       Sql server2005联机帮助

2.       Microsoft SQL server2005 MSDN

 

创建一个高性能的服务器的关键是懂得需要存储那些数据,以及知道用户是怎样查询数据库的。后者常常有着很大变化,因此很有必要根据查询模式的改变来持续的进行一些调整。有一些基础组织的决定对系统的性能产生巨大影响。 

2.高性能服务器的构建

  1.硬件方面的考虑

          硬件方面的决定常常做得早于系统的任何一个重要的方面。为相关的数据库选择硬件是很具有技巧的一件事。这对于满足那些超级用户的报表需求变得更加常用。
     64
位的平台因为它的可扩展的存储架构给数据库提供了很多的优点。数据库支持读取GB级和TB级数据级的存储要求。这种平台消除了32位的平台上的一些顾虑,但是又具有32位平台的所有优点。对于数据库来说更加是这样,因为数据库存储和查询非常大的数据库。
    
在选择64位平台时,还需要考虑是使用x64还是IA64。做考虑之前需要考虑很多因素。在SQLServer中完全支持x64,并且为数据库提供了很多好的选项。目前,IA64硬件提供更多的可量测性,但是x64平台很快赶上了它。记住IA64是完全不同的一种芯片结构(它支持数据库中常见的平行化和改善计算逻辑)是非常重要的。既然这两种芯片架构很快的发展,因此最好还是好好地学习一下当前的提供情况。在TPC的网址(http://www.tpc.org/tpch/results/tpch_perf_results.asp)上提供了参考。
除了芯片架构之外,处理机的数量和速度也是很重要的一个方面。数据库需要很大数量的平行化的需求,这与处理器的速度和时钟速度是有很大关系的。在实现数据从库之前很难估计实际的需求。一个很好的方法是不仅仅确立一个开始的基线,也要识别硬件和架构。

  2.磁盘的配置

          数据库的磁盘的配置也是很重要的一个因素。数据库动辄就需要TB级的I/O操作。如果这些信息恰好很少查询,I/O在我们的环境中将会是一个很大的因素。I/O仍然是硬件系统中的一个最慢的方面,因此为了能够正确的购买和配置磁盘子系统,需要进行周密的计划。存储范围网络(Storage AreaNetworkSAN)仍然是大型数据库(例如数据库)的一个理想的选择。在考虑SAN时需要考虑不同的文件类型(tempdb、数据文件和日志文件等)的特征,以便磁盘子系统能够得到正确的设计。磁盘配置的一些基本的最佳实践如下


(1)  创建更多的SAN磁盘组来支持来自SQL Server的多重的和平行的I/O。每一个         磁盘组由不同的磁盘数组组成并且基于数据的类型(工作的数据、历史数据、日志和       Tempdb)配置;

     (2) 考虑SAN卖方基于I/O等级的推荐;

     (3) 为了保证在每一部分失败时能够恢复的分离,需要将数据和日志文件放在不同的磁盘组中进行;

      (4) tempdb数据文件和日志文件放在不同的磁盘组中;
(5) 保证数组从大数量的物理磁盘中构建,但是没有充满在控制器中;

 

     l大表通常经历了大范围的读取,从大数量的磁盘到均匀的分配I/O
当定义RAID需求的时候,OLTP的对于数据库环境的一些最佳实践派上了用场。Tempdb是一些重要的数据库,这些数据库必须与在RAID序列的其他的数据库文件分开存放。
当你架构一个数据库的时候,需要富有创造力的考虑这些数据。特别是当你具有OLTP背景的时候。记住,即使数据库巨大,也很少一部分是很规则的被更新。
为了决定创新性的架构需要看看用户的查询需求。
网络需求常常有很大不同。虽然查询能在很大数据范围内得到过滤,返回给客户端的最终结果集常常是很小的。当一个分离的应用程序在相关的数据库和终端用户数据之间被插入时会发生异常。这个应用程序可能是OLAP服务器,例如分析服务等。这些应用程序趋向于从SQL Server中请求大数量的数据,在两个服务器见请求高速度的网络连接。

  3.SQL Server配置

         一旦购买了合适的硬件,为了充分的发挥SQLServer的潜能,对其进行配置变得很重要。SQLServer是被设置为自和谐的,因此,在很多情况下,要做的事情只是留下不同的配置值。将数据库的服务器与其它的应用程序或数据库共用一个服务器是不明智的。资源利用的不一致使得很难对应用程序数据库提供一致的性能。
首先考虑一些存储器的配置。在很多情况下,通常选择的是64位的平台,因为相关数据库的存储量的高需求。AWE(Address Windowing Extensions)能从逻辑上增加32位平台的存储条,但是它引入了存储映射,这在64位平台上是被避免的。
“Max Degree ofParallelism”选项告诉SQL Server在一次单独的查询执行操作中平行化程度的最大程度。默认值0告诉SQLServer在运行时才决定其值。当一个平行化的计划为了一个查询产生时,查询优化器基于当前在运行时所获得的处理器决定。
一个经常被忽略的SQL Server选项是“query governor cost limit”,这个属性表示当查询超过多少时将拒绝执行。默认值0表示所有的查询都将被执行。
CPUI/O也常常由SQL Server实例指定。不像在服务器上的共享服务资源的其它应用程序,它们必须不使用。这个配置在一些很小的数据库中是强烈推荐不使用的。

  4.temdb的存放

         tempdb数据库是数据库中的重要组件。数据库查询趋向于执行分组的、排序的和聚合的大数量的行。依赖于存储资源、索引和查询结构,很多需求是在tempdb上的。
配置tempdb的第一步是尽可能的将其置于最有效的磁盘上。
第二步是为tempdb确定一个合适的磁盘容量,使得其能够在查询环境中适应。

你可能感兴趣的:(职场,休闲,海量数据处理简要说明(一))