开发者如何使用云原生多模数据库 Lindorm

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【10月更文挑战第3天】开发者如何使用云原生多模数据库 Lindorm

云原生多模数据库 Lindorm是面向物联网、互联网、车联网等设计和优化的云原生多模超融合数据库,兼容MySQL协议、HBase、ES、Hive、Spark、HDFS等开源标准。提供宽表、时序、向量等数据模型,是互联网、车联网、广告、金融、监控、游戏等场景的首选。

拥有如下核心能力

image.png

支持如下引擎

image.png

点击连接前往产品首页

image.png

进入控制台,点击创建实例

image.png

目前提供了两种优惠产品,分别是LindormV2.0、Lindorm AIGC体验服务。

在数据存储类型上同样提供了多种选择,用户可以很好地结合实际场景进行相应选择。



一、使用Lindorm-cli连接Lindorm

Lindorm-cli是一个类似于MySQL shell命令行的工具,可用于通过命令行连接和操作Lindorm数据库。

  1. 进入Lindorm控制台:点击实例ID进入实例详情页面。

image.png

  1. 开通外网地址:点击左侧“数据库连接”,然后点击上方的“开通外网地址”。等待实例状态变为“已开通”后,配置IP白名单。
  2. 修改分组白名单:点击左侧“访问控制”,然后点击“修改分组白名单”,将需要连接的客户端IP地址添加进去(多个IP用英文逗号隔开)。
  3. 下载Lindorm-cli:根据操作系统选择对应的版本(Windows、Linux、Mac),下载并安装。下载连接

image.png

  1. 使用连接命令
bash复制代码
./lindorm-cli -url<host:port> -username<用户名> -password<密码>

其中,<host:port>替换为实例详情页面中的数据库连接地址,<用户名><密码>默认为root(或根据实例配置修改)。

image.png

二、使用HBase Shell连接宽表引擎

由于Lindorm宽表引擎兼容HBase,因此可以使用HBase Shell来连接和操作宽表引擎。

  1. 下载HBase Shell:进入Lindorm控制台实例详情页面,点击左侧“数据库连接”,然后点击“下载Lindorm Shell”。

image.png

  1. 解压并配置:将下载的压缩包解压到Linux系统下,并配置hbase-site.xml文件中的连接参数(如Lindorm实例的连接地址、用户名和密码)。
<configuration>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value>
    </property>
    <property>
        <name>hbase.client.username</name>
        <value>root</value>
    </property>
    <property>
        <name>hbase.client.password</name>
        <value>root</value>
    </property>
</configuration>
  1. 运行连接命令
bash复制代码
./hbase shell

成功连接后,可以使用HBase Shell提供的DDL和数据读写操作命令。

三、使用Java API连接Lindorm

  1. 添加Maven依赖:在Maven项目的pom.xml文件中添加lindorm-all-client的依赖。
xml复制代码
<dependency>
<groupId>com.aliyun.lindorm</groupId>
<artifactId>lindorm-all-client</artifactId>
<version>最新版本号</version>
</dependency>

注意将“最新版本号”替换为实际的lindorm-all-client版本号。

  1. 初始化Lindorm客户端:在项目中编写代码,初始化Lindorm客户端并连接到数据库。
java复制代码
import java.sql.*;  
import java.util.Properties;  
public class LindormExample {  
public static void main(String[] args) {  
// Lindorm数据库连接信息  
String lindormJdbcUrl = "jdbc:lindorm:table:url=http://<实例公网地址>:30060";  
String username = "root"; // 或根据实例配置修改  
String password = "root"; // 或根据实例配置修改  
String database = "default"; // 或指定的database名称  
// 配置连接属性  
Properties properties = new Properties();  
        properties.put("user", username);  
        properties.put("password", password);  
        properties.put("database", database);  
// 获取连接  
try (Connection connection = DriverManager.getConnection(lindormJdbcUrl, properties)) {  
            System.out.println("成功连接到Lindorm数据库!");  
// 后续可以进行数据库操作,如创建表、插入数据、查询数据等  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
    }  
}

注意将<实例公网地址>替换为实际的Lindorm实例公网地址。

  1. 进行数据库操作:在获取到连接后,可以使用Java SQL API进行数据库操作。例如,创建表、插入数据、查询数据等。

以下是一个简单的示例,演示如何创建表并插入数据:

java复制代码
// 创建表  
String createTableSql = "CREATE TABLE IF NOT EXISTS example_table (" +  
"id BIGINT NOT NULL, " +  
"name VARCHAR(100), " +  
"age INT, " +  
"PRIMARY KEY (id))";  
try (Statement stmt = connection.createStatement()) {  
    stmt.execute(createTableSql);  
} catch (SQLException e) {  
    e.printStackTrace();  
}  
// 插入数据  
String insertDataSql = "INSERT INTO example_table (id, name, age) VALUES (?, ?, ?)";  
try (PreparedStatement pstmt = connection.prepareStatement(insertDataSql)) {  
    pstmt.setLong(1, 1L);  
    pstmt.setString(2, "Alice");  
    pstmt.setInt(3, 30);  
    pstmt.executeUpdate();  
} catch (SQLException e) {  
    e.printStackTrace();  
}

四、使用JDBC Driver连接时序引擎

对于Lindorm的时序引擎,可以使用其提供的JDBC Driver进行连接和操作。以下是连接时序引擎并创建表、插入数据的示例代码:

java复制代码
import java.sql.*;  
public class LindormTSDBExample {  
public static void main(String[] args) {  
// Lindorm时序引擎JDBC连接地址  
String url = "jdbc:lindorm:tsdb:url=http://<实例公网地址>:8242";  
// 获取连接  
try (Connection conn = DriverManager.getConnection(url)) {  
            System.out.println("成功连接到Lindorm时序引擎!");  
// 创建时序数据表  
String createTableSql = "CREATE TABLE sensor1 (" +  
"device_id VARCHAR TAG, " +  
"region VARCHAR TAG, " +  
"time TIMESTAMP, " +  
"temperature DOUBLE, " +  
"humidity DOUBLE, " +  
"PRIMARY KEY(device_id))";  
try (Statement stmt = conn.createStatement()) {  
                stmt.execute(createTableSql);  
            }  
// 插入数据  
String insertDataSql = "INSERT INTO sensor1(device_id, region, time, temperature, humidity) " +  
"VALUES(?, ?, ?, ?, ?)";  
try (PreparedStatement pstmt = conn.prepareStatement(insertDataSql)) {  
                pstmt.setString(1, "F07A1260");  
                pstmt.setString(2, "north-cn");  
                pstmt.setTimestamp(3, Timestamp.valueOf("2021-04-22 15:33:00"));  
                pstmt.setDouble(4, 12.1);  
                pstmt.setDouble(5, 45);  
                pstmt.addBatch();  
// 可以继续添加其他数据到批次中,然后一次性执行  
// ...  
                pstmt.executeBatch();  
            }  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
    }  
}

同样地,需要将<实例公网地址>替换为实际的Lindorm时序引擎公网地址。

通过上述方法,开发者可以方便地连接到Lindorm数据库,并进行各种数据库操作。请注意,以上代码示例仅供参考,具体实现可能需要根据实际需求和Lindorm数据库的版本进行调整。

目录
相关文章
|
25天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
2天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
280 12
|
17天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
5天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
20天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
22天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2583 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
4天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
175 2
|
2天前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
101 65
|
5天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
273 2
|
21天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1580 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码