5分钟

课程背景

实验预计耗时:30分钟

1. 课程背景

1.1 课程目的

自几十年前出现商业应用程序以来,数据库就成为软件应用程序的主要组成部分。随着技术的不断发展,它们变得非常庞大,并占用了相当多的系统资源,增加了管理的复杂性。SQLite是一个开源的嵌入式关系数据库,由D.Richard Hipp在2000年发布,可以减少应用程序管理数据的开销,并且占用资源低,在嵌入式设备中,只需要几百K的内存就够了。本节课的目就是的让学员了解SQLite的基本特性,并掌握腾讯云上SQLite数据库的部署和管理。

1.2 课前知识准备

1.相关概念:

  • 腾讯云服务器CVM:CVM(Cloud Virtual Machine,CVM)是腾讯云推出的弹性计算服务。CVM有管理简单、稳定可靠、配置多样化等特点。随着业务需求的变化,您可以实时扩展或缩减计算资源。使用CVM可以极大降低您的软硬件采购成本,简化IT运维工作。
  • 关系型数据库:常用的数据库类型,具有表结构,表可以与其他表之间建立关系,通常使用SQL来操作。
  • 事务:事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部执行成功,要么全部不成功。

2.相关原理:

  • SQLite采用了模块的设计,它由三个子系统,包括8个独立的模块构成。
1-2-1 SQLite架构图
  • Interface:接口由SQLite C API组成,用于完成程序、脚本语言和库文件等与SQLite之间的交互。
  • Compiler:由分词器(Tokenizer)、分析器(Parser)和代码生成器(Code Generator)组成。分词器和分析器对SQL进行语法检查,然后把它转化为底层能更方便处理的分层的数据结构——语法树,然后把语法树传给代码生成器进行处理,而代码生成器根据语法树生成一种针对SQLite的汇编代码。
  • Virtual Machine:架构的核心部分,也可称为虚拟数据库引擎(Virtual Database Engine,VDBE)。与Java虚拟机相似,主要负责解释执行字节代码。
  • Backend:后端由B-树(B-Tree),页缓存(page cache,Pager)和操作系统接口构成。B-Tree的主要功能就是索引,它维护着各个页面之间的复杂的关系,便于快速找到所需数据。而Pager的主要作用就是通过OS接口在B-Tree和Disk之间传递页面。

3.相关命令介绍:

  • ./configure:一般用来生成Makefile,为下一步的编译做准备。
  • make:作用是开始进行源代码编译以及一些功能的提供。
  • make install:从Makefile中读取指令,安装到指定的位置。
  • ls:显示指定工作目录下的内容。
  • rm:删除文件或者目录。