- 论坛徽章:
- 0
|
回复 #12 Johnson.Chao 的帖子
有关Sybase IQ Multiplex的原理如下:
在IQ名称后面加上"Multiplex"表明了它支持并行操作。SYBASE IQ引擎使用了新的体系结构,即多进程多线索结构。这种结构在处理多个并发用户的请求时,能够降低处理器和内存的消耗。体系结构上的这一增强,使SYBASE IQ 拥有了能支持数百甚至上千个并发用户的能力。
SYBASE IQ使用一个标准的 Adaptive Server IQ (IQ)引擎(作很小的修改)来创建共享磁盘,多节点,并行的数据库系统。
SYBASE IQ的配置结构由多个SMP节点构成。IQ (Reader) 或IQ (Writer) 表示连接到一个共享IQ存储区的多个IQ节点,每一个节点访问整个SYBASE IQ 的共享数据存储区,并且对它直接进行物理存取, 因此,它没有被水平分区(不象MPP非共享架构)。SYBASE IQ 有两种类型的节点: 写节点IQ (Writer) 和读节点IQ (Reader)。 写节点执行DBA任务,是唯一的能够更新数据库的节点。读节点是只读服务器。 读节点能够依靠主IQ存储区执行任何只读的任务。 SYBASE IQ的每一个节点由于使用自己的CPU和内存资源运行, 因此, 确保了每个节点之间的零冲突,节点之间不会互相影响。由于在各个SYBASE IQ节点之间仅需极少的通讯,这个架构提供了一个高度的用户扩展性能。 传统的关系型数据库所采用的并行技术称为“并行表扫描”。这种方法是专门为具有多处理器SMP 硬件,并且一次运行一个预先规划好的查询的情况而设计的,它确实在某方面带来了性能上的重大突破。但在一次运行多个复杂查询的情况下,这种方法就会变得很慢,并导致总体性能的降低。 SYBASE IQ 采用的是针对用户的并行模型。这就是说,在多处理器SMP 环境中,SYBASE IQ会在用户之间对CPU 资源进行分布。它是为特定的多用户的数据仓库应用环境而设计的。SYBASE IQ 的设计目的在于最大限度地增加多个同时进行的查询的吞吐量,而不是为了支持一次一个的查询的吞吐量的提高。
SYBASE IQ共享磁盘,不需要对数据库进行分区。传统的并行技术由于需要对数据表进行水平数据分区,因此,大大增加了工作量及维护和管理数据库所需的成本。 |
|