- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式数据库介绍--姜庆东
嵌入式数据库介绍 Agenda 嵌入式数据库综述 SQLite介绍 V6 数据库介绍 嵌入式存储需求 便捷信息存储和查询功能是系统软件必备的基本服务,嵌入式系统也不例外 关系数据库技术历经数十载的发展,相关概念深入人心,成为最重要的信息存储和检索手段。 相对现有的通用计算机系统,嵌入式系统运行环境要求苛刻,同时不同的系统对于性能要求也存在很大的不同 嵌入式数据库系统应用分类 高性能嵌入式系统 ????电信和网络设备 ????航空航天 ????工业自动化控制 中等嵌入式系统 ????车载电子,GPS ????机器人 微嵌入式应用 ????个人数字助理(PDA) ????智能手机 微微嵌入式应用 ????智能卡 ????智能玩具 高性能嵌入式系统 高可靠性:通常通过备份,冗余等手段; 要求系统的分布式特性:分布式存储,分布式事务; 高性能:要求数据库系统的实时特性; 多平台的适应性; 多用内存数据库方式,采用非易失存储介质作为后备; 存储数据类型复杂; 中等嵌入式系统 广泛的平台适应性:WCE,Linux, VxWorks 等等; 存储的数据类型复杂多变:多媒体数据,地理信息数据等等; 存储介质类型多样:内存,NAND/NOR FLASH, SD/MMC,微型磁盘等; 通常会有响应时间的要求; 要求接口简单,容易开发; 微嵌入式环境 对于资源使用有一定限制,存储空间,处理能力等均受限(虽然对于某些高档机型这种限制并不大); 要求广泛的平台适应性:WCE,Linux等; 要求具有丰富的数据类型(多媒体数据,地理信息数据); 多样的存储设备:内存,NAND/NOR FLASH, SD/MMC,微型磁盘等; 对查询响应时间要求不高,满足人机交互的需求即可; 要求和外部数据库的同步能力(Data Sync) 微微嵌入环境(智能卡) 苛刻的运行环境:要求对资源的占用达到最小限度。 存储数据类型简单,数据量小。 多样的存储介质 硬盘驱动器(HDD) 随机存储器(RAM) 快闪存储器(Flash Memory(NAND/NOR)) 其他(EEPROM等) 硬盘驱动器(HDD) 直接存储设备,相对于随机存储器,存储量大,但是开销也大。 传统的数据库对如何使用HDD有较多的经验和技术。 在某些嵌入式系统中需要考虑节电。 随机存储器(RAM) 对传统数据库技术提出了挑战。一些传统的数据库优化技术不在适用于它。 RAM是易失性的存储器,需要非易失的存储器作为后备,传统的事务处理技术需要重新考察 快闪存储器(Flash Memory) 媲美内存的读取速度 相对较慢的写入速度, 在写入之前必须擦除. 在数据库的设计中,必须考虑这一点。 NAND Versus NOR NAND Versus NOR Typical NAND Layout Challenges Of NAND Flash Factory Bad Blocks Bit Read Errors Program and Erase Errors Erase Cycle Limitations 嵌入式数据库的挑战 传统的RDBMS建立在以磁盘/磁鼓等DASD为存储介质的基础上的,而嵌入式系统常见的Flash Memory等存储介质和DASD在特性上有较大的不同,传统RDBMS的很多假设不再成立。 传统的RDBMS的优化策略建立在对系统资源的最小占用,提高系统的吞吐量,而嵌入式RDBMS面对着可能是非常不同的优化目标。 嵌入式RDBMS系统面临着苛刻的软/硬件运行环境,要求数据库结构上加以考虑。 嵌入式数据库运行环境和存储介质多种多样,用单一的体系结构做到“通吃”几乎是不可能。 嵌入式数据库的基本要求 体积适当 由于嵌入式系统自身的特点,对数据的存储和程序的运行都有较强的空间限制,所以嵌入式数据库首先应该保障的就是适当的体积。进一步来说就是占用尽量少的ROM、RAM及CPU的资源。 可移植性 嵌入式系统的平台种类繁多,因此嵌入式数据库应有一定的可移植性,以适用于不同的软硬件平台。特别是要考虑到不同存储介质的特性,比如NAND的读特性 编程接口简单 不必要提供完整的SQL和数据库连接方式。 代码开源 开源的代码在产品的开发过程中不仅可以减少开发成本,更重要的是为后期的维护完善和稳定运行都提供了最为彻底的解决方法。 两个嵌入式数据库的介绍 开源的SQLite V6/V7上实现的小型数据库(简称KDB) SQLite 介绍 纲要 SQLite介绍 SQLite的发展 SQLite的优势 SQLite的内部结构 SQLite数据库的使用 SQLite的命令行接口 SQLite命令行使用 SQLite数据库的编程接口 C/C++接口 简单应用 自定义简单函数
文档评论(0)