随笔分类 - 数据库技术
摘要:Mysql到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。 在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段: 6字节的事务ID(DB_TRX_ID )7字节的回滚指针(DB_ROLL
阅读全文
摘要:数据库索引、跳表 归并排序 快速排序 https://blog.csdn.net/jymn_chen/article/details/17359003 https://www.cnblogs.com/Leroscox/p/6160468.html 缓存算法(页面置换算法)-FIFO、LFU、LRU
阅读全文
摘要:原始版: 直接读写数据库文件; 改进版1:undo log 将待未改数据备份到缓存,直接修改数据库文件; 改进版2: 将未修改和待修改数据写进顺序日志,定时同步到数据库。 核心是解决数据安全和io性能问题。 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者
阅读全文
摘要:1、高效的数据(结构)存储和缓存机制:IO问题; 2、高效安全的数据访问机制:并发与异常; 3、合乎逻辑的访问语言。 数据库的存储部分,本质是数据结构的序列化存储。 数据库的存储和其他的文件格式的存储没有本质区别,都是内容索引(格式说明、读写说明)+具体数据。
阅读全文
摘要:数据库 = filesystem + transcation + dsl + dslParser
阅读全文
摘要:你已经阅读过 Realm 关于线程的基础知识。你已经知道了在处理多线程的时候你不需要关心太多东西了,因为强大的 Realm 会帮你处理好这些,但是你还是很想知道更多细节…… 你想知道在 Realm 的引擎盖下它到底是怎么工作的。你想学习些相关的理论、机制和背后的原因。好吧,你来到正确的地方了。 我们
阅读全文
摘要:BEGIN TRANSACTION BEGIN TRANSACTION begin-stmt: hide commit-stmt: hide rollback-stmt: hide No changes can be made to the database except within a tran
阅读全文
摘要:一、概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable)。在含有数据修改的事务中,该模块将确保或者所有的数据修改全部提交,或者全部回滚。与此同时,该模块还提供了一些磁盘
阅读全文
摘要:原子性:由于操作失败导致的数据碎片错误; 一致性:由于并发导致的数据库数据错误(与预期不一致); 隔离性:由于并发导致的当前使用数据(应用端)错误; 事务在当今的企业系统无处不在,即使在高并发环境下也可以提供数据的完整性。一个事务是一个只包含所有读/写操作成功的集合。如下图: 一个事务本质上有四个特
阅读全文
摘要:存疑: sqlite3_prepare 应该是语言解析模块的功能,而不是pager模块的功能 https://www.cnblogs.com/feng9exe/p/10712154.html 一、 是否支持多线程? SQLite官网上的“Is SQLite threadsafe?”这个问答。 简单来
阅读全文
摘要:Introduction This document describes the architecture of the SQLite library. The information here is useful to those who want to understand or modify
阅读全文
摘要:该系列的前面一些文章我重点讲了sqlite的核心功能,比如封锁机制,共享缓存,以及事务管理等。但对于sqlite的整体没有作一个全面的介绍,本文将从实现的层面,整体介绍sqlite的框架、各个核心模块以及功能。后续再针对核心模块作进一步的分析。我们说sqlite是一个关系型的嵌入式数据库。提到关系型
阅读全文
摘要:概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置。它是sqlite的核心模块,充当了多种重要角色。作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性,负责事务的原子提交和回滚;作为一个页管理器,它处理从文件中读写数据页,并执行文件空间管理工作;作为日
阅读全文
摘要:In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, c
阅读全文
摘要:并发控制 在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。 数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一
阅读全文
摘要:1. Summary The following two objects and eight methods comprise the essential elements of the SQLite interface: sqlite3 → The database connection obje
阅读全文
摘要:http://huili.github.io/B-treeImplementation/hierarchicalorganization.html SQLite中的B-tree SQLite中每个数据库完全存储在单个磁盘文件中,因为B树进行数据的查找、删除、添加速度快,所以这些数据以B树数据结构的形
阅读全文
摘要:MongoDB如何存储数据 https://blog.csdn.net/ZH01234565/article/details/82886897 oracle数据库存储结构 https://blog.csdn.net/lierming__/article/details/79007340 http:/
阅读全文
摘要:通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connection):连接是从客户端到ORACLE实例的一条物理路径。连接可以在网络上建立,或者在本机通过IPC机
阅读全文
摘要:在今天的商业应用中,主要有两种基本类型的DBMS(数据库管理系统)存储管理器: (1)DBMS直接与底层的面向磁盘的块模式设备驱动程序进行交互(通常称为原始模式访问); (2)DBMS使用标准的OS文件系统设施.这个决定会在空间和时间上同时影响DBMS控制存储能力. SQLite文件存储管理主要由B
阅读全文