编程语言: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 哈希分区表的使用场景以及相关改造点。
Spark SQL 字段血缘在 vivo 互联网的实践
字段血缘可以很好的帮助我们了解数据生成的处理过程,在探索中我们发现了可以通过Spark的扩展来优雅的实现这一功能。
探究Presto SQL引擎(2)-浅析Join
本文梳理了Join的原理,以及Join算法在Presto中的实现思路。通过理论和实践的结合,可以在理解原理的基础上,更加深入理解Join 算法在OLAP场景下的工程落地技巧,比如火山模型,列式存储,批量处理等思想的应用。
字节客增慢 SQL 治理体系
慢 SQL 即执行时间超过 long_query_time 设定阈值的 SQL 语句,可通过 select @@long_query_time 查看数据库具体的慢查询阈值。另外慢 SQL 不仅仅包括 select 语句,也包括 delete,insert 等 DML 语句。
一条慢SQL引发的改造
本文通过对一条慢SQL的真实改造,介绍解决复杂查询的一种思路,以及如何使得一条平均RT接近2s的SQL,最终耗时下降30倍。
慢sql治理经典案例分享
本文是对慢sql治理过程中的一些实践分享。
字节跳动EMR产品在Spark SQL的优化实践
Hudi、Iceberg等数据湖引擎目前使用的越来越广泛,很多B端客户在使用Spark SQL的时候也存在需要使用数据湖引擎的需求,因此字节EMR产品需要将数据湖引擎集成到Spark SQL中,在这个过程碰到非常多的问题。
分库分表在sharding中的实现
随着公司业务快速发展,数据库中数据量猛增,访问性能变慢。关系型数据库本身比较容易成为系统瓶颈、单机存储容量、连接数、处理能力有限。所以要使用分库分表。