關聯式資料庫管理系統( Relational Database Management Systems, RDBMS)
SQLite 和 MySQL 都是一種 RDBMS,資料庫是一種以表格(Table)作為基礎的資料儲存系統,每個表格由許多的行(Column,也稱 Field)與列(Row,也稱 Reocrd)所組成。
對於未曾接觸的人來說,你可能會想 excel 也能夠儲存表格。但資料庫適合處理大量的資料,使得讀寫更加容易並且更安全。
SQLite 的優點及缺點
SQLite 如同它名稱中的 Lite,意指它在設定、管理和所需的資源方面都更加輕量。
SQLite 並非作為一個獨立的進程(Process)通過通信協議與應用程式連接,而是直接作為應用程式的一部份,這樣子的特色使它非常的快速及高效。
SQLite does not compete with client/server databases. SQLite competes with fopen().
SQLite 有些顯著的特色:自包含(self-contained)、無伺服器(serverless)、零配置(zero-configuration)、事務性(transactional)
優點
- 容易設定。基於無伺服器的特性,你非常的容易安裝且零配置。
- 可攜且跨平台。SQLite 是基於單一文件所組成且格式定義明確的資料庫,使得它的可攜性和跨平台性極佳,備份也極度方便(你只需要使用 cp )。
- 適合開發及測試。由於其自包含特性,在開發階段中你可以使用 SQLite 作為替代手段。
缺點
- 不提供網路訪問
- 不適用大型應用程式
- 缺少提升效能的手段
- 沒有用戶管理
應用場景
- 嵌入式設備及物聯網
- 作為磁碟文件的替代儲存格式
- 中低流量網站
- 資料分析。你能輕易地使用者種格式處理資料集,且輕易地將其分享給其他人使用。
- 資料緩存。許多場景中會將 SQLite 作為資料緩存的手段,避免了網路往返和中央資料庫伺服器的負載。
- 伺服器端資料庫。你可以使用 SQLite 作為伺服器端資料庫的底層儲存引擎。
- 開發或測試階段的替代及臨時方案
- 適合教育及培訓。輕易地設置性很適合用於 SQL 的教學引擎。
MySQL 的優點及缺點
MySQL 是最熱門的 RDBMS 之一,許多的網站及應用程式都使用它。你能使用 TCP / IP 協議來從資料庫接受或發送資料。
優點
- 功能豐富及強大。MySQL 支援絕大多數 RDBMS 都應有的功能。
- 用戶管理功能
- 內置許多安全功能
- 更精細的交易及鎖定( Transaction & Locking)
- 更好的並發性(Concurrency)
缺點
- 可攜性及跨平台性較差。
- 可靠性問題。MySQL 針對某些功能的實現,相較其他 RDBMS 缺少些可靠性。
- 開發速度放緩。儘管 MySQL 仍是開源的,但自從被收購以後開發進展已經緩慢。
應用場景
- Client/Serve 需通過網路連接資料庫的場景。SQLite 在網路文件系統的場景下有一定程度的延遲,且文件鎖定邏輯並不適用在許多網路文件系統的實現中,因此你應該考慮如 MySQL 這樣的 RDBMS。
- 需要多個客戶訪問及使用同一個資料庫
- 高流量網站
- 需要高度的資料寫入量。SQLite 受到了單個寫入的局限,因此寫入量表現較差。
- 更大規模的資料。如果你的資料增長到單個磁盤無法容入的大小,你應該考慮 MySQL 這類的 RDBMS,SQLite 僅支持最大 140 TB 的資料庫
沒有留言:
張貼留言