RisingWave 窗口函数:滑动的艺术与对称的美学 (stdrc.cc)

【简介】

窗口函数(Window Function)是数据库和流处理中一项非常常用的功能,该功能可用于对每一行输入数据计算其前后一定窗口范围内的数据的聚合结果,或是获取输入行的前/后指定偏移行中的数据。在其他一些流系统中,窗口函数功能也被称作“Over Aggregation”1。RisingWave 在此前的 1.1 版本中加入了窗口函数支持2。在 RisingWave 的窗口函数实现中,我们把实施窗口函数计算的算子称为 OverWindow 算子,本文将尝试解析 OverWindow 算子的设计与实现。

点击查看原文 >>

@技术头条 2023-12-11 23:09 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF (thiscute.world)
我们都更喜欢使用密码来保护自己的数据而不是二进制的密钥,因为相比之下二进制密钥太难记忆了,字符形式的密码才是符合人类思维习惯的东西。

可对计算机而言就刚好相反了,现代密码学的很多算法都要求输入是一个大的数字,二进制的密钥就是这样一个大的数字。
by @技术头条 2023-11-06 23:05 查看详情
写给开发人员的实用密码学(二)—— 哈希函数 (thiscute.world)
更好的哈希函数可以使用这样的方案:它将第一个字节作为状态,然后转换状态(例如,将它乘以像 31 这样的素数),然后将下一个字节添加到状态,然后再次转换状态并添加下一个字节等。 这样的操作可以显着降低碰撞概率并产生更均匀的分布。
by @技术头条 2023-11-06 23:04 查看详情
听说你不想瞄准标题栏再移动窗口 (type.cyhsu.xyz)
移动窗口的方法是按住标题栏再拖动,这是小学电脑课就会教(甚至不用教)的基本操作。但是,并不是所有的窗口都这么喜欢让人抓住它的把柄。何况,这个操作本身的合理性也有讨论余地:我只是想挪一个窗口,为什么非要先瞄准。就比方说,我今天腰酸背疼两眼无神,可不可以申请不瞄准。
by @技术头条 2023-07-02 23:31 查看详情
DirectX Hook - 优雅的实现游戏辅助窗口 (paper.seebug.org)
最近看到了一个github的项目,分析过后觉得里面无论是代码还是界面都很好看,然后开始研究其代码。

这篇文章主要分析其如何实现的辅助窗口的实现,其用到的东西有minihook+DirectX11(9) Hook+imgui。
by @技术头条 2023-02-12 14:13 查看详情
StealthHook - 一种在不修改内存保护的情况下挂钩函数的方法 (paper.seebug.org)
最近看了一下x86matthew关于hook方法的一篇文章,相对于传统的一些hook方式,个人认为StealthHook的最大优点并不在于不修改内存保护,而是其隐蔽性,这种hook方式是难以检测的,因为其没有直接作用于目标函数。

此hook方式,实际上并没有去hook目标函数,而是通过目标函数内的子函数,去获取了进入目标函数时,栈上保存的返回地址,通过修改这个地址,即可劫持执行流程,在函数返回前,执行我们的代码。
by @技术头条 2023-02-12 14:09 查看详情
机智!生抠 map的哈希函数 (colobu.com)
我们经常会在一些场景,比如特定的数据结构、cache等场景中使用这样一个哈希函数,那么如何为任务类型实现一个优雅高效的hash函数呢?其实Go运行时中map中就实现了。回想一下内建的map是不是支持泛型的?它的key可以是comparable类型(包括接口类型),内部实现中会把此类型的key计算一个哈希值,能不能吧它的hash函数拿出来使用?很遗憾,Go官方并没有想暴露出来这样的hasher的想法,它的代码也是不容易抽取整理成一个hasher函数。
by @技术头条 2022-12-24 23:34 查看详情
深入理解函数式编程(下) (tech.meituan.com)
函数式编程是一种历史悠久的编程范式。作为演算法,它的历史可以追溯到现代计算机诞生之前的λ演算,本文希望带大家快速了解函数式编程的历史、基础技术、重要特性和实践法则。在内容层面,主要使用JavaScript语言来描述函数式编程的特性,并以演算规则、语言特性、范式特性、副作用处理等方面作为切入点,通过大量演示示例来讲解这种编程范式。同时,文末列举比较一些此范式的优缺点,供读者参考。因为文章涵盖一些范畴论知识,可能需要其他参考资料一起辅助阅读。
by @技术头条 2022-12-18 20:50 查看详情
深入理解函数式编程(上) (tech.meituan.com)
函数式编程是一种历史悠久的编程范式。作为演算法,它的历史可以追溯到现代计算机诞生之前的λ演算,本文希望带大家快速了解函数式编程的历史、基础技术、重要特性和实践法则。在内容层面,主要使用JavaScript语言来描述函数式编程的特性,并以演算规则、语言特性、范式特性、副作用处理等方面作为切入点,通过大量演示示例来讲解这种编程范式。同时,文末列举比较一些此范式的优缺点,供读者参考。因为文章涵盖一些范畴论知识,可能需要其他参考资料一起辅助阅读。
by @技术头条 2022-12-18 20:50 查看详情
图解 Flink 滚动窗口、会话窗口和滑动窗口 (www.awaimai.com)
Flink 作业中的窗口是指一种对无限数据流设置有限数据集,从而实现了处理无线数据流的机制。

窗口本身只是个划分数据集的依据,它并不存储数据。

当我们需要在时间窗口维度上对数据进行聚合时,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。

窗口主要有两种,一种基于时间的时间窗口(TimeWindow),一种基于数量的计数窗口(CountWindow),计数窗口与时间无关,本文主要讨论时间窗口。
by @技术头条 2022-08-19 00:16 查看详情