孜孜不倦的程序员:SQLite 内幕
2010-09-08 00:00:00 来源:WEB开发网为了与本刊主题保持一致,现在应该回过头来介绍一下 SQL 和关系数据库本质方面的内容。 很自然地,我们似乎应该写一些有关 SQL Server 的内容,即有关它的新功能集或性能改进之类的内容,但这并不是我的风格。 请不要误解我的意思,SQL Server 是一种优秀的大型数据库,因而强烈建议在那些“巨无霸式”企业级方案中使用它,但用一位朋友的话说,并不是每个问题都需要借助“航母级的集中式数据库”来解决。
事实上,开发人员长期以来使用关系数据库仅仅是将其作为“存放内容以备下次使用”的位置,诸如配置选项、用户设置、国际化值这样的内容。 虽然有时将这些内容存放在集中式 SQL Server 实例十分方便,但在某些情况下,具体来说是在富客户端方案(特别是 Microsoft Silverlight 或 Windows Phone 7 富客户端方案)中,保持与 SQL Server 实例的固定连接并非切实可行的,通常就是根本无法实现。
开发人员不一定需要放弃关系数据库的强大功能和灵活性,但即使是 SQL Server Express 有时安装规模也过大。 那我们应该怎么办?
当然是轻装上阵:准确的说,是使用 SQLite。
SQLite 简介
SQLite 的网站 (sqlite.org) 对它进行了如下描述:“SQLite 是一个可实现独立、无服务器、零配置、事务性 SQL 数据库引擎的软件库”。这句话中的关键要素都围绕着“库”这一名词。与使用客户端程序集向服务器发送请求以供分析和执行的 SQL Server 不同的是,SQLite 完全驻留在客户端进程中,这使之成为一种“嵌入式”数据库。 在使用期间,SQLite 数据库的运行空间是一个存储在客户端文件系统的某一位置中的单个文件,并且安装空间通常也相当小。
赞助商链接