OceanBase的正确使用方法

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: OceanBase不是设计出来的,而是在使用过程中不断进化出来的。因此,系统使用以及运维的方便性至关重要。 OceanBase的使用者是业务系统开发人员,并交由专门的OceanBase DBA来运维。

OceanBase不是设计出来的,而是在使用过程中不断进化出来的。因此,系统使用以及运维的方便性至关重要。

OceanBase的使用者是业务系统开发人员,并交由专门的OceanBase
DBA来运维。为了方便业务使用,OceanBase实现了SQL接口且兼容MySQL协议,从而融入到MySQL开源生态圈。MySQL大部分管理工具,例如MySQL客户端,MySQL admin,能够在OceanBase系统中直接使用。另外,OceanBase将系统运维、监控相关的内部信存放到内部的系统表中,从而方便运维、监控系统获取。

OceanBase早期版本只允许通过Java或者C APl接口访问,新版本增加了SQL支持,且兼容MySQL客户端访问协议。OceanBase推荐用户使用SQL,但老应用仍然可以使用以前的JavaAPI访问OceanBase。下面介绍几个访问与使用场景。

MySQL客户端连接

使用者采用MySQL客户端连接OceanBase。通过MySQL客户端可以查看系统已有的表格、表格schema,执行select、update、insert、delete等SOL语句,查看系统内部状态,以及发送OceanBase集群运维命令。

【例】首先通过create table命令创建一张名称为test的表格,表格包含两列:id和ame,其中id为主键。接着,往表格中写入两行记录(1,“alice”),(2,”tob”)。最后,通过select语句读取这两行数据。

JDBC访问(JDBC template)

Java 应用通过标准JDBC访问OceanBase,代码如下所示:

ObGroupDataSource groupSource = new OBGroupDataSource();
groupSource.setUserName("user");//设置用户名
groupSource.setPasswd("pass");//设置密码
groupSource.setDbNane("test");// oceanBase不支持db,这里可以填任意值
groupSouorce.setConfigURL(ob_addr_url);//设置OceanBase集群的地址
groupSource.init();//初始化data source
JdbcTemplate jtp = new JdbcTemplate();
jtp.setDatasource(groupsource);//设置 jdbc template依赖的data source
String sql = "select 1 from = dual";
int ret = jtp.queryForInt(sql);//执行SOL查询

Spring集成

可以通过将OceanBase DataSource集成到Spring中,配置如下:

<bean id = "groupDataSource" 
        class=”com.alipay.oceanbase,ObGroupDataSource”
        init-method="init">
    <property name="username" value="user" />
    <property name="passwd" value="pass" />
    <property name="dbName" value="test" />
    <property name="configURL" value_ob_addr_url />
</bean>

C 客户端

C 应用通过OceanBase C客户端访间OceanBase,使用方式与MySQL C客户端完全一致,代码如下:

MYSQL mysql;
mysql_init(&mysql); //初始化
Mysql_real_connect(&mysql, ob url, ob user, ob pass, NULL, 0, NULL, 0);  //连接OceanBase数据库
Mysql_real_query(&mysq1, sq1, strlen(sql));  //执行SQL查询
MYSQL_RES* res = mysql_store_reault(&mysql); //获取SQL查询结果集
//处理SQL查询返回的结果集
while(MYSQL_ROW row = mysql_fetch_row(res); //从结果集读取一行数据
//处理结果集中的一行结果
Mysql_free_result(res); //释放结果集
Mysql_close(&mysql);  //关闭连接

总结

当然,应用可能会在客户端维护OceanBase连接池,Java应用还可能会使用其他持久层框架,例如iBatis。由于OceanBase兼容JDBC和MySQL C客户端,使用MySQL的应用无须修改代码就能接入OceanBase。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
机器学习/深度学习 JSON JavaScript
图文讲解 Stable Diffusion API 调用教程
Stable Diffusion 是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API,通过编程来操控图像生成的过程。
|
10月前
|
Oracle 关系型数据库 MySQL
【赵渝强老师】OceanBase中的租户
OceanBase数据库采用多租户架构,支持云数据库部署。租户是资源分配单位,分为系统租户、用户租户和Meta租户。系统租户管理集群生命周期,用户租户提供完整数据库功能(支持MySQL和Oracle模式),Meta租户存储用户租户的私有数据。多租户架构降低运维复杂度,支持多种部署形式,确保数据隔离与安全。
605 0
|
域名解析 安全 网络协议
免费通配符SSL证书不限制申请-2025最新渠道解析
在网络安全至关重要的今天,通配符SSL证书因其能保护主域名及所有二级子域名而备受青睐。本文解析2025年最新免费通配符SSL证书申请渠道,重点介绍JoySSL提供的不限量免费证书。通过简单步骤,用户可轻松申请并安装证书,确保网站安全。注意及时续签和政策变动,以保障长期稳定使用。
1074 19
|
人工智能 Java 测试技术
低成本工程实践-AI帮我写代码做需求
本文主要讲述,以“无需训练模型”的方式实现:AI智能分析功能需求、写代码、review代码解决特定业务问题的实践过程
831 12
低成本工程实践-AI帮我写代码做需求
|
Cloud Native 安全 开发工具
阿里云 EMAS携手开发者,共建更优质的HarmonyOS NEXT应用生态
阿里云移动研发平台 EMAS(Enterprise Mobile Application Studio,简称EMAS)是国内领先的云原生应用开发平台, 基于广泛的云原生技术致力于为企业、开发者提供一站式的应用研发管理服务,涵盖开发、测试、运营等应用全生命周期。
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
934 16
|
存储 分布式计算 Hadoop
HDFS教程(01)- 初识HDFS
HDFS教程(01)- 初识HDFS
1448 0
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之与SonarQube的集成该如何完成
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
SQL 分布式计算 监控
大数据时代的五大利剑
大数据时代的五大利剑
1292 12