22 天前 / 逗逗
文|汪细勖小米云平台工程师、负责小米 Apache Doris 项目的开发和运维、专注于 OLAP 计算引擎的 SQL 解析和优化 导读 本文主要介绍了 Doris SQL 解析的原理。 重点讲述了生成单机逻辑计划,生成分布式逻辑计划,生成分布式物理计划的过程。对应于代码实现是 Analyze,SinglePlan,DistributedPlan,Schedule 四个部分。 Analyze 负责对 AST 进行前期的一些处理,SinglePlan 根据 AST 进行优化生成单机查询计划,DistributedPlan 将单机的查询计划拆成分布式的查询计划,Schedule 阶段负责决定查询计划下发到哪些机器上执行。
23 天前 / sjf0115
整理:戴季国(Flink社区志愿者)校对:苗文婷(Flink 社区志愿者)摘要:本文由腾讯高级工程师杜立分享,主要介绍腾讯实时计算平台针对 Flink SQL 所做的优化,内容包括: Flink SQL 现状 窗口功能的扩展 回撤流的优化 未来的规划 Tips:点击文末「阅读原文」即可回顾作者原版分享视频~ 一、背景及现状 1.三种模式的分析 Flink 作业目前有三种创建方式:JAR 模式、画布模式和 SQL 模式。不同的提交作业的方式针对的人群也是不一样的。 ■ Jar 模式 Jar 模式基于 DataStream/DataSet API 开发,主要针对的是底层的开发人员。
33 天前 / 訢亮
前言为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间;执行 SQL 的文件地址和行号;执行 SQL 的花费时长;执行 SQL 的影响行数;执行的 SQL 语句;数据库组件使用的是 GORM。 思路 1、在执行 SQL 前,设置开始执行时间(计算执行时长会用到);2、在执行 SQL 后,第一,获取当前请求的上下文,为什么获取上下文,因为需要从上下文中获取本次请求信息,第二,获取 SQL 执行前的时间,用来计算执行时长,第三,获取执行的 SQL 信息,然后将数据设置到 Trace 中...
57 天前 / 尹千觞
在前一篇文章中《浅析构建 SQL-to-SQL 的翻译器》,我简单的阐述整体的思想。很高兴借此认识了一些新的小伙伴,并且进行了深入的探讨。 今天我们再来做一些进一步的思考,然后再加入一点想象力,看看是否可以将深度学习引入到这个过程中来呢?接下来,我们就来说说吧。 常规 显而易见的,我们有几条路可以选, 解析阶段转换 即在源 SQL 输入进行语法解析的时候,同时构建目标 SQL 的 AST。 遍历阶段转换 即在遍历源 AST 的时候,构建目标 SQL 的 AST。 直接转换 即直接将源 AST 硬转成目标 AST。
80 天前 / 尹千觞
如果你爱一个人,就让他写 SQL,因为那是天堂。 如果你恨一个人,就让他写 SQL,因为那是地狱。 天堂,是因为他如此简单,又功能强大,可以极大简化你的程序。 地狱,是因为他如此纷繁,复杂,还有各种方言标准,而且不通用,当你试图切换数据库产品的时候,什么叫生不如死 ...... 那我们就不能构建一个统一的数据库语言么?这个真不能,不是技术上不能,而是利益趋势,大家坚守自己的方言堡垒,而且越建越高。
81 天前 / 宜信技术学院
一、场景描述 假设有两张表:一张商品表、一张订单表,具体表的字段如下: 商品表和订单表是一对多的关系,一个商品可以有多个订单。现有如下需求: 1、 发送通知需求:某一特定类别的商品,购买成功后需要发送通知给下单的客户,下单后默认通知状态为未发送,发送成功标记已发送。 2、 查询需求:查询某一用户的订单列表,列出订单信息和订单的商品信息。供给用户购买记录页面呈现使用。 二、发送通知需求 (传统 mybatis 写法 和 mybatis plus 对比) 传统的 mybatis 做 ORM 映射工具并手写 sql 的时代...
87 天前 / sjf0115
本文主要介绍 HBase 和 Flink SQL 的结合使用。HBase 作为 Google 发表 Big Table 论文的开源实现版本,是一种分布式列式存储的数据库,构建在 HDFS 之上的 NoSQL 数据库,非常适合大规模实时查询,因此 HBase 在实时计算领域使用非常广泛。可以实时写 HBase,也可以利用 buckload 一把把离线 Job 生成 HFile Load 到 HBase 表中。而当下 Flink SQL 的火热程度不用多说,Flink SQL 也为 HBase 提供了 connector,因此 HBase 与 Flink SQL 的结合非常有必要实践实践。
94 天前 / 过往记忆大数据
本文来自上周(2020-11-17 至 2020-11-19)举办的Data + AI Summit 2020(原 Spark+AI Summit),主题为《Spark SQL Beyond Official Documentation》的分享,作者 David Vrba,是 Socialbakers 的高级机器学习工程师。 实现高效的 Spark 应用程序并获得最大的性能为目标,通常需要官方文档之外的知识。理解 Spark 的内部流程和特性有助于根据内部优化设计查询,从而在执行期间实现高效率。在这次演讲中,我们将重点讨论 Spark SQL 的一些官方文档中没有很好描述的内部特性,重点在一些基本示例上解释这些特性,同时分享一些性能技巧。
125 天前 / tengzhangchao
本文是团队成员 N0b1e6 的原创技术文章! 正文开始 ------------------------------------------------- 本期分享最新的 bypass 安全狗 技术 环境配置 安全狗 apache 版,网马版本 2020-02-19 windows2008 apache2.4 + php5.4 + mysql 5.5.53 测试脚本 SQL 注入:https://github.com/GEIGEI123/TestScript/blob/master/sqltest.php XSS:https://github.com/GEIGEI123/TestScript/blob/master/xsstest.php 一、bypass SQL 注入 先搭建测试脚本,此处使用网上大佬的脚本,里面利用了 dvwa 的数据库...
129 天前 / sjf0115
本文来自IBM 东京研究院的高级技术人员 Kazuaki Ishizaki 博士在 Spark Summit North America 2020 的 《SQL Performance Improvements at a Glance in Apache Spark 3.0》议题的分享,本文视频参见今天的推文第三条。PPT请关注过往记忆大数据并后台回复 sparksql3获取。 Spark 3.0正式版在上个月已经发布了,其中更新了很多功能,参见过往记忆大数据的Apache Spark 3.0.0 正式版终于发布了,重要特性全面解析。本文将介绍 Spark 3.0 在 SQL 方面的优化。
129 天前 / hyper0x
文末扫海报二维码领【30 份 Excel 可视化数据看板】 磊哥| 作者 Java 中文社群|来源 https://mp.weixin.qq.com/s/ZosZWVeME3V652uO1yrdoA 全文内容预览: 当然,本篇是关于性能优化的,那性能优化就应该一把梭子吗?还是要符合一些规范和原则呢? 所以,在开始之前(MySQL 优化),咱们先来聊聊性能优化的一些原则。 1 性能优化分类和原则 性能优化一般可以分为: 主动优化 被动优化 所谓的主动优化是指不需要外力的推动而自发进行的一种行为,比如当服务没有明显的卡顿、宕机或者硬件指标异常的情况下,自我出发去优化的行为,就可以称之为主动优化。
140 天前 / 高飞
大家在学习 entityframework 的时候,都知道那 linq 写的叫一个爽,再也不用区分不同 RDMS 的 sql 版本差异了,但是呢,高效率带来了差灵活性,我们无法控制 sql 的生成策略,所以必须不要让自己缺乏好的工具去监控 sql,本篇给大家介绍的三种监控手段 Log 和 SqlServer profile,ef profile...... 一:Log 监控 这个属于 entity framework 自带的一个 Action 方法,它给大家带来了不错的用户体验,我们可以将其输出放到控制台,又或者写入到记事本中......这里我就通过 EDM 来生成 codefirst,可以看到如下的 Database 的 Log 定义...
153 天前 / Ccww
欢迎关注公众号【Ccww 技术博客】,原创技术文章第一时间推出前言 在了解了 MyBatis 初始化加载过程后,我们也应该研究看看 SQL 执行过程是怎样执行?这样我们对于 Mybatis 的整个执行流程都熟悉了,在开发遇到问题也可以很快定位到问题。 更重要的,在面试中遇到面试官咨询 Mybatis 的知识点的时候,可以很顺畅的把这一套流程讲出来,面试也会觉得你已掌握 Mybatis 知识点了。 SQL 执行过程简介经过 MyBatis 初始化加载 Sql 执行过程所需的信息后,我们就可以通过 SqlSessionFactory 对象得到 SqlSession ,然后执行 SQL 语句了...
184 天前 / reesunhuang
导读 最近在重构公司自动化运维平台的 SQL 审核部分,于是调研了一下 goinception。在之前的公司审核引擎用的是去哪儿网开源的 inception,由于某些原因,inception 长久不更新并且已经不再开源,所以就把目光转向了 goinception。 一、goinception 简介使用过 inception 的人对 SQL 审核这块获取都比较熟悉,作为 DBA,审核 SQL 是日常工作中的很重要的一块内容,审核好 SQL 对于后期项目以及数据库维护上起着至关重要的作用,好比一座大厦没有坚实的地基支撑,也就无法长期屹立不倒。
221 天前 / ye1s
注入点位置 增 - insert 中 查 - where 后 查 - limit 注入 查 - order by 注入 改 - update 注入 删 - delete 注入方法 union 注入 布尔盲注 时间盲注 报错注入 堆叠注入 二次注入 绕过过滤的骚操作 注释符绕过(waf) 字符串变换 过滤等号绕过 过滤空格绕过 过滤括号绕过 过滤引号绕过 过滤逗号绕过 过滤数字绕过 过滤关键字 and、or 过滤关键字 select 过滤关键字 information_schema 等 过滤其他关键字 无列名注入 分辨大小写 其他类型的注入 读写文件 写文件功能 读文件功能 Rogue-MySql-Server 任意文件读取 .mysql.history 记录了本人遇到的有关 S...