2023-09-18 monetdb-GDK和BAT-分析与思考

2023-09-18 19:04:53

 

摘要:

GDK作为moentdb的最核心的内核, 可以看作是物理计划的执行, 以及与磁盘IO直接进行交互.

而物理列的数据结构, 就是BAT. 所以GDK也可以看作是对BAT的操作的模块, BAT是GDK操作的对象, 是GDK的一部分.

GDK和BAT的名字其实无关紧要, 重要的是这些模块所承载的功能.

 

GDK:

 

  1. monetdb的最核心的内核
  2. 与物理IO做交互
  3. 执行物理计划
  4. 以BAT为操作对象
  5. 但是, 最关键的问题是
    1. 为什么要设计出GDK这样的模块, 要达到什么样的目的?
    2. 如何设计这样的模块, 为什么这样的设计能达到目的?

 

BAT:

 

  1. 表面的名字是Binary Association Table, 二进制关联表
  2. 名字有些费解, 二进制好理解,什么叫Association Table ?
  3. 但是从具体的数据结构上, 可以看出其实是物理列
  4. BAT中包含物理列的各种属性, 无论是静态的,动态的,delata的, 并且包含物理列在内存中的堆地址
  5. 读取物理列, 其实就是读取BAT中的堆的数据
  6. 这里需要注意抽象出了BATiter, 通过迭代器访问BAT
  7. 数据库中迭代器模型非常常用, 但是一般是和火山模型相结合
  8. 这里需要注意BATiter的使用方式, 以快速理解对BAT的访问
  9. 这样就可以理解为什么把物理列见的关系叫做Association Table
    1. 在物理列间执行关系代数运算
  10. 可以看到GDK模块操作的对象是BAT,但是接口却是关系代数和数据库的包模型的规则形式

 

 

思维导图:

 

4f99b72256be4b69a21f885850de3587.bmp

 

 

更多推荐

递归视角下

deflistSum(numbers):ifnotnumbers:return0else:(f,rest)=numbersreturnf+listSum(rest)myList=(1,(2,(3,(4,None))))total=listSum(myList)print(total)while循环何时退出?恐怕是whi

Vue2+Vue3基础入门到实战项目全套教程的学习笔记

内容的视频链接点击此处可进入这套笔记是按照视频和视频笔记总结的笔记,主要是方便vue的学习或温习,基本抛弃css样式的添加,专注于vue的使用。第一天Vue快速上手Vue的概念Vue是一个用于构建用户界面的渐进式框架创建实例el指定挂载点,选择器指定控制的是哪个盒子插值表达式{{}}利用表达式进行插值,渲染到页面中(表

【Node.js】定时任务cron:

文章目录一、文档:【Nodejs插件】二、安装与使用【1】安装【2】使用三、cron表达式:{秒数}{分钟}{小时}{日期}{月份}{星期}{年份(可为空)}四、案例:一、文档:【说明文档】https://www.npmjs.com/package/cron【Cron表达式生成器】http://www.bejson.c

使用烧瓶的简单电子商务API

一、说明让我们试一试烧瓶(Flask)这个模型框架,这个应用程序可让您管理和扩展您的云端业务;它允许管理人员浏览和计算商店的总销售额并从在线商店-服装。二、什么是烧瓶?什么是烧瓶?它是一个Web框架-一个极简主义和轻量级的设计,用于在Python中构建Web应用程序。我们将在网上开设一家服装店。以下是我们的架构:实际实

总结:nginx配置

一、nginxrewrite与proxy_pass区别rewrite和proxy_pass都是Nginx的常用指令,但它们的功能和使用场景有所不同。1、rewrite:是一个用来修改请求URI的指令。在Nginx收到一个请求后,rewrite指令可以基于特定的条件改变这个请求的URI,可能是改变文件路径,可能是重定向到

视频如何压缩?视频压缩到100M以内这样做

在日常生活中,我们常常需要处理各种各样的视频文件,但往往视频的大小会给我们的存储和传输带来困扰。那么,如何有效地压缩视频呢?下面就给大家分享三种解决方法,一起来看看吧。方法一:嗨格式压缩大师这是一款功能强大的视频压缩工具,它不仅支持多种格式的视频压缩,还具备高质量的输出效果和极快的压缩速度1、打开嗨格式压缩大师,在几个

成集云 | 金蝶云星空集成聚水潭ERP(金蝶云星空主管供应链)| 解决方案

源系统成集云目标系统方案介绍金蝶云星空是金蝶软件(中国)有限公司研发的新一代战略性企业管理软件,致力于为企业提供端到端的供应链整体解决方案,它可以帮助企业构建敏捷供应链体系,降低供应链成本,提高企业利润。此外,金蝶云星空还可以实现高效组织协作,支持多种模式、多场景、多类别的过程精细化管控,满足企业对库存进行批号、保质期

在 Vue 项目中添加字典翻译工具(二)

封装字段翻译组件,可以格式化字典、枚举、字段优点:使用简单,一次配置多次使用,缓存降低后端请求次数,扩展性强store的fieldFormat.js(这里用的store的modules)exportdefault{namespaced:true,state:{types:{}},mutations:{ADD_TYPE:

Spring Bean循环依赖学习与探究

文章目录原理学习源码溯源本文参考:画图带你彻底弄懂三级缓存和循环依赖的问题Spring三级缓存解决bean循环依赖,为何用三级缓存而非二级_笑矣乎的博客-CSDN博客Spring为何需要三级缓存解决循环依赖,而不是二级缓存?_石杉的架构笔记的博客-CSDN博客原理学习主要的三级缓存工作机理学习参考画图带你彻底弄懂三级缓

php在header增加key,sign,timestamp,实现鉴权

在PHP中,您可以通过在HTTP请求的Header中增加Key、Sign和Timestamp等信息来进行安全性鉴权。以下是一种基本的思路和示例,用于说明如何实现这种鉴权机制:生成Key和Sign:服务端和客户端之间共享一个密钥(Key)。当客户端发起请求时,它需要使用密钥生成一个签名(Sign)。签名可以使用加密算法(

数据库JDBC编程

JDBCJDBC是干啥的呢?简单来说就是用java代码操作数据库各种数据库,在开发的时候,就会提供一组编程接口(API)API:ApplicationProgramInterface简单来说就是有个软件,这个软件给你一些功能,你基于这些功能能对这个软件干啥API往往是以函数,类的形式来提供的,说白了就是这个API在这个

热文推荐