网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Database > SQLite > 文章  
开放源码嵌入式数据库 SQLite 简介
文章来源: DeveloperWorks中国 文章作者: Nils-Erik Frantzell 发布时间: 2007-02-19   字体: [ ]  
 

  使用 SQLite 和数据库抽象层

  两个先进的开源数据库抽象层对 SQLite 提供支持:PEAR::DB,它们包含在 PHP V5 中,并且被认为是更轻量级的 ezSQL。通过预先使用 PHP 扩展和应用程序库 (PEAR) 或 ezSQL,可将 SQLite 用于应用程序的快速复原,在以后需要时,可以将其无缝转向更具工业性质的数据库。

  清单 8. 使用 ezSQL 和 SQLite

$users = $db->get_results("SELECT name, age FROM table1");
foreach ( $users as $user )
{
  echo $user->name;
  echo $user->age;
}  

  城中另一个游戏

  SQLite 不是惟一的开源嵌入式数据库引擎。如果 SQLite 不能满足您的要求,请使用 Derby(是 Apache 孵化器项目)和 Cloudscape(IBM 公司的 Derby 商业版本,包括 IBM 支持和服务)。Cloudscape 于 1996 年诞生于 Cloudscape 公司。三年以后,Informix 软件公司并购了 Cloudscape,2001 年,IBM 并购了 Informix 软件公司的数据库资产,其中包括 Cloudscape。去年,IBM 将此代码像 “Derby”一样作为孵化器项目献给了 Apache Software Foundation。

  Derby 是100 % 的 Java 编程语言关系数据库,并提供了存储过程和触发器,行级锁定,可以执行事务提交和回退操作,并支持加密。

  最近,Zend 公司为 IBM 发布了 Zend Core,该软件可以看作是基于 PHP V5 的解决方案,其中包括用于 Cloudscape 的 PHP 扩展和绑定的 Cloudscape 数据库服务器。

  SQLite 使用注意事项

  在确定是否在应用程序中使用 SQLite 之前,应该考虑以下几种情况:

  • 目前没有可用于 SQLite 的网络服务器。从应用程序运行位于其他计算机上的 SQLite 的惟一方法是从网络共享运行。这样会导致一些问题,像 UNIX® 和 Windows® 网络共享都存在文件锁定问题。还有由于与访问网络共享相关的延迟而带来的性能下降问题。
  • SQLite 只提供数据库级的锁定。虽然有一些增加并发的技巧,但是,如果应用程序需要的是表级别或行级别的锁定,那么 DBMS 能够更好地满足您的需求。
  • 正如前面提到的,SQLite 可以支持每天大约 100,00 次点击率的 Web 站点 —— 并且,在某些情况下,可以处理 10 倍于此的通信量。对于具有高通信量或需要支持庞大浏览人数的 Web 站点来说,应该考虑使用 DBMS。
  • SQLite 没有用户帐户概念,而是根据文件系统确定所有数据库的权限。这会使强制执行存储配额发生困难,强制执行用户许可变得不可能。
  • SQLite 支持多数(但不是全部)的 SQL92 标准。不受支持的一些功能包括完全触发器支持和可写视图。请参阅 unimplemented SQL92 features

  如果您感到其中的任何限制会影响您的应用程序,那么您应该考虑使用完善的 DBMS。如果您可以解除这些限制问题,并且对快速灵活的嵌入式开源数据库引擎很感兴趣,则应重点考虑使用 SQLite。

  一些能够真正表现 SQLite 优越性能的领域是 Web 站点,可以使用 SQLite 管理应用程序数据、快速应用程序原型制造和培训工具。

  结束语

  由于资源占用少、性能良好和零管理成本,嵌入式数据库有了它的用武之地,它将为那些以前无法提供用作持久数据的后端的数据库的应用程序提供了高效的性能。现在,没有必要使用文本文件来实现持久存储。SQLite 之类的嵌入式数据库的易于使用性可以加快应用程序的开发,并使得小型应用程序能够完全支持复杂的 SQL。这一点对于对于小型设备空间的应用程序来说尤其重要。

  嵌入式数据库对于加快应用程序开发也很重要,尤其是在用于数据库抽象层(例如 PEAR::DBezSQL)时。最后,SQLite 正在积极开发中,未来一定会有新的功能,会对开源社区更有用。

  参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文
  • 请访问 SQLite,以下载最新版本的 SQLite、命令行界面、文档和最新消息。
  • 下载 SQLiteManager,使 SQLite 数据库管理更方便。
  • PHP.net 下载包括 SQLite 的 PHP V5。
  • 请参阅 developerWorks 上的文章“ 审计 PHP,第 1 部分: 理解 register_globals”,了解开发人员创建 PHP 应用程序时需要牢记的一些基本问题。
  • PHP 简介”是对 PHP 脚本语言的一个简要介绍,并讨论了 PHP 的起源、功能及其使用的平台。
  • PHP 例解,第 1 部分”是系列文章中第一部分,它介绍了 PHP 的一些基础知识。描述了包括作者页和前端的 Webzine,在作者页中,内容提供者可以输入文章的正文,前端用于将这些内容介绍给全世界的读者。
  • 学习 PHP,第 1 部分” 是由三个部分组成的文章列系中的第 1 部分,通过记录文档工作流系统的构建过程,全面介绍 PHP,从文件系统的最基本的 PHP 脚本,到使用数据库和流。
  • 可以从 The PHP Extension and Application Repository 获得 PEAR::DB 数据库抽象层。
  • 请访问 jvmultimedia,下载 ezSQL 数据库抽象层。
  • 请购买 Chris Newman 撰写的 SQLite 一书,该书主要介绍了开源的嵌入式数据库。
  • 了解关于 Apache 孵化项目 DerbyIBM Cloudscape 的更多信息。
  • 请下载包括 Cloudscape 的 combined PHP V5 binary distribution
  • 请参阅 developerWorks 的 开源专区,了解更多的 how-to 信息、工具和项目更新,帮助您使用开源技术进行开发,并将这些技术用于 IBM 的产品中。
  • 使用 IBM 试用软件 改进您的下一个开源开发项目,可以通过下载或从 DVD 中获得这些软件。
  • 通过参与 developerWorks blogs 加入 developerWorks 社区。

  关于作者

  Nils-Erik Frantzell 是一名位于圣克鲁斯的加州大学的大学四年级学生。他的兴趣包括数据库(尤其是内部数据库)、信息管理、Web 技术以及一些计算机硬件。他的业余爱好是饲养热带鱼和欣赏电子音乐。

  (参考链接: http://www-128.ibm.com/developerworks/cn/opensource/os-sqlite/)

 
推荐文章
·ucLinux下sqlite数据库移植全攻
 
 
共4页: 上一页 [1] [2] [3] 4 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·SQLite简介
·ucLinux下sqlite数据库
·SQLite数据库安全
相关文章
·SQLite简介
·ucLinux下sqlite数据库
·SQLite数据库安全
·MySQL(MyODBC/ByteFx),
·Oracle数据库用VPD来确
·关于数据库权限管理的对
·Oracle数据库中保护每一
·深入探讨嵌入式系统与移
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统