More than code

database
database

leveldb notes

整体架构 貌似和bigtable完全相同 level由这几个组建组成 memtable 是一个主存中的跳表。按序存储。当容量到达阈值的时候就转换成一个不可修改的memtable immutable memtable 不可修改的memtable。当他被创建的时候,leveldb的后台压缩进程会利用其中的内容创建一个sstable。持久化到磁盘中 log WAL,每次写操作要先顺序写日志。从而保证我们可以从异常状态下恢复。 写操作的原子性也由日志来保证,当日志成功写入的时候,写操作成功。当写日志异常的时候,后续的恢复会…

2022年4月11日 0条评论 509点热度 0人点赞 sheep 阅读全文
database

Consistency level in DBMS

Consistency level in DBMS CAP中的C和ACID中的C都代表了consistency,但是他们的含义是完全不同的。 比如ACID中,一致性是指用户定义的语义。指的是我们不会违反引用约束,外键约束,以及一些用户定义的约束。 而在CAP中的C指的是让并发执行的分布式系统表现的像是一个单线程的中心化的系统。在某一时刻的读必须只有一种可能的情况,即他们反映了最近写入的数据 在ACID中,consistency level通常是不会使用的。因为ACID中的C基本上都是application deve…

2022年4月2日 0条评论 512点热度 0人点赞 sheep 阅读全文
database

Consistency and Isolation in Distributed DB

背景 隔离的定义(为了清晰我就贴原文而不是自己翻译了) Database isolation refers to the ability of a database to allow a transaction to execute as if there are no other concurrently running transactions 隔离的目的就是我们在并发执行事务的时候不希望一个事务的读写操作作用于一些临时的,错误的,或者不完整的数据 最强的隔离级别被成为可串行化(serializability)…

2022年4月1日 0条评论 573点热度 0人点赞 sheep 阅读全文
database

Recall Transaction in DBMS

Recall Transaction in DBMS 整理一下DDIA中事务这一块 事务让我们可以为上层提供一个非常强大的抽象,而不需要将具体的细节暴露给上层 事务所提供的保证,即ACID,分别代表原子性,一致性,隔离性以及持久性 有的不符合ACID的系统有时被成为BASE,即基本可用性(Basic Available),软状态(Soft state),最终一致性(Eventual consistency) 原子性,指的是我们可以将事务内包含的一系列操作转化为原子操作,即要么所有的操作都发生了,要么一个也没发生。注…

2022年3月13日 0条评论 542点热度 0人点赞 sheep 阅读全文
database

对2PL的一些补充

对2PL的一些补充 主要的资料来自于wiki 2PL有两个经典的变体,分别是S2PL(strict-2PL)和SS2PL(strong strict-2PL or rigorous-2PL) 我们通过这张图来理解2PL以及其他相关的一些并发控制手段 S2PL即所有的写锁在事务提交的时候才能释放 SS2PL则是对于所有的锁,都只能在事务提交的时候才能释放 S2PL可以保证不会脏读,因为任何处于活跃事务中的数据项都会处于写锁中。所以只要我们通过读锁来保证我们读到的数据项没有被写锁占有,那么这个数据项就是一致的,即不会脏…

2021年12月20日 0条评论 843点热度 0人点赞 sheep 阅读全文
12
分类
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS