内存数据库有哪些(生活中的数据库有哪些)

基于嵌入式linux的数据库主要有SQLite、Firebird、Berkeley DB、Extreme DB等。其中Firebird是关系数据库,功能强大,支持存储过程和SQL兼容。SQLite关系数据库很小,支持ACID事务。Berkeley DB中没有数据库服务器的概念,它的库是直接链接到应用的。另外,eXtremeDB是一个内存数据库,运行效率很高。今天,我们将重点讨论SQlite数据库。

SQLite的源代码是C,它的源代码是完全开放的。SQLite的第一个Alpha版本诞生于2000年5月。

SQLite有以下特性:它支持ACID事务;配置零一不需要安装和管理配置;存储在单个磁盘文件中的完整数据库;数据库可以在不同字节顺序的机器之间自由共享;支持高达2 TB的数据库大小;足够小,整个源代码大致是3万行C代码,250KB;它操作数据的速度比目前大多数流行的数据库都要快;它支持事务功能和并发处理。事务的应用既保证了数据的完整性,又提高了运行速度,因为多条语句一起提交到数据库的速度会比一条一条提交的速度快。独立,没有额外的依赖。

SQLite的SQL语言很大程度上实现了ANSI SQL92标准,尤其支持视图、触发器、事务和嵌套SQL。它使用SQL编译器以SQL语言操作数据库,并支持大多数SQL命令。例如附加数据库、开始事务、注释、提交事务、复制、创建索引、创建表、创建触发器、创建视图、删除、分离数据库、删除索引、删除表、删除触发器、删除视图、结束事务、解释、表达式、插入、冲突子句、编译指示、替换、回滚事务、选择、更新。

下图顶部是记号赋予器和解析器。SQLite自带高度优化的分析器生成器,可以快速生成高效代码,对内存泄漏有特殊的抵抗力。

底部是基于Knuth的优化B树,因此它可以在可调的页面缓冲区上运行,这有助于最小化磁盘搜索。

接下来是页面缓存,它作用于操作系统的抽象层。这种安排方便了数据库的移动。

该架构的核心是虚拟数据库引擎(VDBE)。VDBE完成所有与数据操作相关的操作,是客户和存储之间信息交换的中间单元。分析完SQL语句后。VDBE开始工作。代码生成器将分析树翻译成袖珍程序,然后这些袖珍程序组合成一系列用VDBE的虚拟机语言表示的指令。这样,VDBE执行每一条指令,最终完成SQL语句指定的查询需求。

内存数据库有哪些(生活中的数据库有哪些)

使用SQL t e命令行或SQLitebrowse等图形工具建立数据库sysdb和表用户。这样就可以通过提供文件名、访问方式等参数来调用sqlite _open连接数据库,比如“p _ db = SQLite3 _ open(。/sysdb ",& db);"。如果要执行SQL查询,可以调用sqlite_exec,比如“SQLite _ exec (p _ DB,”select * from user",回调,0,0);"

由于SQLite通过对每条记录执行回调函数从数据库中获取结果,因此可以根据需要构造自己的回调函数来实现特定的功能。最后,从“SQLite _ close(p _ db);”开始语句关闭数据库。编程编译时要注意sqlite.h,libsqlite.a,libsqlite.so的使用。

先简单介绍一下,下一讲讲SQLite的应用。

内存数据库有哪些(生活中的数据库有哪些)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

本文来自网络,若有侵权,请联系删除,作者:李悦林,如若转载,请注明出处:

发表回复

登录后才能评论