易截截图软件、单文件、免安装、纯绿色、仅160KB

sqlite想到一些事2

sqlite是不错的内存数据库,内存数据库是处理大量并发数据的优先选择。但有些大量数据的并发并不是数据处理本身的问题,例如逻辑上必须有先后次序的数据是并发速度不能解决的问题。抛开这些问题一个简单大容量的解决方案是用一个内存数据库做前端一个硬盘数据库做后端,内存数据库定期把数据同步到后端的硬盘数据库。这个方案有个问题就是如何同步,同步分为两种一种是更新合并,一种是直接复制。更新合并是指把更改过的数据提交到后端数据库进行合并,直接复制指无论是否更改都把整个数据库的数据同步过来。处理这两种方式的办法是不同的,更新合并可以记录更改数据的指令简单的可以记录更改的表,复杂的可以记录更改的列甚至项。第一种方式只要简单的匹配sql指令后一种方式需要模拟运行。在某一时间点上把更改过的表更新到备份数据库上。直接复制就是无论表项是否更改都更新到备份数据库。sqlite有个看起来是个问题的问题,就是不能线程安全的插入和更新。这个问题sqlite在linux系统上解决的是满好的使用的是硬盘分区的锁可以和sqlite页缓冲系统完美的结合在一起。不过要是拿sqlite当内存数据库脱离硬盘的文件系统恐怕就要自己想办法解决多线程问题。才用软件锁解决线程安全是一个伪命题。用一个软件标示锁住库或表或表项,都会存在一个问题。无论锁在哪访问数据都变成了,询问锁再读取数据的两个步骤。极端的情况下对一个数据的访问由原来的一次操作变成了两次操作查询和插入。如果查询不成功那么要对插入指令排序,这个指令的排序当然要先进先出而不能是争用的。sqlite内存数据库很迷人最大的优点是平衡的读取和写入的在硬盘数据库上的差距。


相关文档:

sqlite全文查询配置到使用全过程

      SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比 ......

SQLite简介

1、SQLite简介
  SQLite第一个Alpha版本诞生于2000年5月. 至今已经有4个年头了. SQLite也迎来了一个版本 SQLite 3已经发布.
 
 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资
源非常的低,在嵌入式设备中,可能只需要 ......

C#与Sqlite数据库操作实例

这是一个有关分页的实例,仅供参考(代码来自网络)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SQLite;
using System.Threading;
using System.Collections;
us ......

sqlite的学习笔记转载

前序:
Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。
这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号