WEB开发网
开发学院数据库DB2 solidDB 和速度的奥秘:IBM 内存中数据库重新定义... 阅读

solidDB 和速度的奥秘:IBM 内存中数据库重新定义高性能

 2010-09-16 00:00:00 来源:WEB开发网   
核心提示: 将块抛开 内存中数据库系统一个最值得注意的不同之处在于没有大数据块结构, IBM solidDB 消除了这种块,solidDB 和速度的奥秘:IBM 内存中数据库重新定义高性能(2),表行和索引节点独立地存储在内存中,所以可以直接添加数据,从而可以通过有效促进缓存的使用提高处理器的效率,这些小型

将块抛开

内存中数据库系统一个最值得注意的不同之处在于没有大数据块结构。 IBM solidDB 消除了这种块。表行和索引节点独立地存储在内存中,所以可以直接添加数据,而不必重新组织大块结构。内存中数据库还放弃使用大块索引(有时也称丛生树),以利于精简结构,增加索引层数,将索引节点最小化,以避免节点内处理的成本。最常见的内存中数据库索引策略是 T-树。然而,IBM solidDB 却使用一种称作 trie(或前缀树)的索引,这种索引最初是为文本搜索而创建的,但是最终成为极佳的内存中索引策略。trie(此名源于单词 retrieval)由一系列的节点组成,其中,一个给定节点的后代具有与该节点关联的相同的字符串前缀。例如,如果单词 “dog” 被存储为 trie 中的一个节点,它将是包含 “do” 的节点的后代,而后者又是包含 “d” 的节点的后代。

Trie 索引可以减少键值比较,并且几乎可以消除节点内处理,从而能够提高性能。索引包含一个节点,该节点是一个小型的指针数组,这些指针又指向更低的层。在此,不必使用整个键值通过遍历树来进行比较,键值被分割为一些小块,每个块包含数个比特位。每个小块便是相应层的指针数组的直接索引:最左边的小块指向第一层节点,第二个小块指向第二层的节点,依此类推。因此,只需进行几次数组元素的检索,便可完成整个搜索。而且,每个索引节点是一个小数据块(在 solidDB 中大约为 256 字节),这可以带来好处,因为这种数据块正好适合现代处理器缓存,从而可以通过有效促进缓存的使用提高处理器的效率。这些小型数据数组是现代处理器中最有效的数据结构, solidDB 经常使用它们来最大化性能。

检查点和耐久性:提速之路

Tags:solidDB 速度 奥秘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接