SQL独享版是日志服务提供的计费资源,用于SQL分析。SQL独享版针对日志服务免费的SQL分析功能存在的操作并发数限制和分析数据量限制进行了优化。
前提条件
- 已创建Standard Logstore。具体操作,请参见创建Logstore。
- 已采集日志。具体操作,请参见数据采集。
- 已配置索引。具体操作,请参见配置索引。
背景信息
当您在使用SQL分析时,如果数据量较大,日志服务无法在一次查询中完整扫描这个时间段内的所有日志。为了快速返回结果,日志服务限制了每个Shard扫描的数据量,先返回部分不精确的结果。针对该问题,推荐您增加Shard数量,以增加计算资源。但该方法存在如下问题:增加Shard后只对新写入的数据生效,不能解决旧数据的读取问题。另外,增加Shard会影响数据消费,导致消费的客户端过多。
日志服务推出SQL独享版,用于SQL分析。SQL独享版为计费资源,支持更强大的SQL分析;SQL普通版为免费资源,存在更多的资源限制。更多信息,请参见使用限制。说明 SQL独享版和普通版同时存在,您可以在查询和分析时指定所要使用的版本。
优势
日志服务推出的SQL独享版,支持更强大的SQL分析。与普通版相比,具有如下优势:
- 高性能且无数据量限制,支持千亿级数据的高性能分析。
- 高并发数,单个Project支持的最大分析操作并发数从15个调整为100个。
- 独享资源,性能不受其他用户突发流量影响。
应用场景
SQL独享版主要应用于以下场景:
- 分析性能要求高的场景,例如实时数据分析。
- 长周期的数据分析场景,例如月维度的数据分析。
- 大规模业务的数据分析场景,例如每天TB级别的数据分析。
- 通过日志服务实现多指标多维度(SQL并发数大于15个)的报表需求场景。
开启SQL独享版
日志服务支持如下两种开启方式。
- 单次开启:在执行查询和分析操作时,单击
图标。仅当前Logstore下的查询和分析操作使用SQL独享版。
- 默认开启:打开是否默认开启的开关,则当前Project下的SQL独享版为开启状态,即当前Project下所有查询和分析操作(包括告警、仪表盘等)都默认使用SQL独享版。
单次开启SQL独享版
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在日志存储 > 日志库页签中,单击目标Logstore。
- 单击
图标。开启SQL独享版后,您可以使用SQL独享版执行查询和分析操作。具体操作,请参见查询和分析日志。
默认开启SQL独享版
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 单击
图标。
- 将鼠标悬浮在SQL独享版CU数上,然后单击设置。
- 在编辑SQL独享版CU数面板中,打开是否默认开启的开关,然后单击确定。
SDK示例
- 通过Java SDK使用SQL独享版
- 通过Python SDK使用SQL独享版
- 通过Node.js SDK使用SQL独享版
- 通过PHP SDK使用SQL独享版
- 通过C++ SDK使用SQL独享版
常见问题
- 如何通过API开启SQL独享版?
您可以在GetLogs接口中,通过powerSql参数或query参数开启SQL独享版。更多信息,请参见GetLogs。
- 如何获取CPU时间?执行查询和分析操作后,将鼠标悬浮在分析结果上,查看CPU时间,如下图所示。
- SQL独享版的费用是否可控?日志服务通过SQL独享版的CU数来控制SQL独享版的费用。您可以在目标Project的概览页面中,配置SQL独享版CU数,如下图所示。说明 CU(Compute Unit)是SQL独享版运行过程中可以并行使用的计算核数。
- 使用一次SQL独享版的费用是多少?
在不同的数据量中执行不同的查询和分析语句,会产生不同的SQL独享版费用,案例如下表所示。
查询和分析语句 数据量(行) 平均每次的费用(元) * | select avg(double_0) from stress_s1_mil1
40亿 0.030 * | select avg(double_0), sum(double_0), max(double_0), min(double_0), count(double_0) from stress_s1_mil1
40亿 0.044 * | select avg(double_0), sum(double_1), max(double_2), min(double_3), count(double_4) from stress_s1_mil1
40亿 0.092 * | select key_0 , avg(double_0) as pv from stress_s1_mil1 group by key_0 order by pv desc limit 1000
40亿 0.080 * | select long_0, avg(double_0) as pv from stress_s1_mil1 group by long_0 order by pv desc limit 1000
40亿 0.075 * | select long_0, long_1, avg(double_0) as pv from stress_s1_mil1 group by long_0,long_1 order by pv desc limit 1000
3亿 0.073 * | select avg(double_0) from stress_s1_mil1 where key_0='key_987'
40亿 0.0005
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/163677.html