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

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Tair(兼容Redis),内存型 2GB
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数据库的版本进行调整。

相关实践学习
Lindorm AIGC:十分钟搞定智能问答 + 多模态检索
通过使用Lindorm AIGC体验版服务,十分钟搞定定制化智能问答和多模态检索。
目录
相关文章
|
6月前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
191 4
|
1月前
|
关系型数据库 MySQL 数据库
开发者如何使用数据库文件存储 DBFS
【10月更文挑战第10天】开发者如何使用数据库文件存储 DBFS
78 5
|
3月前
|
SQL 开发框架 数据库
".NET开发者的超能力:AgileEAS.NET ORM带你穿越数据库的迷宫,让数据操作变得轻松又神奇!"
【8月更文挑战第16天】AgileEAS.NET是面向.NET平台的企业应用开发框架,核心功能包括数据关系映射(ORM),允许以面向对象方式操作数据库,无需编写复杂SQL。通过继承`AgileEAS.Data.Entity`创建实体类对应数据库表,利用ORM简化数据访问层编码。支持基本的CRUD操作及复杂查询如条件筛选、排序和分页,并可通过导航属性实现多表关联。此外,提供了事务管理功能确保数据一致性。AgileEAS.NET的ORM简化了数据库操作,提升了开发效率和代码可维护性。
51 5
|
6月前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
|
21天前
|
存储 数据库 开发工具
开发者如何使用云数据库 ClickHouse
【10月更文挑战第21天】开发者如何使用云数据库 ClickHouse
24 1
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
开发者如何使用云原生数据库PolarDB
【10月更文挑战第5天】开发者如何使用云原生数据库PolarDB
45 2
|
1月前
|
关系型数据库 MySQL 数据库
开发者如何使用云数据库RDS
【10月更文挑战第4天】开发者如何使用云数据库RDS
126 1
|
22天前
|
监控 数据可视化 关系型数据库
开发者如何使用云数据库 SelectDB 版
【10月更文挑战第20天】开发者如何使用云数据库 SelectDB 版
16 0
|
1月前
|
负载均衡 Cloud Native 安全
云原生时代的开发者指南:从容器到服务网格
【9月更文挑战第32天】在云原生技术日益成为企业数字化转型的核心力量之际,了解其背后的理念与实践对于开发者而言至关重要。本文旨在通过浅显易懂的语言,为读者揭开云原生技术的神秘面纱,从容器化的基础谈起,逐步深入到服务网格的高级应用,带领开发者们在云原生的海洋中航行。
41 1