香港服务器MySQL第三方存储引擎

作者:港云互联 时间:2019-09-24

        MySQL从2007年开始提供了插件式的存储引擎API,从此涌出了一系列为不同目的而设计的存储引擎。其中有一些已经合并到MySQL香港服务器,但大多数还是第三方产品或者开源项目。下面探讨一些 我们认为在它设计的场景中确实很有用的第三方存储引擎。

香港服务器

OLTP类引擎


        Percona的XtraDB存储引擎是基于InnoDB引擎的一个改进版本,已经包含在PerconaServer和MariaDB中,它的改进点主要集中在性能、可测量性和操作灵话性方面。XtraDB可以作为InnoDB的一个完全的替代产品,甚至可以兼容地读写InnoDB的数据文件,并支持InnoDB的所有查询。


        另外还有一些和InnoDB非常类似的OLTP类存储引擎,比如都支持ACID事务和MVCC.其中一个就是PBXT,由Paul McCullagh和Primebase GMBH开发。它支持引擎级别的复制、外键约束,井且以一种比较复杂的架构对固态存储(SSD) 提供了适当的支持,还对较大的值类型如BLOB也做了优化。PBXT是一款社区支持的存储引擎,MariaDB包含了该引擎。


        TokuDB引擎使用了一种新的叫做分形树(Fractal Trees) 的索引数据结构。该结构是缓存无关的,因此即使其大小超过内存性能也不会下降,也就没有内存生命周期和碎片的问题,TokuDB是种大数据(Big Data)存储引擎,因为其拥有很高的压缩比,可以在很大的数据量上创建大量索引。在本书写作时,这个引擎还处于早期的生产版本状态,在并发性方面还有很多明显的限制。目前其最适合在需要大量插人数据的分析型数据集的场最中使用,不过这些限制可能在后续版本中解决掉。


        RethinkDB最初是为固态存储(SSD) 而设计的,然而随着时间的推移,目前看起来和最初的目标有一定的差距。 该引擎比较特别的地方在于采用了一种只能追加的写时复制B树(append-only copyon-write B-Tree)作为索引的数据结构。目前还处于早期开发状态,我们还没有测试评估过,也没有听说有实际的应用案例。


        在Sun收购MySQL AB以后,Falcon 存储引擎曾经作为下一代存储引擎被寄予期望,现在该项目已经被取消很久了。Falcon 的主要设计者Jim Starkey创立了一家新公司,主要做可以支持云计算的NewSQL数据库产品,叫做NuoDB (之前叫NimbusDB)。


面向列的存储引擎


        MySQL默认是面向行的,每一行的数据是一- 起存储的,香港服务器的查询也是以行为单位处理的。而在大数据量处理时,面向列的方式可能效率更高。如果不需要整行的数据,面向州的方式可以传输更少的数据。如果每列都单独存储,那么压缩的效率也会更高。


        Infobright是最有名的面向列的存储引擎,在非常大的数据最(数+TB)时,该引擎工作良好,Infobright是为数据分析和数据仓库应用设计的。数据高度压缩, 按照块进行排序,每个块都对应有组元数据在处理在询时,访问元数据可决定跳过该块,甚至可能只需要元数据即可满足查询的需求。但该引擎不支持索引,不过在这么大的数据量级,即使有索引也很难发挥作用,而且块结构也是种准索引 (quasi-index)。 Infobright需要对MySOL香港服务器租用做定制,因为些地方需要修改以适应面向列存储的需要。如果查询无法在存储层使用面向列的模式执行,则需要在香港服务器层转换成按行处理,这个过程会很慢。Infobright有社区版和商业版两个版本。


        另外一个面向列的存储引|擎是Calpont公司的InfniDB,也有社区版和商业版。InfiniDB可以在一组机器 集群间做分布式查询, 但目前还没有生产环境的应用案例。


        顺便提一下,在MySQL之外,如果有面向列的存储的需求,我们也评估过LucidDB和MonetDB.在我们的MySQL性能博客上有相应的性能测试数据,或许随着时间的推移,这些数据慢慢会过期,但依然可以作为参考。


社区存储引擎


        如果要列举社区提供的所有存储引擎,可能会有两位数,甚至三位数。但是负责任地说,其中大部分影响力有限,很多可能部没有听说过,成者只有极少人在使用。在这里列举了一些,也大都没有在生产环境中应用过,慎用,后果自负。


Aria


        之前的名字是Maria,是MySQL创建者计划用来替代MyISAM的一款引擎。MariaDB包含了该引擎,之前计划开发的很多特性,有些因为在MariaDB香港服务器层实现,所以引擎层就取消了。可以说Aria就是解决T崩溃安全恢复问题的MyIsAM.当然也还有一一些特性是MyISAM不具备的,比如数据的缓存(MyISAM只能缓存索引)。


Groonga


        这是款全文索引引擎,号称可以提供准确而高效的全文索引。


OQGraph


        该引擎由Open Query研发,支持围操作(比如查找两点之间的最短路径), MSOL很难实现该类操作。


Q4M


        该引擎在MySQL内部实现了队列操作,而用SQL很难在-个语向实现这类队列操作。


SphinxSE


        该引擎为Sphinx金文索引搜索香港服务器提供TSQL接口,在附录F中将做进一步的详细讨论。


Spider


        该引擎可以将数据切分成不同的分区,比较高效透明地实现了分片(shard), 井且可以针对分片执行并行查询(分片可以分布在不同的香港服务器上)。


VPForMySQL


        该引擎支持重直分区,通过一系列的代理存储引擎实现。重直分区指的是可以将表分成不同列的组合,并且单独存储。但对查询来说,看到的还是一张表。该引擎和Spider的作者是同一人。





新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线