sqlite,mysql,access對比


SQLite是一個小型的桌面型數據庫,輕量級的,綠色、開源、輕便。

SQLite其實只是一個文件,以及內部格式方案而已。下面做幾個簡單的對比:

SQLite VS 文本文件或二進制文件:
他們的本質是相同的,都是一個文件。但是SQLite定義了更加復雜的內部結構。而我們一般寫程序進行的文本文件讀寫,只是把它當成了一種文本的存放對象。而二進制文件,或者記錄文件,則是當成了某種單一的數據類型的存放而已。如果把文本或二進制文件擴展開來,可以同時存放多種數據,並規定好相應的協議、規則,那么就是SQLite的雛形。

SQLite VS Access:
他們都是單文件的,也都不需要額外的數據庫服務器進行控制。但是Access作為微軟的產品,有官方的管理平台Access軟件,同時在Windows里面也內置了對其進行訪問的API。而SQLite則是非官方的。另外,Access還和VBA捆綁在了一起,形成了全套的開發平台,你要是願意,甚至可以在Access里面折騰出一套MIS來,當然很不好用。而SQLite則是純粹的數據存儲。另外,文檔方面,Access的文檔簡直是神秘得不得了,做了這么多年編程,一直沒有找到Access的完整的文檔,只是零零碎碎的積累了一點點,而且好多還是多次調試才試探出來的。而SQLite則是有公開的文本,並且支持SQL92。SQLite相比Access,還有一個好處就是管理平台也是輕量級綠色的,不需要去安裝Office軟件那么麻煩。

SQLite VS mysql:
二者都是開源的,也都是號稱輕量級數據庫。但是SQLite是文件型的數據庫,只要一個文件,就可以走遍天下;而mysql需要安裝相應的服務器軟件,並且需要掛載。然后SQLite只是一個文件,而mysql則是一個文件夾下的一組文件。

至於其他的數據庫產品,接觸的不多,就不比較了。反正個人覺得這個是一個輕量級開發的好東西,尤其適合我這樣的開發人員。因為應用環境的限制,我的產品需要輕量級、綠色、高效率、易管理等等特性,畢竟不是人人都能安裝SQL Server,而其他一些數據庫又不怎么合適。

下一步的開發,可能慢慢不再使用Access,而是逐步轉移到SQLite上面來。

不過呢,Access還是有一個優勢的,那就是和SQL Server之間的互轉換性能比較好,如果更換數據庫,代碼變更量比較小。而SQLite在這一點上就不行了。而我的產品,有時還是要考慮SQL Server的,畢竟有些應用的數據量還是挺大的……

mysql需要安裝
sqlite不需要

 

大部分的小系統都是用Access數據庫,有的系統為了掩蓋數據庫的類型,把數據文件后綴名改了,其實只要改回到mdb,用Access打開,數據一目了然,其實Access數據庫本身有很多的問題:性能不行;數據不安全,用戶可以直接用Access打開數據庫文件進行數據修改,即使加密后都可以直接破解;Access的數據量一大,文件本身的體積就異常龐大;Access數據庫文件很容易損壞,我做的一個系統由於意外斷電老是當掉,用戶的數據幾經摧毀。 為了彌補Access的缺陷,我曾經用MySQL數據庫代替,但MySQL是網絡數據庫,安裝起來比較復雜。后來在用Python做項目的時候發現了SQLite,真是相見恨晚,SQLite就是Access理想的替代品啊!

SQLite是一個小型的C程序庫,實現了獨立的,可嵌入的,零配置的SQL數據庫引擎。特性包括:

  • 事務操作是原子,一致,孤立,並且持久的(ACID),即使在系統崩潰和電源故障之后。
  • 零配置——不需要安裝和管理。
  • 實現了絕大多數SQL92標准。
  • 整個數據庫存儲在一個單一的文件中。
  • 數據庫文件可以在不同字節序的機器之間自由地共享。
  • 支持最大可達2T的數據庫。 (241 字節)
  • 字符串和BLOB類型的大小最大可達 2G 字節(231字節)。
  • 小的代碼: 完整配置的少於250KB,忽略一些可選特性的少於150KB。
  • 在大多數常見操作上比流行的客戶/服務器數據庫引擎更快。
  • 簡單,易於使用的API。
  • 內建TCL綁定。 另外提供可用於許多其他語言的綁定。
  • 具有良好注釋的源代碼,95%經過測試。
  • 獨立:沒有外部依賴。
  • 源代碼位於公共域。 可用於任何用途。

SQLite用的非常廣泛,Web應用也都在用它,PHP5都內置了SQLite的擴展,所以SQLite是桌面輕量級數據庫的首選。除了Access和SQLite外,還有Firebird等數據庫,我覺得SQLite足夠小系統使用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM