数据库|5分钟入门 Lindorm SearchIndex

数据库|5分钟入门 Lindorm SearchIndex

文章图片

数据库|5分钟入门 Lindorm SearchIndex

一、引言 云原生多模数据库Lindorm , 支持海量数据的低成本存储和弹性按需付费 , 提供宽表、时序、文件等多种数据模型 , 兼容HBase、Cassandra、OpenTSDB等多种开源标准接口 , 是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景的首选数据库 , 也是为阿里巴巴核心业务提供关键支撑的数据库之一 。 关于Lindorm的更多介绍 , 可以参考 云原生多模数据库Lindorm 。
Lindorm对外提供统一的标准SQL入口 , 可以让开发人员快速上手 , 轻松运维海量数据 。 SearchIndex是Lindorm宽表的二级索引 , 主要用来帮助业务实现快速的检索分析 。 本篇文章介绍如何通过简单的SQL接口操作SearchIndex 。
二、SQL操作SearchIndex 开通全文索引
当您购买Lindorm宽表引擎后 , 可以在数据库实例控制台开通“全文索引”功能 , 如下图:

下载SQL工具
进入数据库实例控制台 , 在“数据库连接”中下载SQL工具:Lindorm-cli 。 同时 , 为了能够让本机可以访问集群 , 需要“开通外网地址” , 并将本机ip加入到白名单中 。


连接集群
将上一步下载的Lindorm-cli在本机解压后 , 直接执行如下命令:
./lindorm-cli -url jdbc:lindorm:table:url=http://ld-xxxx-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30060 -username xxx -password xxx 其中的公网连接地址、用户名和密码可以在数据库控制台“数据库连接”中获取 , 参见上个章节中的截图 。 备注:需要提前配置好白名单 。
执行SQL语句
创建数据库 create schema testSchema; 创建表 use testSchema;// 创建一个表 , 主键为id , 非主键为nameageaddresscreate table if not exists testTable(id varchar name varchar age bigint address varchar constraint primary key (id)); 创建SearchIndex // 对表的非主键列建索引 , 其中address是一个分词字段 , 使用IK分词器create search index if not exists testIdx on testTable(nameageaddress(type=textanalyzer=ik)) with (indexState=ACTIVE); 写入测试数据 upsert into testTable(idnameageaddress) values ('1' '张三' 25 '北京市朝阳区绿地中心c座');upsert into testTable(idnameageaddress) values ('2' '李四' 30 '上科路张江人工智能岛2号楼');upsert into testTable(idnameageaddress) values ('3' '王五' 28 '深圳市南山区科苑南路3331号');upsert into testTable(idnameageaddress) values ('4' '赵六' 36 '杭州市余杭区文一西路969号'); 查询 select name from testtable where address = '朝阳区' limit 10;select * from testtable where age30 and address = '杭州' limit 10;select name from testtable where name = '王五' limit 10; 对于非主键的查询 , 一般会消耗非常多的系统资源 , 为了系统稳定 , 这样的查询默认会被拒绝掉 。 如果基于这些非主键创建了二级索引 , 则可以高效的执行 。
更多SQL语法 , 可参考语法手册 。
三、总结 SearchIndex是Lindorm宽表的二级索引 , 当您想加速检索分析的速度时 , 只需要对表创建索引即可 , 写入的数据会自动构建索引 , 查询时服务端会自动路由到索引 , 整个使用过程对业务代码0侵入 。
SearchIndex在阿里内部以及公有云上有着丰富的应用场景 , 如果您在面对订单查询、物流轨迹、大数据画像、车联网等场景的业务架构设计 , 可以尝试将Lindorm SearchIndex应用到架构中 , 将会带来开发和存储成本的极大收益 。
【数据库|5分钟入门 Lindorm SearchIndex】本文为阿里云原创内容 , 未经允许不得转载 。

相关经验推荐