Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5537
  • 博文数量: 2
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-10 13:44
文章分类

全部博文(2)

文章存档

2011年(1)

2009年(1)

我的朋友
最近访客

分类: Sybase

2009-11-10 14:48:22

                                sybase 学习总结
    花了一段时间读了sybase的性能调优基础,其实都是很基础性的概念。
    对于性能调优的理解。性能调优可在多个层次上进行,包括业务设计,架构设计,逻辑设计,数据库逻辑设计,数据库物理设计等。这些层面的设计调整是存在一定的约束条件和关系的,这些内容还需要在以后的工作中去探索和思考。
    关于sybase软件本身。sybase通过对一些概念的管理来最终实现提供数据服务的功能。这些概念包括索引,表,分区,扩展,页,段,数据库设备,物理设备,任务,存储过程等等。
    sybase中的数据分为两大类:数据,管理数据的数据。数据部分包括表和索引。由此延伸,有很多细节可以讨论。表在数据库中的存储。可以是APL形式的,也可以是DOL形式的。APL是一个由sybase逻辑页组成的双向链表;而DOL则是通过对象分区映射表找到自己的所有记录。由此看来,APL的表扫描效率会比较高一些。索引的分类。根据结构的不同,可以分为两类,B+树和B树。APL表的集群索引采用B+树实现。因此,既可以做随机扫描,又可以做顺序扫描。它的记录按照物理顺序排列,通过双链表连接。APL的非集群索引和DOL表的集群非集群索引都是用B树实现的。所以,通过对索引的排序,物理数据在不同的索引中呈现出不同的逻辑顺序。同时,由于物理数据的记录ID在多个逻辑树节点上存储,各种操作引起的记录位置改变都会有比较高的代价。对表的顺序扫描也比B+树多出一倍的IO。
    表的目的是要存储数据。索引的目的是要提高一些核心应用的效率,但同时会对别的应用有负面影响。这样看来,数据库没有效率也可以正常工作。所以也就有了堆表的概念。
    表存储在硬盘中,为了提高数据访问效率,自然也就有了缓冲区的概念。可以为核心表绑定缓冲区来加速访问。所以,ASE Server需要管理缓冲区。需要访问表的应用非常多,要保证核心应用的响应,则需要对请求进行选择性的重点处理。所以,ASE Server需要管理请求队列。表的数据有可能非常大,为了可以提高并发访问的效率,所以对表进行分区,把同一张表放大多个物理设备中,甚至是多个物理磁盘中。为了使更多的应用同时访问数据,所以就有了锁的概念,sybase也就有了专门管理锁的软件模块和数据。
    由此看来,Sybase,甚至是所有的DBMS的核心概念都是由表这个最基本的概念衍生出来,并同时被增加到ASE Server的服务器中。总之,不论从用户看来,还是从设计者看来,软件都是来管理概念的。一定是现有想法和概念,然后才有响应的软件来实现这些想法和概念形成的模型。这些概念会围绕一个或者几个核心概念展开。
   
阅读(830) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:博客已升级,请注意变更地址

给主人留下些什么吧!~~