当前位置:首页 > 学习资源 > 讲师博文 > 嵌入式数据库:存储与管理智能设备数据

嵌入式数据库:存储与管理智能设备数据 时间:2024-09-04      来源:华清远见

数据库是一个有组织的数据集合, 支持存储,管理和检索数据。使用数据库的主要目的是为了更为高效的管理大量数据,确保数据的完整性和安全性,允许用户更为快捷的访问和操作数据。数据库根据其存储方式的种类,分为关系数据库和非关系数据库。关系数据库主要是存储一些结构性的内容,以表格的形式存储数据,例如:MySQL,Oracle,Microsoft SQL Server等,非关系数据库则是存储一些非结构性的内容,例如文档类型的数据格式,图片类型的数据格式,例如MarkLogic,Neo4j,Bigtable在嵌入式领域中。关系型数据库应用比较多,因为存储的大多都是设备数据,其以表格的形式存储数据,易于理解和管理,可拓展性高,易维护,占用空间小等特点,更适合嵌入式开发。

需要明确的一点是,并不是所有的关系型数据库都适合嵌入式开发,嵌入式开发更注重轻量级,灵活性和稳定性,所以SQLlite,MYSQL在嵌入式系统中最为常用。SQlite以其轻量级,但文件存储,无需服务器,被广泛应用于移动设备,物联网设备等场合。MYSQL以其强大的功能,良好的性能,更适用于较为复杂的嵌入式系统。这两款系统都支持SQL命令,都拥有强大的社区资源,所以学习起来还是比较简单的。

下面就从数据库的介绍,特点,应用场合分别介绍两款数据库:

SQLite的历史:

2000 -- D. Richard Hipp 设计 SQLite 是为了不需要管理即可操作程序。

2000 -- 在八月,SQLite1.0 发布 GNU 数据库管理器(GNU Database Manager)。

2011 -- Hipp 宣布,向 SQLite DB 添加 UNQl 接口,开发 UNQLite(面向文档的数据库)。

图1-1 sqlite数据库

SQLite特点:

1. SQLite是一个进程内的数据库,实现了自给自足,无服务器支撑的SQL数据库引擎,近几年来SQLite用户增长最快,用户选择sqlite的主要目的是因为:

2. 不需要一个单独的服务器进程或操作的系统(无服务器的)。

3. SQLite 不需要配置,这意味着不需要安装或管理。

4. 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

5.SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

6. SQLite 是自给自足的,这意味着不需要任何外部的依赖。

7. SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

8. SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

9. SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。

10. SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

SQLite命令:

SQLite命令,以’ . ’作为开头,例如.table查看有哪些表,.schema查看表的结构,这些命令主要在SQLite软件中使用,如图1-2以Linux系统所示:

图1-2 sqlite软件的使用

SQLite支持SQL命令,例如CREATE创建,INSERT插入,SELECT查询,UPDATE更新,DELETE删除等,其SQL命令可以在SQLite软件中使用,如图1-3以Linux系统所示:

图1-3 sqlite软件的使用

也可以在代码中调用sqlite提供的API,如图1-4所示,相关API接口可以参考sqlite官网:

https://www.sqlite.org/c3ref/funclist.html,如图1-5所示。

图1-4 sqlite API接口的使用

图1-5 sqlite官网functions手册

SQLite应用

 在一些智能家居设备(如智能音箱、智能摄像头等)中,SQLite 被用来存储用户偏好设置、设备状态及日志信息。这些设备通常资源有限,SQLite 的小型特性使其非常适合这类应用。

下面再看一下MYSQL:

MYSQL历史

MySQL的历史可以追溯到20世纪90年代初。它由瑞典的Michael Widenius和David Axmark共同创立,最初是为了满足Web应用程序的数据存储需求而设计的。随着互联网的发展,MySQL逐渐崭露头角,成为最受欢迎的开源数据库之一。

2008年,Sun Microsystems收购了MySQL AB,使MySQL得以继续壮大。之后,Sun Microsystems被Oracle收购,MySQL也成为了Oracle旗下的重要产品。不过,由于对MySQL的开放性和竞争问题的担忧,Oracle将MySQL交给了欧洲的MySQL社区维护,确保了其持续的开源发展。


 

图2-1 mysql数据库

MYSQL特点

MySQL 是开源的,目前隶属于 Oracle 旗下产品。

MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

MySQL 使用标准的 SQL 数据语言形式。

MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。

MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。

MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

MYSQL命令

MYSQL数据库含有很多的MYSQL命令,比如‘SHOW DATABASES;’列出所有可用数据库,‘USE your_database;’选择数据库,‘SHOW TABLES;’列出可用的所有表等等,如图2-2所示:

图2-2 MYSQL基本命令命令

MYSQL数据库还可以使用SQL命令,如图2-3所示:

图2-2 MYSQL基本命令命令

MYSQL应用

在边缘设备中,MySQL 可以作为本地数据库,处理设备生成的数据并进行分析,减少对云端的依赖。在物联网应用中,嵌入式设备可能需要存储传感器数据、设备状态或用户交互数据,MySQL 能够提供结构化的数据存储和查询能力。

在本篇文章中,我们深入探讨了常用的嵌入式数据库,尤其是 SQLite 和 MySQL 的特点及其在智能设备数据存储和管理中的应用。这些数据库在智能设备数据存储与管理中的重要性和应用场景。SQLite 以其轻量级和零配置的特性,适合于资源受限的设备,成为了小型嵌入式系统的首选。而 MySQL 通过其强大的功能与并发处理能力,更适用于需要处理较大量数据和复杂查询的场合。

随着物联网和智能设备的快速发展,数据管理的需求日益增长,合理选择合适的嵌入式数据库,对提高设备的性能和用户体验至关重要。无论是选择高效的 SQLite 还是功能丰富的 MySQL,理解它们各自的特点与应用场景,将帮助开发者更好地应对数据存储与管理的挑战。

上一篇:AI大模型的硬件协同优化

下一篇:嵌入式开发MOS原理与应用

戳我查看2020年嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部