Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19283893
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: Mysql/postgreSQL

2008-04-01 15:02:39

 

MySQL插件式存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据I/O操作,并能允许和强制执行面向特殊应用需求的特定特性集合。使用特殊存储引擎的主要优点之一在于,仅需提供特殊应用所需的特性,因此,数据库中的系统开销较小,最终结果具有更有效和更高的数据库性能。这也是MySQL被始终视为具有高性能的原因之一,在行业标准基准方面,它能匹敌或击败专有的整体式数据库。

从技术角度上看,在存储引擎中,一些独特的支持底层结构的组件是什么呢?一些关键差别包括:

· 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。选择正确的锁定策略能够减少开销,并有助于整体性能的提升。它还包括对多种能力的支持,如多版本并发性控制或“快照”读取等。

· 事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。

· 引用完整性:通过DDDL定义的 外键,服务器需要强制保持关联数据库的引用完整性。

· 物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。

· 索引支持:不同的应用程序倾向于采用不同的索引策略,每种存储引擎通常有自己的编制索引方法,但某些索引方法(如B-tree索引)对几乎所有的存储引擎来说是共同的。

· 内存高速缓冲:与其他应用程序相比,不同的应用程序对某些内存高速缓冲策略的响应更好,因此,尽管某些内存高速缓冲对所有存储引擎来说是共同的(如用于用户连接的高速缓冲,MySQL的高速查询高速缓冲等),其他高速缓冲策略仅当使用特殊的存储引擎时才唯一定义。

· 性能帮助:包括针对并行操作的多I/O线程,线程并发性,数据库检查点,成批插入处理等。

· 其他目标特性:可能包括对地理空间操作的支持,对特定数据处理操作的安全限制等。

每组插件式存储引擎基本组件均采用了相应的设计,能够为特定应用提供可选择的特性集合。从反面角度看,避免使用组件特性集合有助于避免不必要的开销。因此,显而易见,应理解特定应用程序的需求集合,并选择恰当的能大幅度改善系统整体效率和性能的MySQL存储引擎。

(责任编辑:卢兆林)

阅读(717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~