• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
5164 search results

探究Presto SQL引擎 系列:第1篇《探究Presto SQL引擎(1)-巧用Antlr》介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,在第2篇《探究Presto SQL引擎(2)-浅析Join》结合了Join的原理,以及Join的原理,在Presto中的思路。 本文是系列第3篇,介绍基于 Antlr 实现where条件的解析原理,并对比了直接解析与代码生成实现两种实现思路的性能,经实验基于代码生成的实现相比直接解析有 3 倍的性能提升。

227 Technology lddgo Shared on 2022-10-27

在《探究Presto SQL引擎(1)-巧用Antlr》中,我们介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,更加深入理解Presto查询引擎支持的SQL语法以及实现思路。 本次带来的是系列文章的第2篇,本文梳理了Join的原理,以及Join算法在Presto中的实现思路。通过理论和实践的结合,可以在理解原理的基础上,更加深入理解Join算法在OLAP场景下的工程落地技巧,比如火山模型,列式存储,批量处理等思想的应用。

79 Technology lddgo Shared on 2022-10-27

自2014年大数据首次写入政府工作报告,大数据已经发展7年。大数据的类型也从交易数据延伸到交互数据与传感数据。数据规模也到达了PB级别。 大数据的规模大到对数据的获取、存储、管理、分析超出了传统数据库软件工具能力范围。在这个背景下,各种大数据相关工具相继出现,用于应对各种业务场景需求。从Hadoop生态的Hive, Spark, Presto, Kylin, Druid到非Hadoop生态的ClickHouse, Elasticsearch,不一而足... 这些大数据处理工具特性不同,应用场景不同,但是对外提供的接口或者说操作语言都是相似的,即各个组件都是支持SQL语言。只是基于不同的应用场景和特性,实现了各自的SQL方言。这就要求相关开源项目自行实现SQL解析。在这个背景下,诞生于1989年的语法解析器生成器ANTLR迎来了黄金时代。

248 Technology lddgo Shared on 2022-10-27

本篇文章介绍了统计计数的基本原理以及Presto的实现思路,精确统计和近似统计的细节及各种优缺点,并给出了统计计数在具体业务使用的建议。

85 Technology lddgo Shared on 2022-10-27

进入互联网“下半场”,靠“人海战术”的研发模式已经不再具备竞争力,如何通过技术升级提升研发效能?前端通过Babel等编译技术发展实现了工程化体系升级,如何进一步通过编译技术赋能前端开发?或许我们 wepy 到uniapp 编译的转换实践,能给你带来启发。

85 Technology lddgo Shared on 2022-10-27

在云计算中,FaaS 是一种非常流行的产品形态,主流的云产商都提供了对应的平台。作为平台构建者我们观察到大部分的函数实例的 CPU 和内存利用率都不高,造成集群节点的利用率也不高。一个简单的做法是在节点上超额放置更多的函数实例,但是这可能会带来资源争抢和性能下降。另外,函数的外部依赖也可能导致函数的性能下降。在本文中,我们设计了 OWL 调度系统来解决这些问题,达到高资源利用率和性能稳定性。对于低频调用的函数,调度器会统计其执行过程中的实际资源消耗,以此来指导函数实例的调度,同时调度器会监控函数的执行延时,当出现延时上升时通过隔离的手段进行缓解;对于高频调用的函数,调度器会识别不同函数实例在同一个节点共置时的性能表现,以此指导函数实例的调度。同时调度器还针对闲置的实例进行迁移,将它们从利用率低的节点迁移到利用率高的节点以释放闲置节点。我们实现了 OWL 原型系统并根据生产环境的负载构造了一组测试集。实验结果表明,OWL 调度系统能够减少 43.8% 的资源消耗并有效缓解性能下降。

105 Technology lddgo Shared on 2022-10-27

云计算带来的优势之一便是弹性能力,云原生场景下 Kubernetes 提供了水平弹性扩容能力(HPA),让应用可以随着实时指标进行扩/缩。然而 HPA 的实际工作情况可能和我们直观预想的情况是不一样的,这里面存在一些认知误区。本文总结了一下 EDAS 用户在使用 HPA 时常遇到的三个认知误区,具体如下:

75 Technology lddgo Shared on 2022-10-27

易喵作为网易邮箱团队的一员,想要让用户记住,需要我们尽可能多得丰富其应用场景。表情包作为人们网络沟通中不可或缺的工具,将其与之结合,可以有效地融入到用户的生活场景中。借此我们设计了一套以易喵形象为基础的微信表情包,并根据其情绪表现增加了相关动效表达。

91 Design lddgo Shared on 2022-10-26

1. B站的直播间作为整个APP中交互最为复杂的单页面之一,其承担的业务量已经不亚于一个小型APP。对比APP的结构会发现许多相同处,但与组成APP的各个独立Activity不同,直播间由各个独立的视图组成。 2. 业务逻辑基于MVVM的设计分为三层(Service即M层),理想状态下各个业务间的交互是内聚的,各业务间不会感知到其他业务的存在,View显示需要的数据和状态都由各自对应的ViewModel提供。 3. 现实情况中业务交互并没有那么理想,直播间中的一个View显示的数据会受到其他业务的数据、状态影响,因此一个View除了需要处理自己内聚的逻辑为还需要关心其他View的数据变化。

89 Technology lddgo Shared on 2022-10-26

在学习《告别BeanUtils,Mapstruct从入门到精通》后,我发觉MapStruct确实是一个提升系统性能,降低无用代码的神器。然而,在实践这篇文章过程中,我遇到了些问题,并由此对MapStruct框架有了更深入的理解,以下将我的学习收获分享给大家。

110 Technology lddgo Shared on 2022-10-26