SQLite简介和资源–嵌入式数据库系统

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


SQLite是嵌入在编程库中的关系数据库管理系统(RDBMS),与其他流行的数据库系统不同,它不是客户端服务器数据库引擎,并且没有单独的服务器进程.

SQLite源代码在公共领域中分发,可以免费用于商业和私人目的.

这些事实使SQLite作为嵌入式数据库软件解决方案成为非常受欢迎的选择。 SQLite是当今部署最广泛的数据库引擎,被无数的应用程序和平台使用.

历史简介

SQLite最初由D理查德·希普(D Richard Hipp)在国防工业巨头通用动力(General Dynamics)任职期间于2000年春季设计。当时,希普正在为美国海军制导导弹驱逐舰进行软件设计.

SQLite开发的主要目标是允许应用程序在不安装数据库管理系统的情况下运行,也不需要数据库管理员将数据库嵌入到使用该数据库的应用程序中.

SQLite 1.0版于2000年8月发布,其存储基于GNU数据库管理器(gdbm)格式。 2.0版引入了自定义B树存储实现而不是gdbm,并增加了事务处理功能。 SQLite 3.0版引入了清单类型和国际化功能,以及许多其他改进.

SQLite功能和设计

由于SQLite库是使用它的应用程序的组成部分,因此该应用程序使用简单的函数调用与SQLite通信,从而减少了延迟。整个数据库作为单个跨平台文件存储在主机上.

这种设计方法所需的配置少于客户端服务器数据库,因此SQLite也称为零配置。.

多个进程或线程可以同时访问数据库,并且多个读取请求可以并行处理。仅当没有其他请求得到服务时,才可以授予对数据库的写访问权限。此限制来自以下事实:SQLite使用文件系统权限并锁定访问控制,因此它在写入过程中锁定了整个数据库。 SQLite 3.7版引入了预写日志记录(WAL),以允许并发读取和写入。这些事实意味着SQLite不适合写密集型部署和任务.

SQLite实现了大多数SQL-92标准,并使用PostgreSQL作为参考平台。 SQLite支持复杂的查询,但是它对ALTER TABLE函数的支持有限,因为它无法修改或删除列.

SQLite还使用其他类型的系统,这对于SQL兼容的数据库系统是不常见的。像在大多数SQL数据库系统中一样,不必将类型声明为列,而是将类型分配给各个值。 SQLite是弱类型的,例如,您可以将字符串值插入整数列。此功能使SQLite更加灵活,但同时也遭到批评,因为它缺少其他SQL DBM中的静态类型列提供的数据完整性功能。.

即使在系统崩溃或断电之后,SQLite中的事务也是一致且持久的。 SQLite支持兆字节大小的数据库以及千兆字节大小的字符串和Blob,同时保留完整配置的小于500 KB的较小代码占用空间。 SQLite具有简单易用的自包含API,没有外部依赖关系.

SQLite是一种跨平台的解决方案,可用于多种平台和编程语言,例如:Android,BSD,iOS,Linux,Mac,Solaris,VxWorks,Windows和C,C#,C ++,Clipper,Curl,Elixir,F#,Haskell, Java,JavaScript,Objective-C,OCaml,Perl,PHP,Python,Ruby,Scheme,Smalltalk,Swift等。将SQLite移植到其他系统也很容易,因为它是用ANSI-C编写的,相对容易编译.

使用SQLite

由于有效利用内存和存储空间,SQLite是手机,平板电脑,MP3播放器,机顶盒和其他嵌入式设备中数据库引擎的流行选择。.

SQLite的另一个流行用法是用作应用程序文件格式。开发人员通常不使用专有文件格式来存储来自应用程序的信息,而是使用SQLite数据库。这种做法节省了时间和精力,因为它避免了对自定义文件解析器的创建和故障排除,并且可以在不同平台上轻松访问数据.

由于SQLite不需要进行配置并将数据存储在普通磁盘文件中,因此它通常也被用作中小型网站的数据库.

使用SQLite的一些应用程序包括Google Chrome,Opera,Safari和Android浏览器,Mozilla Firefox和Thunderbird,Skype,Adobe Lightroom和Adobe Reader等。.

可以从SQLite官方网站轻松获取和安装SQLite,因此可以尝试一下。如果您的工作包括某些描述的使用场景中的开发,则您迟早可能会需要SQLite,因为它仍然非常流行并且可以免费使用.

怎么样支持SQLite?

可通过公共邮件列表免费获得对SQLite的支持。您可以浏览邮件列表档案或注册为邮件列表成员.

还有其他更高级的支持选项,例如年度维护订阅(AMS)或技术支持协议,但它们不是免费的。您可以查看SQLite网站“专业支持”部分以获取更多详细信息。.

SQLite资源

由于SQLite非常流行并且具有众多应用程序,因此在线提供了许多SQLite资源。使用以下优质资源,学习SQLite应该不是问题:

  • SQLite官方文档非常详细,您可以在其中找到许多有用的文章和内容.
  • SQLiteTutorial.net网站是一个很棒的教程,涵盖了您通过广泛的动手实践需要了解的有关SQLite的所有信息.
  • 教程要点SQLite教程非常详细,涵盖了从SQLite安装到高级使用的所有内容。本教程将为您提供SQLite快速入门,并使您熟悉SQLite编程.
  • YouTube上的SQLite简介是Richard Hipp撰写的GoogleTechTalk。本讲座简要概述了SQLite,其历史,优缺点,并介绍了它比传统的客户端/服务器数据库有用得多的情况。.

SQLite书

关于SQLite的书籍也很受欢迎,并且您可以选择多种书名。我们建议先浏览免费的在线资源,因为它们确实很棒,并且您可能最终不需要一本书。如果您喜欢看书的感觉,我们列举了一些:

  • Mike Owens撰写的《 SQLite权威指南》(2006):这是第一本全面介绍流行的嵌入式开源数据库SQLite的书。这本书既是理想的指南,也是参考指南.
  • 使用Jay Kreibich撰写的SQLite(2010):使用SQLite,您将发现如何开发数据库支持的应用程序,该应用程序在大小和复杂性上仍可管理。有了这本书,您将获得数据建模的速成课程,熟悉SQLite的SQL数据库语言的方言等等。.

结论

总之,SQLite已被广泛使用,成熟,并且由于有大量免费的在线资源,因此可以相对轻松地掌握它。.

由于其设计背后的一般原则,它具有一些明显的局限性。但是,这有点像SQLite的全部内容–意味着精简和处理数据库需求而不会占用大量资源.

进一步阅读和资源

我们有更多与编码和开发有关的指南,教程和信息图:

  • SQL资源:我们的常规SQL资源,对所有关系数据库开发人员都至关重要.
  • MySQL简介和资源:另一个非常流行的数据库系统.
  • PostgreSQL简介和资源:SQLite本身是一种流行的数据库系统,部分基于它.

网页寄存终极指南

查阅我们的《虚拟主机终极指南》。它将解释您做出明智选择所需了解的所有内容.

网页寄存终极指南
网页寄存终极指南

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map