云原生多模数据库 Lindorm是面向物联网、互联网、车联网等设计和优化的云原生多模超融合数据库,兼容MySQL协议、HBase、ES、Hive、Spark、HDFS等开源标准。提供宽表、时序、向量等数据模型,是互联网、车联网、广告、金融、监控、游戏等场景的首选。
拥有如下核心能力
支持如下引擎
点击连接前往产品首页
进入控制台,点击创建实例
目前提供了两种优惠产品,分别是LindormV2.0、Lindorm AIGC体验服务。
在数据存储类型上同样提供了多种选择,用户可以很好地结合实际场景进行相应选择。
一、使用Lindorm-cli连接Lindorm
Lindorm-cli是一个类似于MySQL shell命令行的工具,可用于通过命令行连接和操作Lindorm数据库。
- 进入Lindorm控制台:点击实例ID进入实例详情页面。
- 开通外网地址:点击左侧“数据库连接”,然后点击上方的“开通外网地址”。等待实例状态变为“已开通”后,配置IP白名单。
- 修改分组白名单:点击左侧“访问控制”,然后点击“修改分组白名单”,将需要连接的客户端IP地址添加进去(多个IP用英文逗号隔开)。
- 下载Lindorm-cli:根据操作系统选择对应的版本(Windows、Linux、Mac),下载并安装。下载连接
- 使用连接命令:
bash复制代码 ./lindorm-cli -url<host:port> -username<用户名> -password<密码>
其中,<host:port>
替换为实例详情页面中的数据库连接地址,<用户名>
和<密码>
默认为root(或根据实例配置修改)。
二、使用HBase Shell连接宽表引擎
由于Lindorm宽表引擎兼容HBase,因此可以使用HBase Shell来连接和操作宽表引擎。
- 下载HBase Shell:进入Lindorm控制台实例详情页面,点击左侧“数据库连接”,然后点击“下载Lindorm Shell”。
- 解压并配置:将下载的压缩包解压到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>
- 运行连接命令:
bash复制代码 ./hbase shell
成功连接后,可以使用HBase Shell提供的DDL和数据读写操作命令。
三、使用Java API连接Lindorm
- 添加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版本号。
- 初始化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实例公网地址。
- 进行数据库操作:在获取到连接后,可以使用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数据库的版本进行调整。