
数据库
文章平均质量分 70
数据库
悟世者
希望用技术改变世界的程序员,资深数据库内核架构师,长期在一线从事数据库核心模块开发。有希望咨询和交流的问题可以直接私信或者留言,看到后会及时回复。
展开
-
2023-12-16 数据库-prestodb-文档记录
2023-12-16 数据库-prestodb-文档记录。原创 2023-12-16 22:30:00 · 422 阅读 · 0 评论 -
2023-11-10 数据库-Presto-记录
2023-11-10 数据库-Presto-记录。原创 2023-11-10 21:45:14 · 186 阅读 · 0 评论 -
2023-11-07 数据库-事务-ACID-原子性-思考
2023-11-07 数据库-ACID-原子性-思考。原创 2023-11-07 14:16:46 · 91 阅读 · 0 评论 -
2023-10-25 数据库-数据库体系架构的理解-将数据库理论融入自身-记录与分析
对于数据库整体体系结构的理解,是随后逐个模块细化深入突破的前提.如果不能建立全局的图景, 对各个模块之间的关系有深刻的理解,那么在对单个模块的分析突破中,就很容易迷失在里面.更为重要的, 全局的理解,是建立自己的数据库整个体系知识结构的根基.并且, 没有全局的视角, 各个组件和模块之间的关系的模糊,将无法将某个具体的模块的知识通过自身的知识结构回忆起来.原创 2023-10-25 23:15:20 · 513 阅读 · 2 评论 -
2023-09-21 事业-代号z-个人品牌-对事务并发控制理论的精通-缺陷-分析
对于数据库内核专家来说, 对于事务并发控制的理论的精通是必备的, 但是最近这段时间, 我能明显到理论和现实的割裂性, 这种情况不但对于理论的驾驭存在挑战, 将理论推行到实践也面临挑战.本文对此种情况做一些分析.上下文相关: 2023-09-20 事业-代号z-个人品牌-数据库内核专家-分析_财阀悟世的博客-优快云博客原创 2023-09-21 20:30:52 · 122 阅读 · 0 评论 -
2023-09-01 数据库-并发控制-使用锁-思考
使用锁来控制并发, 既熟悉,又陌生。锁的使用再熟悉不过了,用锁来控制并发就像用锁来处理多线程的安全性问题一样,mysql/innodb的所谓x锁/s锁/间隙锁等等以及什么时候锁表什么时候又是行锁又是八股文里的常客。很难对利用锁来做并发控制不产生一种他乡遇知音的熟悉感。但是这只是肤浅的表面认知,仅仅是流于表面,对并发控制以及使用锁来进行并发并没有深刻的以及系统化的思考。本文对利用锁进行并发控制做一些思考。原创 2023-09-01 21:03:48 · 180 阅读 · 0 评论 -
2023-08-30 数据库-并发控制-冲突可串行化调度-是否可串行化检测-优先图-分析
将冲突进行可串行化调度, 是解决冲突是一个基本功能. 对于冲突是否可被串行化调度, 比较有效的就是优先图的方法.本文对检测冲突可串行化调度的优先图做一些分析.原创 2023-08-30 18:33:43 · 1014 阅读 · 0 评论 -
2023-08-30 数据库-并发控制-冲突可串行化的调度-思考
数据库的并发控制中, 识别并处理掉可串行化的调度是商业数据库必不可少的, 也是最为基本的.本文对于冲突的可串行化做一些分析和思考。原创 2023-08-30 11:03:28 · 382 阅读 · 0 评论 -
2023-08-28 数据库-并发控制-初步思考
此前做查询优化和查询执行比较多, 一般是在一个单独的事务内考虑优化查询.最近在做并发控制方面的事情, 一些此前考虑的较少的方面需要做更为深入的思考.并发控制和事务的特性息息相关, 直白的说就是事务的隔离性, 但是这么理解过于肤浅, 本文做一些初步的思考.原创 2023-08-28 20:18:46 · 130 阅读 · 0 评论 -
2023-08-17 数据库-客户端连接会话管理-思考
很难想象数据库的会话管理的重要性会被如此重要的提及, 如何处理会话或者说连接,不但涉及到资源使用方面, 对于数据库的形态也有非常大的决定性影响。本文对数据库的连接做一些分析与思考。原创 2023-08-17 15:27:16 · 139 阅读 · 0 评论 -
2023-08-07 数据库-查询优化器相关论文-记录
大概用了9个月的时间,研读了优化器、执行器经典论文,论文主要来源于。原创 2023-08-07 05:33:56 · 677 阅读 · 0 评论 -
2023-07-12 列存储数据库选型-分析
对列存储数据库的选型需要注意的要点做分析, 以及罗列主要的列存储数据库做。原创 2023-07-12 10:59:09 · 193 阅读 · 0 评论 -
2023-07-09 数据库创业-技术侧-分析
创业失败的直接因素便是资金链断裂无法支撑, 但是这个只是最终的结果,而导致资金链断裂导致无法进行下去, 这个过程中的诸多因素就需要慎重的分析, 就像有句谚语说的,成非成于成之日,败非败于败之时.由于涉及的因素有多重侧面, 所以分多个文章逐个分析, 本文探讨技术层面.原创 2023-07-09 23:20:41 · 348 阅读 · 0 评论 -
2023-07-04 duckdb-数据push模型及pipeline模型-与Doris2.0的pipeline执行模型-思考
duckdb数据库中比较有特点就是区别于火山模型的自上而下pull数据的, 自底向上将数据push的模型, 同时对操作符或者说算子的处理做了基于多线程的pipeline, 这样在对多核cpu的利用率被提升。最近看到Doris2.0对于查询性能的提升的设计思路, 与duckdb的做法简直是一样, 不由得唏嘘感慨。本文做些简单的记录与思考。原创 2023-07-04 15:36:23 · 997 阅读 · 0 评论 -
2023-06-26 monetdb-向量化的硬件基础-cpu管线-分析
monetdb对于经典的火山模型中的性能瓶颈点做分析后认为, 基于迭代器元组解释执行将造成cpu执行效率的降低, 从而导致火山模型这个执行架构是一个低效的架构。针对cpu硬件的特点, monetdb设计了X100引擎, 本文分析做出如此设计的硬件基础。原创 2023-06-26 11:33:07 · 306 阅读 · 0 评论 -
2023-05-18 The design and implementation of modern column-oriented database systems-part two
数据压缩,确定一列数据的规律* 查询时可以时读的数据量更少,在IO密集型计算中获得更多的性能优势* 相同类型压缩效率更高* 可以针对不同类型使用不同的压缩算法。* 高效的压缩可以减少磁盘IO数据量,但是高效的压缩都必须遵循某种特殊的规律,比如数据的长度,类型等一致;基于列式的查询数据库正好遵循这一点;此外,某些特别的数据压缩格式,比如 RUN-Length编码,甚至可以在不做解压时便可以对数据过滤,减少无关的IO数据选择优势大* 可以选择特定的列做计算而不是读所有列* 对聚合计算友好。原创 2023-05-18 12:22:19 · 116 阅读 · 0 评论 -
2023-05-18 The design and implementation of modern column-oriented database systems-part one
○The amount of function calls performed by the query interpreter goes down by a factor equal to the vector size compared to the tuple-at-a-time model.(与 tuple-at-a-time 模型相比,查询解释器执行的函数调用量减少了一个与矢量大小相等的系数。其次,更多相似的数据意味着通常用于压缩的数据结构、代码等将更小,从而导致更友好的压缩。原创 2023-05-18 12:19:46 · 137 阅读 · 0 评论 -
2023-05-12 数据库-关于事务及数据安全-思考
记录关于事务及数据安全的思考, 虽说持久性和一致性是事务的特征, 不过将数据安全再摘出来还是有好处。原创 2023-05-12 22:46:16 · 555 阅读 · 0 评论 -
2023-05-08 数据库-流水操作与物化-分析
数据库的查询模型比较经典的是火山模型, 其实就是流水线操作, 例如mysql.作为对应的便是物化模型, 例如monetdb.列存数据库自从monetdb的开创性paper开始, 几乎都是采用了物化模型. 并且一定程度上结合了流水线操作, 例如duckdb.本文做些简要的分析.原创 2023-05-08 11:22:44 · 567 阅读 · 0 评论 -
2023-04-07 SDM-简单使用
SDM是一个数据同步工具,从源数据库同步到目标数据库. 使用起来倒是相当简单.本文简单记录下。原创 2023-04-07 13:38:31 · 461 阅读 · 0 评论 -
2023-03-09 CMU15445-Query Execution
【代码】2023-03-09 CMU15445-Query Execution。原创 2023-03-09 15:11:29 · 1218 阅读 · 0 评论 -
2023-02-13 Structuring of a Transaction Database Using the RoughSet Theory
Set TheoryX RX RX5 Examplefollows:RX1 Ø;1. X ØcardRXcardRXXclass;where };E6 {X 7};原创 2023-02-13 16:56:48 · 512 阅读 · 0 评论 -
2023-02-10 Readings in Database Systems
Readings in Database Systems, 5th EditionPeter Bailis, Joseph M. Hellerstein, Michael Stonebraker, editorsReadings in Database Systems (commonly known as the "Red Book") has offered readers an opinionated take on both classic and cutting-edge research in t原创 2023-02-10 12:40:44 · 420 阅读 · 0 评论 -
2023-02-10 哥伦比亚cascades-xu-columbia-thesis1998
ByYONGWEN XUin1998IABSTRACTIICascades.IIIIVJingke Liiiiii4.4.21models.23thesis.45Queryin DMLQuery TreeOPTIMIZERparsingCatalogExecutionEngineDatabaseContentsResultOutputexecutinguser level11722833910Select *原创 2023-02-10 12:37:31 · 860 阅读 · 0 评论 -
2023-02-04 SQL子查询优化
Apply 的含义用下图右半部分的集合表达式定义:对于 Outer Relation RR 中的每一条数据 rr,计算 Inner Relation E(r)E(r),输出它们连接(Join)起来的结果 r⊗E(r)r⊗E(r)。上文说到的 Relation - Expression - Relation 这种交替引用不仅执行性能堪忧,而且,对于优化器也是个麻烦的存在——我们的优化规则都是在匹配并且对 Relation 进行变换,而这里的子查询却藏在 Expression 里,令人无从下手。原创 2023-02-04 16:18:29 · 998 阅读 · 0 评论 -
2022-10-04 数据库-语法分析器bison说明
https://www.gnu.org/software/bison/manual/bison.htmlThis manual (10 September 2021) is for GNU Bison (version 3.8.1), the GNU parser generator.Copyright © 1988–1993, 1995, 1998–2015, 2018–2021 Free Software Foundation, Inc.Next: Conditions for Using Bison,原创 2022-10-04 23:13:37 · 1288 阅读 · 0 评论 -
2022-09-12 Lex and YACC primer/HOWTO
Next Previous Contentshttps://tldp.org/HOWTO/Lex-YACC-HOWTO.htmlv0.8 $Date: 2002/04/20 19:46:46 $This document tries to help you get started using Lex and YACCNext Previous Contents原创 2022-09-12 23:06:53 · 330 阅读 · 0 评论 -
2022-09-12 Yacc: Yet Another Compiler-Compiler
Yacc: Yet Another Compiler-CompilerStephen C. JohnsonComputer program input generally has some structure; in fact, every computer program that does input can be thought of as defining an ``input language'' which it accepts. An input language may be as comp原创 2022-09-12 23:04:26 · 867 阅读 · 0 评论 -
2022-09-12 Lex - A Lexical Analyzer Generator
ABSTRACT+-------++-------++-------++-------+Figure 1%%[ \t]+$;%%[ \t]+$;Figure 2%%{rules}%%%%integera57Dxyz"++""xyz++"xyz\+\+thus[-+0-9][^abc]or[^a-zA-Z].[\40-\176]ab?ca*whilea+[a-z]+(ab|cd)ab|cd。原创 2022-09-12 23:03:13 · 951 阅读 · 0 评论 -
2022-09-09 The difference between top-down parsing and bottom-up parsing
The difference between top-down parsing and bottom-up parsing原创 2022-09-09 21:00:38 · 258 阅读 · 0 评论 -
2022-09-06 infobright原理说明
比如按时间date顺序导入数据,那么前一个DP的max(date)原创 2022-09-06 16:25:35 · 149 阅读 · 0 评论 -
2022-08-18 多线程安全的Parallel Hashmap
记录多线程安全的并行hash map。原创 2022-08-18 22:59:38 · 2352 阅读 · 0 评论 -
2022-08-16 数据库先验性记录
defs.hQueries':原创 2022-08-16 21:30:12 · 386 阅读 · 0 评论 -
2022-08-05 粗糙集Rough set
The notion of Rough sets was introduced by Z Pawlak in his seminal paper of 1982 (Pawlak 1982). It is a formal theory derived from fundamental research on logical properties of information systems. Rough set theory has been a methodology of database mining原创 2022-08-05 14:32:35 · 309 阅读 · 0 评论 -
2022-07-09 cpu并行化指令集SIMD/AVX性能对比测试
进行SIMD/AVX的cpu并行化指令集性能测试, 为后续优化提供数据依据cpu:gcc版本:gcc编译器优化级别设置: 所有程序编译都开启 -O2 级别优化思路是对一个数据文件中的匹配字符进行查找, 对比耗时, 单位毫秒:目的是生成一个数据文本测试结果:一. 对比SIMD二. 对比AVX.....................原创 2022-07-09 14:33:40 · 1530 阅读 · 0 评论 -
2022-01-27 使用liquibase管理mysql执行版本
摘要:产品的管控依赖的miniMysql, 管控在运行前, mysql中需要执行一些必要的sql语句, 一般为创建表结构和填充规格数据.此前一直由开发人员将sql语句交给DBA手动执行, 人为执行非常容易引发错误. 是以设计sql的自动化执行的规则. 本文对其使用做说明。本文包含两部分:数据库语句自动化执行的工具说明 数据库sql语句的编写要点说明数据库语句自动化执行的工具说明需求说明:方便快速构建和代码匹配的数据库结构 增量修改表结构,保持数据 重...原创 2022-01-27 14:23:32 · 2253 阅读 · 0 评论