ClustrixDB-关键特性

来源:互联网 发布:stm32用什么软件编程 编辑:程序博客网 时间:2024/05/16 19:34
ClustrixDB是一个全功能的RDBMS,它结合了复杂的分布式架构与简单的SQL接口。它专门用于OLTP以及MySQL兼容性。

为了更好地了解本文档,一些定义是有序的。在ClustrixDB中,节点是指单个联网服务器,而集群由配置为一起工作的三个或多个节点组成。


可扩展性

ClustrixDB使用无共享架构;唯一的架构是已知随着节点的增加而线性扩展。在无共享架构中,每个节点拥有一部分数据。读取和写入分布到多个节点以减少争用。此外,ClustrixDB自动将数据和查询执行分配到扩展。
ClustrixDB还允许您轻松添加(“Flex Up”)和降低(“Flex Down”)数据库容量,以满足应用程序的变化和季节性需求。要扩展群集的容量,请使用“扩展”功能向群集添加节点。相反,使用ClustrixDB的“缩小”功能缩小配置。当数据库保持联机并可用时,这两种操作都会在后台自动重新分配集群中的数据。


大容量、高并发OLTP

ClustrixDB专门用于大规模在线事务处理(OLTP)。它确保事务总是保持ACID符合性,即使在分布式环境中。ClustrixDB是为高吞吐量工作负载构建的完全关系数据库,可以通过简单添加节点来扩展读取和写入。通过在集群中的不同节点和核心之间分配数据和工作负载,ClustrixDB可以实现远远超过单个实例数据库上可能的并行性水平。


数据的自动分发

ClustrixDB的关键组件是Rebalancer,它在后台连续运行,以自动管理集群的数据分布。它确保跨群集维护您的数据的多个副本(副本)。如果群集遇到意外的节点故障,并且没有足够的可用副本,则重新平衡器自动工作以创建更多。即使在添加或删除数据时,数据和负载也均匀分布在集群中。


分布式查询执行

ClustrixDB群集的每个节点都配置有相同版本的数据库引擎,所有系统数据的映射以及其自己的查询编译器。每个节点能够执行读取和写入。
查询由ClustrixDB强大的Query Optimizer,Sierra进行评估,以确定最佳执行计划。然后,数据库将每个查询分解成分布到包含相关数据的节点的单个分段。实质上,ClustrixDB将查询传递到相关数据,然后合并结果。所有这些复杂的分布式查询规划和执行都是通过一个简单的SQL接口来实现的。


容错/自动修复

当ClustrixDB检测到节点故障时,系统将自动从群集中删除故障节点。故障节点上的数据不能再由群集的其余部分访问。但是,系统中的其他节点具有该数据的副本。ClustrixDB Rebalancer自动继续创建该数据的附加副本。此过程在后台透明地进行,没有用户干预,因此,使ClustrixDB自动修复。要了解更多信息,请参阅有关ClustrixDB的一致性,容错和可用性的文章。


灵活的部署选项

ClustrixDB可以部署在任何您想要的地方 - 在多个云(AWS,Rackspace,Azure)和您选择的硬件上;CentOS 6.X可用的任何地方。有关推荐的硬件平台的更多信息,请参阅推荐的硬件配置。


MySQL兼容性

ClustrixDB利用MySQL语法和构造SQL,DML,DDL,触发器和存储过程。对于当前MySQL用户,这意味着您的现有环境可能已经与ClustrixDB兼容。虽然类似于MySQL,ClustrixDB实际上是从底层建立的。(要查看ClustrixDB和MySQL语法之间的具体差异,请参阅有关与MySQL的一般差异的这篇文章。)
ClustrixDB还支持MySQL复制协议,包括SBR和RBR。有关详细信息,请参阅配置复制。
为用户提供了一个简单的SQL接口,用于访问ClustrixDB中的数据。应用程序将ClustrixDB看作一个实例,无论集群中有多少个节点或数据所在的位置。ClustrixDB不分割数据,并且不需要对应用程序进行修改以访问数据库。ClustrixDB中的每个节点都能够处理任何读取或写入操作。


容易从MySQL迁移

由于ClustrixDB使用MySQL,迁移利用现有的MySQL工具和专有的ClustrixDB产品。典型的迁移如下所示:

     1)使用mysqldump转储MySQL数据库。

      2)使用clustrix_import工具将数据库对象导入ClustrixDB。

      3)使用clustrix_clone_users工具传输用户和权限。

      4)使用MySQL复制将ClustrixDB与最近对MySQL数据库所做的更改同步。

      5)将应用程序服务器切换到ClustrixDB。

有关迁移的详细信息,请参阅从MySQL迁移到ClustrixDB。
0 0