SQLite的教程(1):对SQLite数据库介绍

SQLite的教程(1):对SQLite数据库介绍
1。简介:

SQLite是目前最流行的开源嵌入式数据库,与许多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE,SQLite的一些基本特征有关系数据库的良好支持,如标准的SQL语法,业务数据表和索引等。事实上,尽管有许多基本关系数据库SQLite的特点,他们之间没有可比性,因为不同的应用场景。在这里,我们将列出了SQLite的主要特点:

1)。管理简单,甚至可以考虑没有管理。

2)。它易于操作,生成SQLite数据库文件可以无缝移植到各个平台。

3)。它可以以多种形式嵌入到其他应用程序中,如静态库、动态库等。

4)。易于维护

综上所述,SQLite的主要优点是灵活,速度快,可靠性高。SQLite设计者为了实现这一目标功能做了很多关键的选择,同时也失去了一些关键的关系数据库管理系统支持的功能,如高并发,细粒度的访问控制(如行级锁),内置功能丰富的存储过程和SQL语句的复杂性。这是因为这些功能的牺牲是简单的,它简单、高效、可靠的。
二,SQLite的主要优点:

1。文件格式的一致性:

在SQLite的官方文件,这说明我们不应该比SQLite Oracle和PostgreSQL,但看到它作为fopen和fwrite。与我们自定义的数据文件格式相比,SQLite不仅提供了很好的可移植性,如大、小端32 / 64平台相关的问题,但也提供了数据访问效率高,如基于某些信息建立索引,从而提高这类访问或排序数据的性能,交易功能提供的SQLite也,在普通文件的操作不会有效的保证。
2。嵌入式或移动设备的应用:

因为SQLite占用资源少,不需要任何管理开销时,所以对于PDA、智能手机和其他移动设备,SQLite的优势是毋庸置疑的。
三.内部数据库:

在某些应用场景中,我们需要对插入数据库服务器的数据进行数据过滤或数据清理,以确保数据库服务器中数据的有效性。相反,它需要特殊的计算与少量的历史数据,然后确定当前数据是通过计算结果的合法性。在这个应用中,我们可以使用SQLite来缓冲这部分历史数据,也有对SQLite的简单场景,统计数据上。例如,我们正在运行的实时数据服务程序,我们可能需要每10秒的数据汇总,统计数据每小时的形成,统计数据可以大大减少在用户查询的数据量,从而显著提高前端程序的查询效率。在这个应用中,我们可以减缓到SQLite 1小时采集数据,当整点到达后,计算缓存数据后清空数据。
4。数据分析:

我们可以充分利用SQLite提供的SQL功能,完成简单的数据统计和分析的功能。这是无与伦比的CSV文件。
5。产品演示与测试:

当我们需要给演示给我们的客户,我们可以使用SQLite作为后台数据库。与其他关系数据库相比,使用SQLite减少很多系统的部署time.sqlite也可以为一个产品的功能测试也起同样的作用
三。与关系型数据库,SQLite的一些缺点:

1。c/s应用程序:

如果你有多个客户端需要访问数据库中的数据在同一时间,特别是,它们之间的业务数据需要通过网络传输完成。在这种情况下,不应选择SQLite。因为SQLite的数据管理机制是操作系统的文件系统的依赖性更强,它在这个操作低效率。
2。数据量很大:

文件系统仅限于操作系统,在处理大量数据时效率很低,大量数据的存储甚至无法提供支持。
三.高并发:

因为SQLite只提供粗粒度的数据锁,如读写锁,大量的数据将被锁定在每个锁操作,即使只有一小部分的数据将不可访问。换句话说,我们可以认为SQLite只提供一个表级锁,没有行级锁提供。该同步机制、并发性能难以有效。
四。个性化功能:

1。零配置

SQLite本身不需要任何初始化配置文件,也没有安装卸载的过程。当然,没有服务器实例的启动和停止。在使用过程中,不需要创建用户和分配权限。在系统灾难的情况下,如电源问题,主机问题,等等,不需要做任何操作,SQLite。
2。没有独立的服务器:

不同于其他的关系型数据库,SQLite没有客户端程序访问和提供相关服务的一个单独的服务器进程。作为一个嵌入式数据库,SQLite运行在相同的进程空间作为主程序,因此它们之间的通信是完全的内部进程通信,而且比进程间通信效率更高。然而,特别是,对保障不力的问题存在的结构,在实际操作中,如在这个时候,那崩溃的过程中的应用问题,由于在相同的进程空间中SQLite过程的依赖,那么SQLite将退出。但对于独立的服务器进程,他们不会有这样的问题,和他们将在紧张地做他们的工作环境。
三.单磁盘文件:

SQLite数据库是存储在一个单一的文件系统的磁盘文件,它可以在任何允许的时间复制。主要的好处是便于携带和共享。其他数据库引擎基本存储数据库在磁盘的目录,并形成一套基于文件目录中的数据库文件。虽然我们可以直接访问这些文件,我们的程序不能运行,只有数据库实例的过程中可以做的好处是更高的。安全性和更好的性能,而且成本安装和维护复杂的成本。
4。平台独立性:

这一点已解释过。与SQLite,许多数据库引擎无法直接备份数据通过备份数据。它们只能通过数据库系统提供的各种转储和还原工具将数据库中的数据导出到本地文件,然后加载到目标数据库中,这样就存在明显的效率问题。首先,我们需要导出到另一个文件。如果数据量大,出口的过程将time-consuming.however,这只是工作的一小部分,因为数据导入往往需要更多的时间,需要处理大量数据的验证当进口。存储时,它不是简单的顺序存储。相反,根据数据结构、算法和策略,数据需要存储在不同的文件位置,因此与数据库文件的直接拷贝相比,性能非常差。
5。弱势类型

不像大多数的数据库,支持静态类型,在SQLite数据类型作为价值的一个属性。因此,对于一个数据表中的列,即使申报表给出了该列的类型,我们还可以插入任何类型时,插入数据,例如,整数列存储在的string'hello ',这一特征中唯一的例外是整型主键列。在这种情况下,我们只能在列中存储整数数据。
6。SQL语句编译成虚拟机代码:

许多数据库产品将解析SQL语句到复杂的,嵌套的数据结构,然后将它们发送给执行器来遍历数据结构完成指定的操作。相比之下,SQLite的SQL语句会编译成字节码,然后执行它自己的虚拟机。这种方法提供了更好的性能和更好的调试能力。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部