顯示具有 SQLite 標籤的文章。 顯示所有文章
顯示具有 SQLite 標籤的文章。 顯示所有文章

2012年10月25日 星期四

SQLite Concurrency

SQLite 本身自稱在 concurrency 方面只有有限度的支援
有關 SQLite 如何處理 Lock 和 Concurrency,可以參考 SQLite 官方文件 [1]。
大體上可以理解為 SQLite 的上鎖機制很像是 Java 的 ReadWriteLock
亦即對同一個 SQLite 資料庫而言,允許多個程序同時讀取,但最多只允許一個程序進行寫入
寫入期間就是使用一般的 exclusive lock 將整個資料庫鎖住。
這大概也就是為什麼 SQLite 官方說他們只支援 1 transaction 吧。

2012年8月20日 星期一

在 Java 中使用 SQLite Database

SQLite Database 是輕量級的關聯式資料庫
在過去要使用關聯式資料庫,都必須架設像是 MySQL、SQL Server 等等的大型資料庫系統
對於某些會被拿來拿去的移動式程式來說相當不合用
雖然有微軟的 Access 可以達到移動式資料庫的目的,但是 Access 本身並沒有索引的設計
效率不佳,能夠承受的同時使用人數也很少~
現在有了 SQLite Database,相對於 Access 提昇了不少效能
但在 Java 中並沒有內建 SQLite 的 JDBC driver,而 SQLite 官方也沒有提供
因此網路上可以找到很多各自發展的 SQLite JDBC driver。
這裡使用的 driver 是 Xerial 的 JDBC driver [1]
使用原因...看起來他更新比較頻繁,而且用的人好像比較多 XD