23 天前 / 尹千觞
在前一篇文章中《浅析构建 SQL-to-SQL 的翻译器》,我简单的阐述整体的思想。很高兴借此认识了一些新的小伙伴,并且进行了深入的探讨。 今天我们再来做一些进一步的思考,然后再加入一点想象力,看看是否可以将深度学习引入到这个过程中来呢?接下来,我们就来说说吧。 常规 显而易见的,我们有几条路可以选, 解析阶段转换 即在源 SQL 输入进行语法解析的时候,同时构建目标 SQL 的 AST。 遍历阶段转换 即在遍历源 AST 的时候,构建目标 SQL 的 AST。 直接转换 即直接将源 AST 硬转成目标 AST。
46 天前 / 尹千觞
如果你爱一个人,就让他写 SQL,因为那是天堂。 如果你恨一个人,就让他写 SQL,因为那是地狱。 天堂,是因为他如此简单,又功能强大,可以极大简化你的程序。 地狱,是因为他如此纷繁,复杂,还有各种方言标准,而且不通用,当你试图切换数据库产品的时候,什么叫生不如死 ...... 那我们就不能构建一个统一的数据库语言么?这个真不能,不是技术上不能,而是利益趋势,大家坚守自己的方言堡垒,而且越建越高。
47 天前 / 宜信技术学院
一、场景描述 假设有两张表:一张商品表、一张订单表,具体表的字段如下: 商品表和订单表是一对多的关系,一个商品可以有多个订单。现有如下需求: 1、 发送通知需求:某一特定类别的商品,购买成功后需要发送通知给下单的客户,下单后默认通知状态为未发送,发送成功标记已发送。 2、 查询需求:查询某一用户的订单列表,列出订单信息和订单的商品信息。供给用户购买记录页面呈现使用。 二、发送通知需求 (传统 mybatis 写法 和 mybatis plus 对比) 传统的 mybatis 做 ORM 映射工具并手写 sql 的时代...
53 天前 / 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 的结合非常有必要实践实践。
60 天前 / 过往记忆大数据
本文来自上周(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 的一些官方文档中没有很好描述的内部特性,重点在一些基本示例上解释这些特性,同时分享一些性能技巧。
91 天前 / 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 的数据库...
95 天前 / 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 方面的优化。
95 天前 / hyper0x
文末扫海报二维码领【30 份 Excel 可视化数据看板】 磊哥| 作者 Java 中文社群|来源 https://mp.weixin.qq.com/s/ZosZWVeME3V652uO1yrdoA 全文内容预览: 当然,本篇是关于性能优化的,那性能优化就应该一把梭子吗?还是要符合一些规范和原则呢? 所以,在开始之前(MySQL 优化),咱们先来聊聊性能优化的一些原则。 1 性能优化分类和原则 性能优化一般可以分为: 主动优化 被动优化 所谓的主动优化是指不需要外力的推动而自发进行的一种行为,比如当服务没有明显的卡顿、宕机或者硬件指标异常的情况下,自我出发去优化的行为,就可以称之为主动优化。
106 天前 / 高飞
大家在学习 entityframework 的时候,都知道那 linq 写的叫一个爽,再也不用区分不同 RDMS 的 sql 版本差异了,但是呢,高效率带来了差灵活性,我们无法控制 sql 的生成策略,所以必须不要让自己缺乏好的工具去监控 sql,本篇给大家介绍的三种监控手段 Log 和 SqlServer profile,ef profile...... 一:Log 监控 这个属于 entity framework 自带的一个 Action 方法,它给大家带来了不错的用户体验,我们可以将其输出放到控制台,又或者写入到记事本中......这里我就通过 EDM 来生成 codefirst,可以看到如下的 Database 的 Log 定义...
119 天前 / Ccww
欢迎关注公众号【Ccww 技术博客】,原创技术文章第一时间推出前言 在了解了 MyBatis 初始化加载过程后,我们也应该研究看看 SQL 执行过程是怎样执行?这样我们对于 Mybatis 的整个执行流程都熟悉了,在开发遇到问题也可以很快定位到问题。 更重要的,在面试中遇到面试官咨询 Mybatis 的知识点的时候,可以很顺畅的把这一套流程讲出来,面试也会觉得你已掌握 Mybatis 知识点了。 SQL 执行过程简介经过 MyBatis 初始化加载 Sql 执行过程所需的信息后,我们就可以通过 SqlSessionFactory 对象得到 SqlSession ,然后执行 SQL 语句了...
150 天前 / reesunhuang
导读 最近在重构公司自动化运维平台的 SQL 审核部分,于是调研了一下 goinception。在之前的公司审核引擎用的是去哪儿网开源的 inception,由于某些原因,inception 长久不更新并且已经不再开源,所以就把目光转向了 goinception。 一、goinception 简介使用过 inception 的人对 SQL 审核这块获取都比较熟悉,作为 DBA,审核 SQL 是日常工作中的很重要的一块内容,审核好 SQL 对于后期项目以及数据库维护上起着至关重要的作用,好比一座大厦没有坚实的地基支撑,也就无法长期屹立不倒。
187 天前 / ye1s
注入点位置 增 - insert 中 查 - where 后 查 - limit 注入 查 - order by 注入 改 - update 注入 删 - delete 注入方法 union 注入 布尔盲注 时间盲注 报错注入 堆叠注入 二次注入 绕过过滤的骚操作 注释符绕过(waf) 字符串变换 过滤等号绕过 过滤空格绕过 过滤括号绕过 过滤引号绕过 过滤逗号绕过 过滤数字绕过 过滤关键字 and、or 过滤关键字 select 过滤关键字 information_schema 等 过滤其他关键字 无列名注入 分辨大小写 其他类型的注入 读写文件 写文件功能 读文件功能 Rogue-MySql-Server 任意文件读取 .mysql.history 记录了本人遇到的有关 S...
201 天前 / OPPO互联网技术
Spark SQL 小文件是指文件大小显著小于 hdfs block 块大小的的文件。过于繁多的小文件会给 HDFS 带来很严重的性能瓶颈,对任务的稳定和集群的维护会带来极大的挑战。 一般来说,通过 Hive 调度的 MR 任务都可以简单设置如下几个小文件合并的参数来解决任务产生的小文件问题: sethive.merge.mapfiles=true; sethive.merge.mapredfiles=true; sethive.merge.size.per.task=xxxx; sethive.merge.smallfiles.avgsize=xxx; 然而在我们将离线调度任务逐步从 Hive 迁移到 Spark 的过程中,由于 Spark 本身并不支持小文件合并功能,小文件问题日益突出...
214 天前 / 张张
●【Nacos 源码分析】- 02 获取配置流程 ●【Nacos 源码分析】- 01 ConfigService 创建流程 ●【Java 并发编程】- 03 MESI、内存屏障 ●【Spring 源码】- 11 Spring AOP 之编程式事务 ●【编程开发】- 01 日志框架 概述 SQL 路由是 Sharding-jdbc 数据分片核心流程中非常重要的一个流程 ( 见下图),通过 SQL 路由决定了 SQL 具体会在哪些库上触发,以及具体对应的物理表是哪些等等,这节就来分析下 SQL 路由的流程。
221 天前 / sjf0115
实时计算平台,是贝壳内部统一承接实时需求和管理实时任务的平台。目前支持了公司埋点、商机、交易、商业化等若干部门的业务,目前总共运行了 570 多个实时计算任务,日志流量单日吞吐 1041 亿。 随着实时数仓等业务的推进,越来越多的任务接入到我们平台,使我们开发和运维实时任务的成本急剧升高。于是我们迫切希望能有一种快速开发和容易维护的方法,最终我们把希望的目光投向了 SQL。 我们都知道,SQL 作为一种通用的描述数据处理的语言,有着统一的标准和广泛的使用。它的学习成本低,开发效率高,行业内有着完整的生态,成熟的优化规则。