diff --git a/apps/oceanbase/4.2.1/data.yml b/apps/oceanbase/4.2.1/data.yml new file mode 100644 index 00000000..6ca5d01e --- /dev/null +++ b/apps/oceanbase/4.2.1/data.yml @@ -0,0 +1,56 @@ +additionalProperties: + formFields: + - default: '' + edit: true + envKey: OB_ROOT_PASSWORD + labelEn: password of sys@root + labelZh: SYS租户密码 + required: false + type: password + - default: 2881 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: '' + edit: true + envKey: OB_INSTALL_PATH + labelEn: install_path + labelZh: 安装目录 (默认为1panel安装目录,需要最少10G空间) + required: false + type: text + - default: 'test' + edit: true + envKey: OB_TENANT_NAME + labelEn: tenant_name + labelZh: 租户名 + required: true + rule: paramCommon + type: text + - default: 6 + edit: true + envKey: OB_MEMORY_LIMIT + labelEn: memory_limit + labelZh: 内存 (单位:G) + required: true + rule: paramPort + type: number + - default: 5 + edit: true + envKey: OB_DATAFILE_SIZE + labelEn: datafile_size + labelZh: 数据文件大小 (单位:G) + required: true + rule: paramPort + type: number + - default: 5 + edit: true + envKey: OB_LOG_DISK_SIZE + labelEn: log_disk_size + labelZh: 日志文件大小 (单位:G) + required: true + rule: paramPort + type: number \ No newline at end of file diff --git a/apps/oceanbase/4.2.1/docker-compose.yml b/apps/oceanbase/4.2.1/docker-compose.yml new file mode 100644 index 00000000..38818615 --- /dev/null +++ b/apps/oceanbase/4.2.1/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3' + +services: + oceanbase: + image: oceanbase/oceanbase-ce:4.2.1 + container_name: ${CONTAINER_NAME} + restart: always + environment: + OB_MEMORY_LIMIT: ${OB_MEMORY_LIMIT}G + OB_DATAFILE_SIZE: ${OB_DATAFILE_SIZE}G + OB_LOG_DISK_SIZE: ${OB_LOG_DISK_SIZE}G + OB_ROOT_PASSWORD: ${OB_ROOT_PASSWORD} + OB_TENANT_NAME: ${OB_TENANT_NAME} + MODE: mini + OB_CLUSTER_NAME: ob_1panel + networks: + - 1panel-network + volumes: + - ${HOME_PATH:-./data/ob}:/root/ob + - ./data/.obd:/root/.obd + ports: + - ${PANEL_APP_PORT_HTTP}:2881 + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/oceanbase/4.2.1/scripts/init.sh b/apps/oceanbase/4.2.1/scripts/init.sh new file mode 100644 index 00000000..7d7e61d0 --- /dev/null +++ b/apps/oceanbase/4.2.1/scripts/init.sh @@ -0,0 +1,14 @@ +source ./.env + +LOG='./init.log' +mkdir -p $PWD/data/.obd 2>&1 >> $LOG || exit 11 +if [ "x$OB_INSTALL_PATH" != "x" ]; then + HOME_PATH="$OB_INSTALL_PATH/ob/$CONTAINER_NAME" + echo "link $HOME_PATH to $PWD/data/ob" >> $LOG + mkdir -p $HOME_PATH 2>&1 >> $LOG || exit 10 + ln -sf $HOME_PATH ./data/ob 2>&1 >> $LOG || exit 12 + echo "HOME_PATH=$HOME_PATH" >> ./.env +else + mkdir -p $PWD/data/ob 2>&1 >> $LOG || exit 10 + echo "install path not set" >> $LOG +fi diff --git a/apps/oceanbase/4.2.1/scripts/uninstall.sh b/apps/oceanbase/4.2.1/scripts/uninstall.sh new file mode 100644 index 00000000..e56fa561 --- /dev/null +++ b/apps/oceanbase/4.2.1/scripts/uninstall.sh @@ -0,0 +1,7 @@ +source ./.env + +LOG='./uninstall.log' + +HOME_PATH=`realpath $PWD/data/ob/` +echo "remove $HOME_PATH" >> $LOG +rm -fr $PWD/data/ob/ 2>&1 >> $LOG || exit 10 \ No newline at end of file diff --git a/apps/oceanbase/README.md b/apps/oceanbase/README.md new file mode 100644 index 00000000..9544e644 --- /dev/null +++ b/apps/oceanbase/README.md @@ -0,0 +1,42 @@ +# OceanBase + +为现代数据架构打造的开源分布式数据库。兼容 MySQL 的单机分布式一体化国产开源数据库,具有原生分布式架构,支持金融级高可用、透明水平扩展、分布式事务、多租户和语法兼容等企业级特性。OceanBase 内核通过大规模商用场景的考验,已服务众多行业客户;面向未来携手社区生态伙伴,共建开源开放的数据库内核和生态。 + +## 使用说明 + +1. 默认配置为最小配置,请勿再调小 +2. SYS租户密码是SYS租户root账号的密码,并非业务租户的密码,业务租户请登录业务租户后自行修改 +3. 请使用业务租户,不要直接使用SYS租户 +4. 您可以使用 mysql 客户端链接业务租户,比如 mysql -h127.0.0.1 -P2881 -uroot@test + 1. 其中 2881 为默认端口,请自行修改为对应的配置端口 + 2. 其中 test 为默认业务租户名,请自行修改为对应的配置租户名 +5. 请确保安装目录为剩余空间大于 数据文件大小 + 日志文件大小 +6. OceanBase 的存储空间是预分配的,因此数据库启动时便会根据配置占用对应的空间,不必因为磁盘使用空间突然增加而担忧 +7. 卸载时将自动清理数据文件,卸载前请确保数据已备份 + +## 核心特性 + +### 高可用 + +独创 “三地五中心” 容灾架构方案,建立金融行业无损容灾新标准。支持同城/异地容灾,可实现多地多活,满足金融行业 6 级容灾标准(RPO=0,RTO< 8s),数据零丢失。 + +### 高兼容 + +高度兼容 Oracle 和 MySQL,覆盖绝大多数常见功能,支持过程语言、触发器等高级特性,提供自动迁移工具,支持迁移评估和反向同步以保障数据迁移安全,可支撑金融、政府、运营商等关键行业核心场景替代。 + +### 水平扩展 + +实现透明水平扩展,支持业务快速的扩容缩容,同时通过准内存处理架构实现高性能。支持集群节点超过数千个,单集群最大数据量超过 3PB,最大单表行数达万亿级。 + +### 低成本 + +基于 LSM-Tree 的高压缩引擎,存储成本降低 70% - 90%;原生支持多租户架构,同集群可为多个独立业务提供服务,租户间数据隔离,降低部署和运维成本。 + +### 实时 HTAP + +基于“同一份数据,同一个引擎”,同时支持在线实时交易及实时分析两种场景,“一份数据”的多个副本可以存储成多种形态,用于不同工作负载,从根本上保持数据一致性。 + +### 安全可靠 + +自 2010 年开始完全自主研发,代码级可控,自研单机分布式一体化架构,连续多年通过大规模金融核心场景的可靠性验证;完备的角色权限管理体系,数据存储和通信全链路透明加密,支持国密算法,通过等保三级专项合规检测。 + diff --git a/apps/oceanbase/data.yml b/apps/oceanbase/data.yml new file mode 100644 index 00000000..bd2eb316 --- /dev/null +++ b/apps/oceanbase/data.yml @@ -0,0 +1,18 @@ +name: OceanBase +tags: + - 数据库 +title: OceanBase +description: 兼容 MySQL 的单机分布式一体化国产开源数据库 +additionalProperties: + key: oceanbase + name: OceanBase + tags: + - Database + shortDescZh: 兼容 MySQL 的单机分布式一体化国产开源数据库 + shortDescEn: Dstributed Cluster + type: runtime + crossVersionUpdate: false + limit: 0 + website: https://open.oceanbase.com/ + github: https://github.com/oceanbase/oceanbase + document: https://www.oceanbase.com/docs diff --git a/apps/oceanbase/logo.png b/apps/oceanbase/logo.png new file mode 100644 index 00000000..f4436f96 Binary files /dev/null and b/apps/oceanbase/logo.png differ