SQLite学习手册_中文全本.pdfVIP

  • 92
  • 0
  • 约8.26万字
  • 约 46页
  • 2015-10-18 发布于上海
  • 举报
SQLite学习手册 by @_Nicky SQLite学习手册 内容收集自网络 整理: zhoushuangsheng@ 新浪微博:@_Nicky 开篇 一、简介: SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL) ,如 BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征, 如标准SQL语法、事务、数据表和索引等。事实上,尽管SQLite拥有诸多关系型数据库的基 本特征,然而由于应用场景的不同,它们之间并没有更多的可比性。 下面我们将列举一下SQLite的主要特征: 1. 管理简单,甚至可以认为无需管理。 2. 操作方便,SQLite生成的数据库文件可以在各个平台无缝移植。 3. 可以非常方便的以多种形式嵌入到其他应用程序中,如静态库、动态库等。 4. 易于维护。 综上所述,SQLite的主要优势在于灵巧、快速和可靠性高。SQLite的设计者们为了达到这一 目标,在功能上作出了很多关键性的取舍,与此同时,也失去了一些对RDBMS关键性功能的 支持,如高并发、细粒度访问控制(如行级锁)、丰富的内置函数、存储过程和复杂的SQL语句 等。正是因为这些功能的牺牲才换来了简单,而简单又换来了高效性和高可靠性。 二、SQLite的主要优点: 1. 一致性的文件格式: 在SQLite的官方文档中是这样解释的,我们不要将SQLite与Oracle或PostgreSQL去比较,而 是应该将它看做fopen和fwrite。与我们自定义格式的数据文件相比,SQLite不仅提供了很好的 移植性,如大端小端、32/64位等平台相关问题,而且还提供了数据访问的高效性,如基于某 些信息建立索引,从而提高访问或排序该类数据的性能,SQLite提供的事务功能,也是在操 作普通文件时无法有效保证的。 2. 在嵌入式或移动设备上的应用: 由于SQLite在运行时占用的资源较少,而且无需任何管理开销,因此对于PDA、智能手机等 移动设备来说,SQLite的优势毋庸置疑。 1 SQLite学习手册 by @_Nicky 3. 内部数据库: 在有些应用场景中,我们需要为插入到数据库服务器中的数据进行数据过滤或数据清理,以保 证最终插入到数据库服务器中的数据有效性。有的时候,数据是否有效,不能通过单一一条记 录来进行判断,而是需要和之前一小段时间的历史数据进行特殊的计算,再通过计算的结果判 断当前的数据是否合法。在这种应用中,我们可以用SQLite缓冲这部分历史数据。还有一种 简单的场景也适用于SQLite ,即统计数据的预计算。比如我们正在运行数据实时采集的服务 程序,我们可能需要将每10秒的数据汇总后,形成每小时的统计数据,该统计数据可以极大 的减少用户查询时的数据量,从而大幅提高前端程序的查询效率。在这种应用中,我们可以将 1小时内的采集数据均缓存在SQLite中,在达到整点时,计算缓存数据后清空该数据。 4. 数据分析: 可以充分利用SQLite提供SQL特征,完成简单的数据统计分析的功能。这一点是CSV文件无 法比拟的。 5. 产品Demo和测试: 在需要给客户进行Demo时,可以使用SQLite作为我们的后台数据库,和其他关系型数据库相 比,使用SQLite减少了大量的系统部署时间。对于产品的功能性测试而言,SQLite也可以起 到相同的作用。 三、和RDBMS相比SQLite的一些劣势: 1. C/S应用: 如果你有多个客户端需要同时访问数据库中的数据,特别是他们之间的数据操作是需要通过网 络传输来完成的。在这种情况下,不应该选择SQLite。由于SQLite的数据管理机制更多的依 赖于OS的文件系统,因此在这种操作下其效率较低。 2

文档评论(0)

1亿VIP精品文档

相关文档