SQLite是一種經典的無伺服器Serverless
大多數SQL資料庫引擎都是以單獨的伺服器程式提供外部訪問,外部客戶端想要訪問資料庫,就需要與伺服器程式通訊(通常是TCP / IP),這樣可以將請求傳送到伺服器並接收回資料庫伺服器處理的結果。SQLite卻無法以這種方式工作。使用SQLite,如果想要訪問資料庫,只能直接從磁碟上的資料庫檔案讀取和寫入。SQLite沒有伺服器程式。
無伺服器具有優點和缺點。
主要優點是無需安裝、設定、配置、初始化、管理單獨伺服器程式。這就是SQLite是“ 零配置 ”資料庫引擎的原因之一。使用SQLite的程式在執行之前不需要任何管理支援即可設定資料庫引擎。任何能夠訪問磁碟的程式都可以使用SQLite資料庫。
另一方面缺點是:使用伺服器程式的資料庫引擎能夠提供更好的保護,以防止客戶端應用程式中的錯誤-客戶端中的雜散指標就無法破壞伺服器上的記憶體。而且由於伺服器是單個永續性程式,因此它能夠更精確地控制資料庫訪問,從而實現更細粒度的鎖定和更好的併發性。
大多數SQL資料庫引擎都是基於客戶端/伺服器的。在無伺服器的資料庫中,SQLite是唯一已知的一種,它允許多個應用程式同時訪問同一資料庫。
經典的無伺服器與新無伺服器
近來,人們開始使用“無伺服器”一詞來表示與本文件中的預期含義略有不同的內容。這是“無伺服器”的兩個可能的定義:
- 經典無伺服器: 資料庫引擎在與應用程式相同的程式、執行緒和地址空間中執行。沒有訊息傳遞或網路活動。
- Neo-Serverless新無伺服器: 資料庫引擎在與應用程式不同的名稱空間中執行,可能在另一臺計算機上,但是資料庫由託管提供程式作為交鑰匙服務提供,不需要應用程式所有者進行管理或管理,並且如此易於使用,以至於開發人員可以認為資料庫確實是無伺服器的,即使它確實在後臺使用了伺服器。
SQLite是經典的無伺服器資料庫引擎的示例。使用SQLite,沒有其他程式,執行緒,機器或其他機制(主機OS和檔案系統除外)可以幫助提供資料庫服務或實現。確實沒有伺服器。
Microsoft Azure Cosmo DB 和 Amazon S3 是新的無伺服器資料庫的示例。這些資料庫由在雲中單獨執行的伺服器程式實現。但是伺服器是由ISP而非應用程式開發人員維護和管理的。應用程式開發人員僅使用該服務。開發人員不必設定,配置或管理資料庫伺服器例項,因為所有這些工作都是由服務提供商自動處理的。資料庫伺服器實際上確實存在,它們只是對開發人員隱藏。
瞭解“無伺服器”的這兩種不同定義很重要。當資料庫聲稱是“無伺服器”時,請確保辨別它們是“經典無伺服器”還是“新無伺服器”。
相關文章
- Serverless 是一種思想狀態Server
- 什麼是Serverless無伺服器架構?Server伺服器架構
- InfoGAN:一種無監督生成方法 | 經典論文復現
- 無伺服器Serverless是在經濟利益驅動下發明模式架構? -Grady伺服器Server模式架構
- 無伺服器Serverless總結伺服器Server
- 併發程式設計中一種經典的分而治之的思想!!程式設計
- Serverless無伺服器架構詳解Server伺服器架構
- 幾種經典的排序演算法排序演算法
- 幾種經典密碼(classic cipher)密碼
- 天下無賊經典臺詞IT版
- 無伺服器是一種學說,而不是技術 - PaulDJohnston伺服器
- 一個bug造就的經典遊戲....遊戲
- WHEN的“經典”誤譯之一
- Azure Functions(一)什麼是 ServerLessFunctionServer
- Akka推出Serverless PaaS無伺服器雲平臺 - thenewstackServer伺服器
- 無伺服器Serverless將變革工作流BPM伺服器Server
- 無伺服器(ServerLess)PaaS—Rainbond宣佈開源伺服器ServerAI
- JDBC連線各種資料庫的方法(經典)JDBC資料庫
- 經典遊戲伺服器端架構概述遊戲伺服器架構
- 無伺服器的又一個里程碑,看亞馬遜雲科技 Serverless 的創新演進伺服器亞馬遜Server
- Laravel資料庫測試的另一種方案-SQLiteLaravel資料庫SQLite
- Serverless:這真的是未來嗎?(一)Server
- 機器學習10種經典演算法的Python實現機器學習演算法Python
- C# 讀取EXCEL檔案的三種經典方法C#Excel
- 訊息佇列的七種經典應用場景佇列
- 一些經典DOS命令
- fragment一些經典用法Fragment
- 不朽經典,無我程式設計的十大戒律程式設計
- 什麼是SQLiteSQLite
- 只要一行程式碼,實現五種 CSS 經典佈局行程CSS
- 第四篇:一對經典的時間獲取客戶/伺服器程式伺服器
- Swift實現八種經典排序演算法Swift排序演算法
- Python 機器學習 HMM模型三種經典問題Python機器學習HMM模型
- 突然意識自己曾經引以為豪的程式設計其實是一種工具,這是一種悲哀嗎?程式設計
- 70個經典面試問題,有備無患~面試
- 經過自己多次除錯之後的成功,那種喜悅是無法取代的。除錯
- 經典的反轉
- [Hacker News 週報] GitHub Action 教程;在 serverless 中使用 SQLiteGithubServerSQLite