编程语言:SQL
Flink SQL在B站的实践
目前在B站,线上大概有4000+的flink实时任务,主要支撑数据集成,实时数仓,模型训练,特征指标计算,以及增量化等业务。
探究Presto SQL引擎(4)-统计计数
本篇文章介绍了统计计数的基本原理以及Presto的实现思路,精确统计和近似统计的细节及各种优缺点,并给出了统计计数在具体业务使用的建议。
如何实现一个SQL解析器
本篇文章主要介绍如何实现一个SQL解析器来应用的业务当中,同时结合具体的案例来介绍SQL解析器的实践过程。
SQL抽象语法树及改写场景应用
我们平时会写各种各样或简单或复杂的sql语句,提交后就会得到我们想要的结果集。比如sql语句,”select * from t_user where user_id > 10;”,意在从表t_user中筛选出user_id大于10的所有记录。你有没有想过从一条sql到一个结果集,这中间经历了多少坎坷呢?
一条sql了解MYSQL的架构设计
对于一个服务端开发来说 MYSQL 可能是他使用最熟悉的数据库工具,然而,大部分的Java工程师对MySQL的了解和掌握程度,大致就停留在这么一个阶段:它可以建库、建表、建索引,然后就是对里面的数据进行增删改查,语句性能有点差?没关系,在表里建几个索引或者调整一下查询逻辑就可以了,一条sql,MYSQL是如何处理的,为我们做了什么,完全是个黑盒。本文主要通过sql执行的过程打破这样一个黑盒的认知,来了解MYSQL的逻辑架构。
openLooKeng跨源异构在之家的升级与实践
openLooKeng是一款开源的高性能数据虚拟化引擎, 具备跨数据源分析能力。 openLooKeng在之家覆盖了同业务线的或不用业务线的不同数据源的分析业务场景,提高了之家用户数据分析效率。
ODPS SQL优化总结
数据仓库,是一个面向主题、集成的、随时间变化的、信息本身相对稳定的数据集合。
三端一体计算方案:Unify SQL Engine
面对三种计算模式,较低的研发效率、不可控的数据质量,以及臃肿数据接口服务的困境,三端(流计算、批计算、在线计算)一体计算的方案。
经销商技术部-防SQL注入实践
网络安全现在越来越受到重视,其中后端应用最常见的安全漏洞就是SQL注入。为了尽可能地减少SQL注入问题,我们进行了一些实践总结,并在部门内部进行了推广。
数据仓库开发 SQL 使用技巧总结
使用 sql 做数仓开发有一段时间了,现做一下梳理复盘,主要内容包括 sql 语法、特性、函数、优化、特殊业务表实现等。
Cohort Analysis: Data Sourcing with SQL
As an online business owner, you hope that engagement increases over time, leading to a longer period of retention. This is rarely the case, though. The majority of web applications see a gradual decrease in user engagement, eventually leading to churn. Your goal then is to stretch out the length of engagement as long as possible. The best way to measure this is through cohort analysis.
Put simply, cohort analysis is used to test whether certain groups of users, based on the conversion date, are active and engaging longer (or shorter) than other groups.
The ultimate goal is to test not only how users within each cohort engaged within your app over time, but to also compare and contrast different cohorts with one another. It’s quite often the case that even subtle changes in your application’s feature set will change user engagement, positively or negatively. If the latter, you want to know this as soon as possible to prevent further churn.
That said, let’s look at how to source and cleanse your data in order to begin analysis.
慢 SQL 分析与优化
从系统设计角度看,一个系统从设计搭建到数据逐步增长,SQL 执行效率可能会出现劣化,为继续支撑业务发展,我们需要对慢 SQL 进行分析和优化,严峻的情况下甚至需要对整个系统进行重构。所以我们往往需要在系统设计前对业务进行充分调研、遵守系统设计规范,在系统运行时定期结合当前业务发展情况进行系统瓶颈的分析。
从数据库角度看,每个 SQL 执行都需要消耗一定 I/O 资源,SQL 执行的快慢,决定了资源被占用时间的长短。假如有一条慢 SQL 占用了 30%的资源共计 1 分钟。那么在这 1 分钟时间内,其他 SQL 能够分配的资源总量就是 70%,如此循环,当资源分配完的时候,所有新的 SQL 执行将会排队等待。所以往往一条慢 SQL 会影响到整个业务。
Db层治理:SQL精细化及并发更新数据丢失问题解决最佳实践
Db层治理工作一直在路上,完成全面梳理改造只是迈出的第一步,一个好的规范如何进行推进下去,让大家保持统一的规范,随着时间的推移,这种规范能够继续保持不走样,是我们需要思考的问题。
数据库全量SQL分析与审计系统性能优化之旅
本文介绍了美团基础研发平台抓包方案在数据库审计实践中遇到的性能问题以及优化实践。
探究Presto SQL引擎(3)-代码生成
介绍基于Antlr实现where条件的解析原理,并对比了直接解析与代码生成实现两种实现思路的性能,经实验基于代码生成的实现相比直接解析有3倍的性能提升。
MySQL 哈希分区表
提到分区表,一般按照范围(range)来对数据拆分居多,以哈希来对数据拆分的场景相来说有一定局限性,不具备标准化。接下来我用几个示例来讲讲 MySQL 哈希分区表的使用场景以及相关改造点。