乐趣区

关于数据库:5分钟入门Lindorm-SearchIndex

简介:SearchIndex 是 Lindorm 宽表的二级索引,次要用来帮忙业务实现疾速的检索剖析。本篇文章介绍如何通过简略的 SQL 接口操作 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,非主键为 name,age,address
create 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(name,age,address(type=text,analyzer=ik)) with  (indexState=ACTIVE);
  • 写入测试数据
upsert into  testTable(id,name,age,address) values ('1', '张三', 25, '北京市朝阳区绿地核心 c 座');
upsert into  testTable(id,name,age,address) values ('2', '李四', 30, '上科路张江人工智能岛 2 号楼');
upsert into  testTable(id,name,age,address) values ('3', '王五', 28, '深圳市南山区科苑南路 3331 号');
upsert into  testTable(id,name,age,address) values ('4', '赵六', 36, '杭州市余杭区文一西路 969 号');

查问

select name  from  testtable where address = '朝阳区' limit 10;

select *  from  testtable where age > 30 and address = '杭州' limit 10;

select name  from  testtable where name = '王五' limit 10;

对于非主键的查问,个别会耗费十分多的系统资源,为了零碎稳固,这样的查问默认会被回绝掉。如果基于这些非主键创立了二级索引,则能够高效的执行。

更多 SQL 语法,可参考语法手册。

三、总结

SearchIndex 是 Lindorm 宽表的二级索引,当您想减速检索剖析的速度时,只须要对表创立索引即可,写入的数据会主动构建索引,查问时服务端会主动路由到索引,整个应用过程对业务代码 0 侵入。

SearchIndex 在阿里外部以及私有云上有着丰盛的利用场景,如果您在面对订单查问、物流轨迹、大数据画像、车联网等场景的业务架构设计,能够尝试将 Lindorm SearchIndex 利用到架构中,将会带来开发和存储老本的极大收益。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版