摘要: 该系列的前面一些文章我重点讲了sqlite的核心功能,比如封锁机制,共享缓存,以及事务管理等。但对于sqlite的整体没有作一个全面的介绍,本文将从实现的层面,整体介绍sqlite的框架、各个核心模块以及功能。后续再针对核心模块作进一步的分析。我们说sqlite是一个关系型的嵌入式数据库。提到关系型 阅读全文
posted @ 2019-04-12 19:13 zzfx 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置。它是sqlite的核心模块,充当了多种重要角色。作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性,负责事务的原子提交和回滚;作为一个页管理器,它处理从文件中读写数据页,并执行文件空间管理工作;作为日 阅读全文
posted @ 2019-04-12 19:12 zzfx 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。 无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种 阅读全文
posted @ 2019-04-12 18:41 zzfx 阅读(222) 评论(0) 推荐(0) 编辑
摘要: In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, c 阅读全文
posted @ 2019-04-12 18:32 zzfx 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 并发控制 在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。 数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一 阅读全文
posted @ 2019-04-12 18:24 zzfx 阅读(366) 评论(0) 推荐(0) 编辑
摘要: volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在D 阅读全文
posted @ 2019-04-12 18:03 zzfx 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 1. Summary The following two objects and eight methods comprise the essential elements of the SQLite interface: sqlite3 → The database connection obje 阅读全文
posted @ 2019-04-12 16:34 zzfx 阅读(181) 评论(0) 推荐(0) 编辑
摘要: http://huili.github.io/B-treeImplementation/hierarchicalorganization.html SQLite中的B-tree SQLite中每个数据库完全存储在单个磁盘文件中,因为B树进行数据的查找、删除、添加速度快,所以这些数据以B树数据结构的形 阅读全文
posted @ 2019-04-12 16:17 zzfx 阅读(901) 评论(0) 推荐(0) 编辑
摘要: MongoDB如何存储数据 https://blog.csdn.net/ZH01234565/article/details/82886897 oracle数据库存储结构 https://blog.csdn.net/lierming__/article/details/79007340 http:/ 阅读全文
posted @ 2019-04-12 16:02 zzfx 阅读(274) 评论(0) 推荐(0) 编辑
摘要: (1)编译阶段 这几种模式可以通过参数SQLITE_THREADSAFE在编译阶段指定,可以取值0,1,2,默认是1。这三种取值的含义如下: 0:单线程模式,即内部不做mutex保护,多线程运行sqlite不安全。 1:多线程的串行模式,sqlite帮助多线程实现串行化。 2:多线程的并发模式,要求 阅读全文
posted @ 2019-04-12 16:01 zzfx 阅读(4174) 评论(0) 推荐(0) 编辑
摘要: 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connection):连接是从客户端到ORACLE实例的一条物理路径。连接可以在网络上建立,或者在本机通过IPC机 阅读全文
posted @ 2019-04-12 11:41 zzfx 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 在今天的商业应用中,主要有两种基本类型的DBMS(数据库管理系统)存储管理器: (1)DBMS直接与底层的面向磁盘的块模式设备驱动程序进行交互(通常称为原始模式访问); (2)DBMS使用标准的OS文件系统设施.这个决定会在空间和时间上同时影响DBMS控制存储能力. SQLite文件存储管理主要由B 阅读全文
posted @ 2019-04-12 11:18 zzfx 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完整地描述了数据库的结构。还有一种是物理上的Schema,指的是数据库中的一个名字空间,它包含一组表、视图和存储过程等命名对象。物理Schema可以通过标准SQL语句来创建、更新和修改。例如以下SQL语句创建了 阅读全文
posted @ 2019-04-12 11:12 zzfx 阅读(4898) 评论(0) 推荐(0) 编辑