DolphinScheduler是一个开源的分布式任务调度系统,拥有分布式架构、多任务类型、可视化操作、分布式调度和高可用等特性,适用于大规模分布式任务调度的场景。目前DolphinScheduler支持的元数据库有Mysql、PostgreSQL、H2,如果在业务中需要更好的性能和扩展性,可以在DolphinScheduler中使用OceanBase数据库作为元数据库进行替换。节点数量和规模可以自由调整,实现无缝扩展和缩减。
OceanBase数据库是阿里巴巴自主研发的分布式关系型数据库,具有以下特点:
分布式架构:OceanBase采用分布式架构,可水平扩展,支持PB级别的数据存储和处理。
高可用性:OceanBase采用分布式副本机制,实现数据的冗余备份,保证在节点故障时仍能提供可用的服务。
高性能:OceanBase采用多维度优化技术,包括数据存储、查询优化、分布式事务等方面,可大幅提升数据库的性能。
强一致性:OceanBase采用基于Paxos协议的多副本一致性算法,实现强一致性的分布式事务处理。
兼容SQL:OceanBase支持标准的SQL语言,包括DDL、DML和DQL等命令。
可扩展性:OceanBase支持在线扩容和缩容,可根据业务需求自由调整节点数量和规模。
安全性:OceanBase采用多层安全策略,包括密码加密、数据加密、访问控制等,保障数据库的安全性。
总之,OceanBase数据库具有高可用、高性能、强一致性等特性,适用于大规模、高并发的业务场景。
在DolphinScheduler中使用OceanBase做数据源在调度业务上的优势:
高性能:OceanBase可以处理大规模数据,而且在数据存储和处理方面都采用了多维度优化技术,所以相对于其他数据库,其有更高的性能表现,可以快速地处理数据。
高可靠性:OceanBase是一个分布式数据库,通过多节点的数据冗余备份,当某个节点发生故障时能够自动切换,保证服务的高可靠性。
事务处理:如果业务需要原子性的操作,OceanBase可以提供强一致性的分布式事务处理,从而保证数据不会出现不一致的情况。
分布式调度:DolphinScheduler自身是分布式任务调度系统,和OceanBase分布式架构相互匹配,可以充分利用Oceanbase的分布式特性,提供更高效率的调度服务。
可扩展性:DolphinScheduler和OceanBase都支持在线扩容和缩容,可以根据业务需求自由调整节点数量和规模,实现无缝扩展和缩减。
使用OceanBase作为数据源可以带来高性能、高可靠性、高安全性和强大的扩展性,和DolphinScheduler结合使用,将会为调度业务的稳定性、可靠性、可扩展性带来更优秀的表现。
SQL语法:OceanBase支持MySQL的常见SQL语句,如SELECT、INSERT、UPDATE、DELETE等命令。
存储引擎:OceanBase支持InnoDB存储引擎,从而可以兼容MySQL的事务和锁定特性。
存储过程:OceanBase支持MySQL的存储过程特性,包括存储过程、存储函数和存储触发器等。
工具和驱动:OceanBase支持MySQL的常见工具和驱动,如MySQLWorkbench、Navicat和JDBC等。
阿里公有云:在阿里云官网申请公有云的OceanBase实例,申请成功后可在控制台-云数据库OceanBase版-实例列表页面看到状态为运行中的实例:
本地启动Api服务:修改dolphinscheduler-api模块配置文件中的数据库地址
本地启动Standalone服务:修改dolphinscheduler-standalone-server模块配置文件中的数据库地址
同上
服务器部署:修改/apache-dolphinscheduler-3.1.2-bin/bin/env/dolphinscheduler_env.sh中的数据库地址
在使用DolphinSchedulerSQL文件dolphinscheduler_mysql.sql初始化数据库时,SQL的开始会设置SETFOREIGN_KEY_CHECKS=0不检查外键约束,需要注意的是OceanBase社区版4.0之前是不支持DDL语句的外键约束的。例官方版本V3.1.1,
所以在这里我们要注意下OceanBase的版本兼容性。
报错信息如下:
报错信息
DolphinScheduler本身是一个非常强大的分布式调度系统,它可以帮助您轻松管理和调度大规模的数据任务。而当它与OceanBase结合使用时,它可以为您提供更具弹性、更安全、更可靠的数据存储方式。这种组合可以帮助您更好地解决大规模数据任务管理和调度的问题,同时提高您的工作效率和任务应用的可靠性。因此,如果您正在使用DolphinScheduler来管理和调度数据任务,强烈建议您尝试使用OceanBase作为其元数据库,让您的任务应用变得更加高效和可靠。