嵌入式数据库_3.嵌入式数据库的主要功能及典型产品

2024-06-17 21:36

本文主要是介绍嵌入式数据库_3.嵌入式数据库的主要功能及典型产品,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.嵌入式数据库的功能 

        嵌入式数据库的功能应与通用数据库功能相似,应覆盖数据库的核心功能。通常,嵌入式数据库有其自身的特殊需要,它应具备的功能包括以下4点:

  • 足够高效的数据存储机制;
  • 数据安全控制(锁机制);
  • 实时事务管理机制;
  • 数据库恢复机制(历史数据存储)。        

        这样,一般嵌入式数据库可划分成数据库运行处理数据库存取数据管理数据库维护和数据库定义等功能。

        数据库运行处理:主要负责实现嵌入式数据库运行过程的各种功能。包括实时事务管理、并发控制、数据库装入、运行日志维护、安全性和完整性控制等。

        数据库存取:主要负责实现嵌入式数据库各种存取和查询功能。包括实时数据更新、历史数据查询、数据添加、数据删除等。 

        数据管理:主要负责实现嵌入式数据库的数据空间管理功能。包括缓冲区管理、数据存储空间管理、数据索引管理等。

        数据库维护:主要负责实现嵌入式数据库的数据维护管理功能。包括数据恢复、实时数据转储、数据装入等。

        数据库定义:主要负责实现嵌入式数据库的安全性、完整性的定义功能。

2. 典型嵌入式数据库系统

        目前,嵌入式数据库中比较典型的三个产品是SQLiteBerkeley DBFirebird嵌入式服务器版,其主要特点如下:

2.1SQLite

         SQLite诞生于2000年5月,这几年增长势头迅猛无比,目前版本是3.3.8。其主要特点是:

  • 无须安装配置,应用程序只须携带一个动态链接库
  • 非常小巧,For Windows 3.3.8版本的DLL文件才374KB
  • ACID事务支持,ACID即原子性、一致性、隔离性和持久性(Atomic、Consistent、Isolated和Durable)
  • 数据库文件可以在不同字节顺序的机器间自由的共享,比如可以直接从Windows移植到Linux或MAC
  • 支持数据库大小至2TB

2.2Berkeley DB

         Berkeley DB是由Sleepycat Software公司开发的一套开放源码的嵌入式数据库,它于1991年发布,目前Sleepycat已被甲骨文(ORACLE)公司收购。其主要特点是:

  • 嵌入式,无需安装配置
  • 为多种编程语言提供了API接口,其中包括C、C++、Java、Perl、TCL、Python和PHP等
  • 轻便灵活。它可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下
  • 可伸缩。他的Database library才几百“KB”大小,但它能够管理规模高达256TB的数据库。它支持高并发度,成千上万用户可同时操作同一个数据库      

2.3Firebird嵌入式服务器版        

         从Interbase开源衍生出了Firebird版本。虽然它的体积是Interbase的几十分之一,但功能并无丢弃。为了体现Firebird短小精悍的特色,开发小组在增加了超级服务器版本之后,又增加了嵌入版本,最新版本为2.0。其主要特点是:

  • 数据库文件与Firebird网路版本完全兼容,差别仅在于连接方式不同,可以实现零成本迁移
  • 数据库文件仅受操作系统的限制,且支持将一个数据库分割成不同文件,突破了操作系统最大文件的限制,提高了I/O吞吐量
  • 完全支持SQL-92标准,支持大部分SQL-99标准功能
  • 丰富的开发工具支持,绝大部分基于Interbase的组件,可以直接使用于Firebird
  • 支持事务、存储过程、触发器等关系型数据库的所有特性
  • 可自己编写扩展函数(UDF)

这篇关于嵌入式数据库_3.嵌入式数据库的主要功能及典型产品的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070531

相关文章

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及,智能家居行业正迎来新的发展机遇,众多厂商纷纷投身于 Matter 产品的研发与验证。然而,开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。  乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行业洞察力,推出了全面的 Matter 解决方案,包含基于乐鑫 SoC 的 Matter 硬件平台、基于开源 ESP-Matter SDK 的一

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

给数据库的表添加字段

周五有一个需求是这样的: 原来数据库有一个表B,现在需要添加一个字段C,我把代码中增删改查部分进行了修改, 比如insert中也添入了字段C。 但没有考虑到一个问题,数据库的兼容性。因为之前的版本已经投入使用了,再升级的话,需要进行兼容处理,当时脑子都蒙了,转不过来,后来同事解决了这个问题。 现在想想,思路就是,把数据库的表结构存入文件中,如xxx.sql 实时更新该文件: CREAT

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

SQL Server中,添加数据库到AlwaysOn高可用性组条件

1、将数据添加到AlwaysOn高可用性组,需要满足以下条件: 2、更多具体AlwaysOn设置,参考:https://msdn.microsoft.com/zh-cn/library/windows/apps/ff878487(v=sql.120).aspx 注:上述资源来自MSDN。

SQL Server中,用Restore DataBase把数据库还原到指定的路径

restore database 数据库名 from disk='备份文件路径' with move '数据库文件名' to '数据库文件放置路径', move '日志文件名' to '日志文件存放置路径' Go 如: restore database EaseWe from disk='H:\EaseWe.bak' with move 'Ease