GUI應用程式該以何種方式訪問資料庫?
一個GUI應用程式該以何種方式訪問資料庫更加合理呢?我想了幾種方式,還請大家發表自己的意見!
1. 象Jive一樣使用資料庫連線池,GUI程式初始化時建立一個資料庫連線池,以後GUI程式的所有的資料庫連線均從該連線池中得到。存在的問題:
(1) Client 數過多時,每個客戶端都維持幾個資料庫連線的話,會造成資料庫負擔過重。而且資料庫可用的連線數有一定的限制。當客戶端過多時會造成後來者無法取得連線。
(2) 連線池在初始化時需要資料庫使用者的username , password。這容易洩漏資料庫使用者的使用者名稱和密碼。不懷好意的人利用該資料庫使用者的身份破壞資料庫怎麼辦!
(3) 對資料庫的訪問不能進行統一的控制。
2. 在一臺伺服器上開啟一個資料庫訪問的伺服器端程式。GUI客戶端所有的資料庫訪問請求均發往此伺服器端程式,由該程式負責訪問資料庫,並將查詢結果返回給GUI客戶端。優點是便於對資料庫的訪問進行集中控制,日誌記錄等。存在的問題:
(1) 得不到Connection物件,只能傳送SQL語句。
(2) 書寫一個高效的,併發的, robust的伺服器端程式不是一件簡單的事。(原先寫過一個基於Socket 的伺服器端程式完成類似的功能,總感覺不太穩定,是否使用rmi會穩定點,而且rmi可以返回物件。我知道rmi也是基於socket的,但他的API經過了嚴格的測試,做了最佳化,應該穩定的多)。
1. 象Jive一樣使用資料庫連線池,GUI程式初始化時建立一個資料庫連線池,以後GUI程式的所有的資料庫連線均從該連線池中得到。存在的問題:
(1) Client 數過多時,每個客戶端都維持幾個資料庫連線的話,會造成資料庫負擔過重。而且資料庫可用的連線數有一定的限制。當客戶端過多時會造成後來者無法取得連線。
(2) 連線池在初始化時需要資料庫使用者的username , password。這容易洩漏資料庫使用者的使用者名稱和密碼。不懷好意的人利用該資料庫使用者的身份破壞資料庫怎麼辦!
(3) 對資料庫的訪問不能進行統一的控制。
2. 在一臺伺服器上開啟一個資料庫訪問的伺服器端程式。GUI客戶端所有的資料庫訪問請求均發往此伺服器端程式,由該程式負責訪問資料庫,並將查詢結果返回給GUI客戶端。優點是便於對資料庫的訪問進行集中控制,日誌記錄等。存在的問題:
(1) 得不到Connection物件,只能傳送SQL語句。
(2) 書寫一個高效的,併發的, robust的伺服器端程式不是一件簡單的事。(原先寫過一個基於Socket 的伺服器端程式完成類似的功能,總感覺不太穩定,是否使用rmi會穩定點,而且rmi可以返回物件。我知道rmi也是基於socket的,但他的API經過了嚴格的測試,做了最佳化,應該穩定的多)。
相關文章
- 資料庫訪問幾種方式對比資料庫
- jmeter 使用 ssh 方式訪問資料庫JMeter資料庫
- Spring框架訪問資料庫的兩種方式的小案例Spring框架資料庫
- 訪問資料庫的幾種方法資料庫
- 使用speedment以Java 8 Stream訪問資料庫Java資料庫
- 雲原生時代,資料庫該何去何從?資料庫
- 用perl訪問mysql資料庫(轉)MySql資料庫
- 用JDBC訪問一個資料庫JDBC資料庫
- Python訪問Oracle的兩種資料獲取方式PythonOracle
- 查詢出資料庫中預設會以全表掃描方式訪問的表資料庫
- Mybatis基於註解的方式訪問資料庫MyBatis資料庫
- 用JDBC訪問一個資料庫(轉)JDBC資料庫
- JDBC資料庫訪問JDBC資料庫
- 利用10046事件研究三種資料表訪問方式(上)事件
- 利用10046事件研究三種資料表訪問方式(下)事件
- iOS應用資料儲存的幾種常用方式iOS
- 量化回測到底應該用哪種復權資料
- 執行計劃-資料訪問方式(全表掃描與4種索引的方式)索引
- oracle 索引訪問的幾種方式Oracle索引
- Oracle資料庫訪問控制Oracle資料庫
- 異構資料庫訪問資料庫
- 用SQL Server 資料庫應該如何寫 ?? 謝謝!SQLServer資料庫
- SpringMVC訪問靜態資源的三種方式SpringMVC
- Java Spring中同時訪問多種不同資料庫JavaSpring資料庫
- jboss訪問資料庫的問題資料庫
- 何時以引用方式傳參
- 第50問:從連線判斷應用訪問資料庫的異常行為資料庫
- 隨著資料庫軟體的專門化發展,資料庫人員該何去何從?資料庫
- .NET Core應用程式的2種部署方式
- 啟動django應用報錯 “Error: [WinError 10013] 以一種訪問許可權不允許的方式做了一個訪問套接字的嘗試。”DjangoError訪問許可權
- 資料庫審計為何淪為殭屍級應用?資料庫
- 兩種啟動資料庫的方式資料庫
- JVM中物件訪問定位兩種方式JVM物件
- Rust GUI庫 egui 的簡單應用RustGUI
- 外網訪問MySQL資料庫MySql資料庫
- Oracle資料庫限制訪問IPOracle資料庫
- C#訪問MySQL資料庫C#MySql資料庫
- C#訪問SQLite資料庫C#SQLite資料庫