15 天前 / Yourtion
总第 514 篇 2022 年 第 031 篇 全量 SQL(所有访问数据库的 SQL)可以有效地帮助安全进行数据库审计,帮助业务快速排查性能问题。一般可通过开启 genlog 日志或者启动 MySQL 审计插件方式来进行获取,而美团选用了一种非侵入式的旁路抓包方案,使用 Go 语言实现。无论采用哪种方案,都需要重点关注它对数据库的性能损耗。 本文介绍了美团基础研发平台抓包方案在数据库审计实践中遇到的性能问题以及优化实践,希望能对大家有所帮助或启发。
19 天前 / 数栈DTinsightu580540
导读: Spark SQL 有 RBO 和 CBO 两种优化方式,数栈为什么选择 CBO 作为优化方式?又是在数栈中怎么落地的?未来优化方式选择是什么,本期内容带你了解数栈在 Spark SQL 优化方式上的探索。 你能看到 Spark SQLCBO 选型背景 Spark SQLCBO 实现原理 数栈在 Spark SQLCBO 上的探索 作者 / 修竹 编辑 / 花夏 Spark SQL CBO 选型背景 Spark SQL 的优化器有两种优化方式:一种是基于规则的优化方式 (Rule-Based Optimizer,简称为 RBO);另一种是基于代价的优化方式 (Cost-Based Optimizer,简称为 CBO)。
31 天前 / sjf0115
作者:龙逸尘,腾讯 CSIG 高级工程师背景介绍维表(Dimension Table)是来自数仓建模的概念。在数仓模型中,事实表(Fact Table)是指存储有事实记录的表,如系统日志、销售记录等,而维表是与事实表相对应的一种表,它保存了事实表中指定属性的相关详细信息,可以跟事实表做关联;相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。 在实际生产中,我们经常会有这样的需求,以原始数据流作为基础,关联大量的外部表来补充一些属性。例如,在订单数据中希望能获取订单收货人所在市区的名称。
35 天前 / BloomingRose
本文根据许鹏老师在〖deeplus 直播:开源分布式数据库 CrateDB 在携程的最佳实践〗线上分享演讲内容整理而成。(文末有回放的方式,不要错过) 许鹏 携程 研发总监 专注于分布式计算和存储,对 Spark 和 PostgreSQL 有深入研究,拥有多年 Presto 和 Elasticsearch 的运维经验。 今天的分享主要包含以下几个方面的内容: CrateDB 介绍 CrateDB 在携程的实践 CrateDB 在携程的优化 总结 一、CrateDB 介绍 1、CrateDB CrateDB 是一款基于 ElasticSearch 的分布式数据库,它与 ElasticSearch 最大的区别是提供了 ANSI SQL 查询访问接口。
63 天前 / sjf0115
背景因为业务需要,雪球数据团队基于 HDP 3.1.5(Hadoop 3.1.1+Hive 3.1.0+Tez 0.9.1)搭建了一个新的集群,HDP 3.1.5 默认使用 Hive3 on Tez 作为 ETL 计算引擎,但是在使用 Hive3 on Tez 中,我们遇到很多问题: 部分 SQL 执行失败,需要关闭掉容器复用或者向量化执行。部分 SQL 开启 CBO 优化之后的执行计划错误,导致结果出错,需要关闭 CBO 优化。还有一些时区不准、GroupBy with Limit 不准确等已经在新版本 fix 的 bug。极其个别复杂多级关联的 SQL,计算结果不准确,很难发现,需要通过修改 SQL 来解决。这些问题对数仓开发来说非常致命。
72 天前 / sjf0115
作者:董伟柯,腾讯 CSIG 高级工程师综述 Flink 作为流式数据处理框架的领跑者,在吞吐量、时延、准确型、容错性等方面都有优异的表现。在 API 方面,它为用户提供了较底层的 DataStream API,也推出了 Table API 和 SQL 等编程接口。特别来看,SQL 以其易用、易迁移的特点,深受广大用户的欢迎。 在常见的数据分析场景中,JOIN(关联)操作是一项很有挑战性的工作,因为它涉及到左右两个表(流)的状态匹配,对内存的压力较大;而相比恒定的批数据而言,流数据更加难以预测,例如数据可能乱序、可能晚到,甚至可能丢失,因此需要缓存的状态量更加庞大...
76 天前 / sjf0115
Flink 版本:1.14.4 Apache Flink 具有两个关系 API:Table API 和 SQL。Table API 是用于 Java、Scala 和 Python 的集成语言查询 API,可以以非常直观的方式组合不同关系运算符(例如 SELECT、FILTER 以及 JOIN)构建复杂查询。Flink SQL 基于 Apache Calcite 实现。 1. 依赖 1.1 Planner 从 Flink 1.9 开始,Flink 提供了两种不同的 Planner 实现来执行 Table & SQL API 程序: Blink Planner:Flink 1.9+Old Planner:Flink 1.9 之前在 1.14 新版本中,Old Planner 被移除,Blink Planner 将成为 Planner 的唯一实现。
76 天前 / 趣编程
作者:vivo 互联网服务器团队 -Shuai Guangying 在《探究 Presto SQL 引擎 (1)- 巧用 Antlr》中,我们介绍了 Antlr 的基本用法以及如何使用 Antlr4 实现解析 SQL 查询 CSV 数据,更加深入理解 Presto 查询引擎支持的 SQL 语法以及实现思路。 本次带来的是系列文章的第 2 篇,本文梳理了 Join 的原理,以及 Join 算法在 Presto 中的实现思路。通过理论和实践的结合,可以在理解原理的基础上,更加深入理解 Join 算法在 OLAP 场景下的工程落地技巧,比如火山模型,列式存储,批量处理等思想的应用。
81 天前 / tabalt
SQL 概述 SQL 的全称是 Structured Query Language(结构化查询语言),是最早于 1970 年代提出并广泛应用于访问和管理关系型数据库(如 Oracle/MySQL)的标准计算机语言。基于 SQL 的全面强大的功能及简单易用的特性,其历经 50 年风雨一直长盛不衰;很多近年来才快速发展起来的大数据处理系统如 Presto/Flink/Spark/Hive 等也实现了 SQL 或类 SQL 的语言。 基于具体的功能可以对 SQL 做进一步的细分,常用的有: 数据定义语言(DDL,Data Definition Language):创建新表或修改、删除表,关键字包括 CREATE、ALTER 和 DROP 等 数据操作语言(DML...
81 天前 / sjf0115
分享嘉宾:杨尚昂 京东 BI 工程师 编辑整理:闵强明略科技 出品平台:DataFunTalk 导读:今天给大家分享京东在实时建模过程中使用 Flink SQL 的应用案例。主要从问题、难点、方案和规划四个方面来介绍。 01 问题在维度建模中有很多技术场景,本文挑选其中两个较难的场景来进行详细阐述。 问题一 实时多流全量关联的问题 select * from A full join B on A.name = B.name;此问题关联 SQL 比较简单,只有 A 流和 B 流两个实时流进行 full join,但还可能涉及到其中有一流数据需要关联全量历史数据。
105 天前 / HueiFeng
菜鸟供应链金融慢 sql 治理已经有一段时间,自己负责的应用持续很长时间没有慢 sql 告警,现阶段在推进组内其他成员治理应用慢 sql。这里把治理过程中的一些实践拿出来分享下。 一、全表扫描 1、案例 SELECT count(*) AS tmp_count FROM ( SELECT * FROM `XXX_rules` WHERE 1 = 1 ORDER BY gmt_create DESC ) a 2、溯源 在分页查询治理的文章里已经介绍过我们系统旧的分页查询逻辑,上面的查询 sql 明显就是分页查询获取总记录数,通过 XXX_rules 表的分页查询接口溯源,找到发起调用的页面是我们小二后台的一个操作商家准入的页面...
111 天前 / HueiFeng
数据库的执行计划是 SQL 优化的最重要手段,执行计划怎么来的、包含什么内容、我们应该关注哪些点,这些是需要我们掌握的,基于这些知识再去理解 SQL 优化将更加容易。 本文由腾讯云数据库高级架构师何敏带来 TDSQL PostgreSQL 执行计划详解,以下为分享实录: 在了解 PostgreSQL 执行计划之前,需要先知道执行计划由来。TDSQL PostgreSQL 版任何查询都会经过语法和语义解析,生成查询表达式树,也就是常用查询数,解析器会去解析语法,分析器会把语法对应对象进行展开,通过重写器对规则进行重写,最后生成查询数。
116 天前 / 逗逗
点击“大数据技术团队”,一键关注 -Hive SQL 编译成 MapReduce 过程- 编译 SQL 的任务是在上节中介绍的 COMPILER(编译器组件)中完成的。Hive 将 SQL 转化为 MapReduce 任务,整个编译过程分为六个阶段: 词法、语法解析: Antlr 定义 SQL 的语法规则,完成 SQL 词法,语法解析,将 SQL 转化为抽象语法树 AST Tree; Antlr 是一种语言识别的工具,可以用来构造领域语言。使用 Antlr 构造特定的语言只需要编写一个语法文件,定义词法和语法替换规则即可,Antlr 完成了词法分析、语法分析、语义分析、中间代码生成的过程。
117 天前 / HueiFeng
前言闲鱼服务端在做数据库查询时,对每一条 SQL 都需要仔细优化,尽可能使延时更低,带给用户更好的体验。但是在生产中偶尔会有一些情况怎么优化都无法满足业务场景。本文通过对一条慢 SQL 的真实改造,介绍解决复杂查询的一种思路,以及如何使得一条平均 RT 接近 2s 的 SQL,最终耗时下降 30 倍。 背景先来看一条 SQL select id,userid,itemid,status,type,modifiedtime ···from table1where userid = 123 and status in (0,1,2) and type in ('a','b','c') order by status,modifiedtime desc limit 0,20 查询条件并不多...
120 天前 / 云智慧AIOps社区
云智慧 AIOps 社区是由云智慧发起,针对运维业务场景,提供算法、算力、数据集整体的服务体系及智能运维业务场景的解决方案交流社区。该社区致力于传播 AIOps 技术,旨在与各行业客户、用户、研究者和开发者们共同解决智能运维行业技术难题,推动 AIOps 技术在企业中落地,建设健康共赢的 AIOps 开发者生态。 Flink SQL 动态表创建 Kafka 动态表下图为在 Flink 里创建 kafka 动态表。知道 kafka 的信息和数据格式信息后创建 kafka 表,在建表语句的最后一个字段,我们添加了一个 kafka topic 元数据信息:create_time(数据写入 kafka 的时间)...