常见问题

最近更新时间:2021-11-17 11:45:05

什么是 TDSQL-H LibraDB?

TDSQL-H LibraDB 是腾讯云自主研发的分布式 HTAP 数据库。基于可插拔式引擎设计、强大的数据融合能力和云原生系统架构,为用户提供一体化产品体验。支持海量数据处理,无论是高负载事务,抑或复杂分析,均能出色完成。

什么是 LibraSQL 分析引擎?

LibraSQL 分析引擎是 TDSQL-H LibraDB 的核心组件之一。LibraSQL 分析引擎高度兼容 ClickHouse 引擎,提供了 HTAP 一体化体验和能力。并针对 ClickHouse 不足,研发了新特性和增强能力,例如,支持 update/delete 实时一致性、提供会话管理、提升 final 性能等。

什么是 TDSQL-H LibraDB 可插拔设计?

TDSQL-H LibraDB 通过 CDC 高速链路与分析引擎,可为您已有的 OLTP 数据库提供一体化分析体验,让您无需重建 OLTP 实例。一个分析引擎可绑定多个 OLTP,并能按需解绑定,满足数据多合一的需求,充分发挥分析引擎对海量数据的支持能力。

支持的 OLTP 和分析引擎有哪些?

TDSQL-H LibraDB 从架构上支持多种 OLTP 和分析引擎的选择。目前支持的 OLTP 为 MySQL,分析引擎为 LibraSQL,更多的支持能力会陆续推出。

什么是 CDC?

CDC(Change Data Capture)是连接 OLTP 与分析引擎的数据高速通路。您在 OLTP 的数据,会通过 CDC 实时同步到分析引擎。CDC 提供了数据过滤,数据映射,数据多合一以及自动化的异构数据转换等能力。

为何新建的库表(新写入的数据)不见了?

初次使用 TDSQL-H LibraDB 的用户,常反馈库表或是数据丢失。这是由于没有正确的创建库表。创建库表需要遵循以下原则:

  • 必须使用 Replicated 引擎族,即您选择的引擎,需要支持副本(请注意这里不是指 Replacing 引擎族)。
  • 必须使用 Distributed 表做数据操作。使用 ON CLUSTER default_cluster 语法。
    这是因为,您所连上的网络地址,是按照负载均衡原则,随机接入集群任意节点的。如果只使用不带副本的本地表,当下一个会话被派发到其他节点时,是无法获取到上一个节点的库表。

为方便用户使用 LibraSQL 分析引擎,提供操作 Demo 如下:

# 建立 online_smoke Database
CREATE DATABASE online_smoke ON CLUSTER default_cluster;

# 创建 ReplicatedMergeTree 本地表
create table online_smoke.online_smoke_local on cluster default_cluster ( i Int32, d Date ) ENGINE = ReplicatedMergeTree('/clickhouse/online_smoke/tables/ontime_local/{shard}', '{replica}') PARTITION BY toYYYYMM(d) order by  (i, d);

# 创建本地表 online_smoke_local的Distributed 表
CREATE TABLE online_smoke.online_smoke_global on cluster default_cluster as`online_smoke`. `online_smoke_local` ENGINE = Distributed(default_cluster, online_smoke, online_smoke_local, i);

# 插入数据
insert into online_smoke.online_smoke_global (i, d) values(1, '2020-01-01');

# 获取数据
select * from online_smoke.online_smoke_global;

# 删除分布式表
drop table  online_smoke.online_smoke_global on cluster default_cluster;

# 删除本地表
drop table online_smoke.online_smoke_local  on cluster default_cluster;

目录