- 博客(101)
- 资源 (1)
- 收藏
- 关注
原创 【论文阅读】XuanYuan: An AI-Native Database
Stonebraker 认为,由于应用程序的多样性(例如 OLTP,OLAP,stream,graph)和硬件的多样性(例如 CPU,ARM,GPU,FPGA,NVM),一种数据库并不能适合所有的情况(one-size-doesn’t-fit-all).(5) 支持异构的计算框架.不同组件可能需要运行在不同硬件上,例如,学习优化器应该运行在 AI 芯片上,传统的基于成本的优化器应该运行在通用芯片上,它需要有效的硬件调度算法来安排不同的任务;(4) 在部署数据库之前,需要对所装配的数据库进行评估和验证;
2024-07-02 14:05:35
904
2
原创 MySQL 主备环境搭建 docker
使用 start slave 开启主从复制过程后,如果 SlaveIORunning 一直是 Connecting,则说明主从复制一直处于连接状态,这种情况一般是下面几种原因造成的,我们可以根据 Last_IO_Error 提示予以排除。master_port:Master 的端口号,指的是容器的端口号。master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是 60 秒。可以看到:主库接收到客户端的更新请求后,执行内部事务的更新逻辑,同时写入 binlog。
2024-05-23 17:16:40
910
1
原创 【CMU15-445 Part-21】ARIES Database Recovery
Part21-ARIES Database RecoveryARIES - Main IdeasWAL : 使用预写日志,steal + no-force,steal意味着允许bfp将未提交事务修改的page刷到磁盘,No-Force说的是不要求将钙食物所有dirty page都刷到磁盘后才能表示该事务被提交。Repeating History During Redo:恢复的时候会重新执行日志中的操作记录,来重新执行事务的修改。Logging Changes During Undo:undo 一系
2024-04-28 23:45:07
382
原创 【PG-2】PostgreSQL存储管理器
代表的是存储在表的堆(heap)中的一个数据行(或元组)。堆不是数据结构中的“堆”,而是动态分配的内存区域,用于存储表数据。FSM存储的并不是真是的剩余空间,而是近似值,用一个字节表示剩余空间的大小,也就是说剩余空间分成了256个档次,每8K/256=32为一档,那么,一个字节就足以表示一个block的剩余空间。元素是一个指向数据页面中一条记录的指针,因为page里面的record数量不一定,所以使用这种FLEXIBLE_ARRAY_MEMBER,下面还定义了管理这个结构体的指针。字节空闲空间的槽位。
2024-04-27 23:19:29
1016
1
原创 【CMU15-445 Part-19】Multi-Version Concurrency Control
writer 不会 block readers,reader 也不会 block writers。只读事务可以读到一个consistent的snapshot,而不需要获得锁。使用ts 来决定事务的可持续数据库快照以及对数据的可见性。支持查询。Txn 进入的时候看 TS 再哪个begin 和 end 之间,当有新版本的时候 旧版本数据的end即做出修改的事务的开始时间戳。如果txn abort 修改时间戳的动作也要abort。
2024-04-25 16:10:46
426
原创 【CMU15-445 Part-18】Timestamp Ordering Concurrency Control
OCC and T/O都是Optimistic的。
2024-04-25 16:09:50
1075
原创 【CMU15-445 Part-20】Logging Scheme
commit 一般就意味着 持久化到disk。logging recovery 是保证txn所做的修改能够保障数据库的一致性、事务的原子性,持久性,关心的是acid中的acd。恢复协议其实是两部分:1. 确保系统运行中遇到故障后可以恢复的措施(写log) 2. 故障之后如何恢复来确保acd(用log)。
2024-04-25 15:26:02
775
原创 【云原生数据库:原理与实践】2 -数据库与云原生
云计算为计算问题提供了一个解决方案,即把信息化需要的基础设施作为一种服务来提供(Infrastructure as a Service,IaaS),就像生活领域的水电煤气服务一样,企业或家庭用户无须为获取这些资源而进行基础设施建设,比如自己挖井或自己用发电机发电,只要接入政府提供的生活服务网络,根据需要随时取用即可。云原生的架构,在本质上,下层是分布式共享存储,上层是分布式共享计算池,中间层用于计算存储解耦,这样可以非常好地提供弹性高可用能力,做到分布式技术集中式部署,从而对应用透明。
2024-04-16 19:32:12
776
原创 【云原生数据库:原理与实践】1- 数据库发展历程
从1960年:Integrated Database System(IDS),该系统是一个网状模型(Network Model)到 IMS(Information Management System),使用了层次模型(Hierarchical Model)支持事务处理。
2024-04-16 19:31:40
1110
原创 【论文阅读 VLDB22】On-Demand State Separation for Cloud Data Warehousing
将查询的工作状态和进度与执行它的机器解耦的过程。
2024-03-05 18:24:40
682
原创 【论文阅读 SIGMOD18】Query-based Workload Forecasting for Self-Driving
Autonomous DBMS的第一步就是能够建模并预测工作负载,以前的预测技术对查询的资源利用率进行建模。然而,当数据库的物理设计和硬件资源发生变化时,这些指标会发生变化,从而使以前的预测模型无用。提出了QueryBot 5000的具有鲁棒性的预测框架,它允许DBMS根据历史数据预测未来查询的预期到达率。为了更好地支持高度动态的环境,本文的方法使用工作负载中查询的逻辑组合,而不是用于查询执行的物理资源的数量。提供了短期和长期的预测。本文还提出了一种基于聚类的技术来减少要维护的预测模型的总数。
2024-01-20 13:11:30
1400
1
原创 【论文阅读 CIDR17】Self-Driving Database Management Systems
之前的advisory tools来帮助DBA处理系统调优和物理设计的各个方面,都仍然需要人类对数据库的任何更改做出最终决定,并且是在问题发生后修复问题的反动措施reactionary measures。An truly “self-driving” database management system (DBMS)是针对autonomous operation(自主操作)设计的全新架构。系统的所有方面都是由一个integrated planning componen综合规划组件来控制。
2024-01-15 19:00:56
1853
1
原创 【翻译转载】What is a Self-Driving Database Management System
一些组织和个人错误地将他们的系统标记为“自动驾驶”。真正的自动驾驶数据库管理系统(DBMS)会自动(1)决定使用什么样(what) actions 来优化自己(2)决定何时(when)部署这些行动(3)从这些actions中学习(强化学习?)——所有这些都无需任何人为干预。自适应数据库 [Self-Adaptive Databases] (1970-1990s)自 1970 年代开始,使用 DBMS 来减轻应用程序开发人员的数据管理负担是关系模型和声明式编程语言(例如,SQL)的最初卖点之一。
2024-01-14 22:31:15
1215
原创 【论文阅读】Non-blocking Lazy Schema Changes in Multi-Version
一个是online能够提供不停机的更新的能力,在很多业务系统里面是必要的。第二个是满足高可用,SaaS、PaaS要提供高可用的系统给用户,停机更新是不可以的。
2024-01-12 21:33:55
915
原创 PolarDB DDL MDL
MySQL 拿锁 即乐观等待的方式来拿锁MDL-X。问题:会导致DDL后续DML的阻塞。第三方插件 pt-osc / gh-ost 采用copying method,空表然后select + insert,最后rename操作切换。问题:1. 饥饿。2.无脑copying,有一些instance DDL 秒级可完成。
2024-01-09 19:52:26
741
原创 分布式数据库Schema 变更 in F1 & TiDB
元数据记录:system database 和 system table 记录异步变更schema的元数据。State。
2023-11-13 11:40:36
352
原创 【论文阅读VLDB13】Online, Asynchronous Schema Change in F1
分布式 Schema 变更在 Google F1 的实践
2023-11-11 15:37:32
503
原创 【论文阅读VLDB23】Online Schema Evolution is (Almost) Free for Snapshot Databases
在现有数据库系统中,对在线和事务模式演变的支持仍然具有挑战性。之前处理这种schema 演变基本是patches补丁的方式来做,就会导致很多corner case,导致一般需要停止DML来执行DDL。本文基于MVCC数据库可以data-defination-as-modification(DDaM),提出了Tesseract来实现通过并发控制协议来控制DDL操作。Tesseract能够提供在线的事务性模式演化,而不会导致服务停机,并在模式演化进行时保持较高的应用程序性能。
2023-10-29 15:20:03
237
原创 【CMU15-445 Part-17】Two-Phase Locking
S-LOCK 共享锁 for readsX-LOCK 排他锁 for writes上述T1最后R(A) 会导致不可重复读。
2023-10-07 14:20:50
160
原创 【CMU15-445 Part-15】Query Planning & Optimization II
维护每张表中的基本主要信息也就是tuple数量NR以及每个属性中不同值的数量VARNR关系R中的元组数量,单独维护,不能用page * 每个page中的tuple数,因为mvcc 或者 填不满tuple。selection cardinality (SC(A,R)) 选择基数,tuple数量除以属性A下 去重之后值的数量来计算出。假设数据均匀分布,data uniformity。
2023-10-06 22:29:35
231
原创 【论文阅读】An Evaluation of Concurrency Control with One Thousand Cores
随着多核处理器的发展,一个芯片可能有几十乃至上百个core。在数百个线程并行运行的情况下,协调对数据的竞争访问的复杂性可能会减少增加的核心数所带来的收益。探索当前DBMS的设计对于未来超多核数的CPU的适应性,在多核芯片上跑OLTP来进行评估,使用7种并发控制算法在内存数据库,使用计算机模拟的1024核来进行测试,所有算法都无法适配,所有数据库都有基本的性能瓶颈,因此与追求增量解决方案相比,以后应该考虑针对多核芯片完全重新设计的DBMS体系结构,该体系结构从头开始构建,并与(新)硬件紧密耦合。
2023-10-06 22:27:35
1461
1
原创 【CMU15-445 Part-12】Query Execution I
Processing Model主要指的是明确如何去执行一个查询计划(top 2 bottom or bottom 2 top,operator之间的传递)。
2023-09-27 16:27:04
194
原创 【论文阅读】内存数据库并发控制算法的实验研究
并发控制算法的基本思想归纳为"先定序后检验”,基于该思想对现有各类并发控制算法进行 了重新描述和分类总结,于在开源内存型分布式事务测试床3TS上的实际对比实验。3TS: Tencent Transaction Processing Testbed System(简称3TS),是腾讯公司CynosDB(TDSQL)团队与中国人民大学数据工程与知识工程教育部重点实验室,联合研制的面向数据库事务处理的验证系统 (gitee.com)
2023-09-23 16:42:51
354
原创 【CMU15-445 Part-10】Sorting and Aggregations
查询计划指的是指令或者是数据库系统如何执行一个给定查询的方式。整个查询计划是树形结构或者有向无环图。Logical Plan:先SCAN A,交给join operator,SCAN B,对B进行filter后交给join operator,然后join oper把结果传给projection operator。使用buffer pool manager来对查询的中间结果进行落盘操作。
2023-09-16 17:19:06
154
原创 【论文阅读】Cornus: Atomic Commit for a Cloud DBMS with Storage Disaggregation
Cornus提出了一种针对存储分解架构的2PC优化协议-Cornus。通过利用云数据库架构提供的新特性,Cornus解决了2PC中的长延迟和阻塞问题。
2023-09-16 17:05:58
235
原创 SDU CS 期末考回忆版合集
删除原有分散的版本,合订起来画个。包括:机器学习、算法、图形学、操作系统、编译原理、软件工程、大数据分析管理、计算机体系结构等。
2023-03-14 13:52:30
4861
原创 Raft论文阅读
Raft 是用来进行管理replicated log的共识协议。他能产生和paxos一样的效果和效率。之所以更加容易理解,是将共识的关键元素(问题)进行了分解以及进行了状态的简化。
2023-01-09 01:06:24
515
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人