表格存储(TableStore)
表格存储(Table Store)简称OTS,是根据99.99%的高可用以及11个9的数据可靠性的设计标准,构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问服务。
示例
CREATE TABLE ots_dim_table (
id int,
len int,
content VARCHAR,
PRIMARY KEY (id),
PERIOD FOR SYSTEM_TIME--定义了维表的变化周期,即表明该表是一张会变化的表。
) WITH (
type='ots',
endPoint='zzz'
instanceName='yourInstanceName',
tableName='yourTableName',
accessId='xxx',
accessKey='yyy',
);
注意:声明一个维表的时候,必须要指名主键。维表JOIN的时候,ON的条件必须包含所有主键的等值条件。OTS的主键即表的rowkey。
WITH参数
参数 | 注释说明 |
---|---|
instanceName | 实例名 |
tableName | 表名 |
endPoint | 实例访问地址 |
accessId | 访问的id |
accessKey | 访问的键 |
Cache 参数
参数 | 注释说明 | 备注 |
---|---|---|
cache | 缓存策略 | 默认 “None”, 可选 “LRU” |
cacheSize | 缓存大小 | 当选择 LRU 缓存策略后,可以设置缓存大小,默认 10000 行 |
cacheTTLMs | 缓存超时时间,单位毫秒 | 当选择 LRU 缓存策略后,可以设置缓存失效的超时时间 |
测试案例
CREATE TABLE datahub_input1 (
id BIGINT,
name VARCHAR,
age BIGINT
) WITH (
type='datahub'
);
create table phoneNumber(
name VARCHAR,
phoneNumber bigint,
primary key(name),
PERIOD FOR SYSTEM_TIME--定义维表的变化周期
)with(
type='ots'
);
CREATE table result_infor(
id bigint,
phoneNumber bigint,
name VARCHAR
)with(
type='rds'
);
INSERT INTO result_infor
SELECT
t.id
,w.phoneNumber
,t.name
FROM datahub_input1 as t
JOIN phoneNumber FOR SYSTEM_TIME AS OF PROCTIME() as w --维表JOIN必须指定
ON t.name = w.name;
关于维表详细语法请参见维表JOIN语法。
本文转自实时计算——创建表格存储(Table Store)维表