http://www.microsoft.com/taiwan/msdn/columns/200303netappintro.htm
http://www.ares.com.tw/gb/communicate/Magazine/22/three-tier.htm
http://www.infolight.com.tw/journal/index_view.asp?no=41&filepath=/journal/file/BOOK5.htm
1. 傳統的 1-Tier
以前 DBF 系統就是將資料庫放於 Local(單機上),如我們用 DBASE 或 Clipper 透過Use / Append / Replace / Delete / Seek…等指令去存取DBF檔案,您寫的程式是在 Local 上執行,並呼叫 Local 上的 DBASE 或 Clipper LIB(或 DLL)去存取這些 DBF 的資料,整個過程都在同一個 Local PC 上執行,我們可以叫它 One-Tier,它的最大缺點就是在於只能單機使用 。
2. LAN 的 1-Tier
Novell 及 Windows 可以將DBF置於 File Server 上,所以進入了Multi-User 時代,此時,DBF 讓多個 PC 可以共用資料(可讀可寫),確實帶來便利性。但在 DBASE 或 Clipper 的PRG 還是在 PC 端執行(程式可以放在File Server上,但 Run 是在 PC 上),所以 PC 端只是去網路 Open DBF 資料,讀寫都是在 PC 端去完成的,這個架構只是 DBF 的共用,File Server 並沒有任何事情做,所以還是在 One-Tier 上作業,所以此架構的問題就在於資料一多就造成速度上的瓶頸,尤其是資料的穩定度常因 PC 當機造成嚴重的毀損。
3. DataBase Server 的 2-Tier
2-Tier 就是 Client/Server 的架構,Client 就是 PC 或終端機,Server 就是 Database Server,約十五年前,IBM發展 DB2 與 Client/Server 開啟了大門,此後如雨後春筍,Informix/Sybase/Oracle/MS-SQL相繼崛起,從此 RDBMS(Relation DataBase Management System)已經成為資料庫的共同標準。
所謂 DataBase Server,就是專門處理資料庫的主機,處理資料庫的方法是採用一種大家標準的語言-SQL,這種語言已經成為發展資料庫的共同標準(如 ANSI-92 標準),就是無論您使用哪種資料庫,您都可以使用相同的 SQL 語言即可以存取資料庫。所有的 PC 或Client都必須以 SQL 來下達給 Database Server,並由 DataBase Server 全權處理。所以Client/Server 是一種分工的模式,由 Client 來提出申請,由Server來完成資料存取的目的,如此即可以將資料安全集中於 DataBase Server 上,不必像 DBF 分散到 PC 上存取,容易亂掉與損毀(尤其是 Index 檔案),資料的穩定度相對提高,處理大量資料的速度也相對提升(DBF 資料一大,速度就是慢),C/S 架構確實提升不少速度與品質。
4.Application Server 的 Three-Tier
其實 2-TIER 已經解決了不少資料庫的問題,但面臨大型系統,C/S會因為Connection數量(使用者的聯機數)的暴增而造成Database Server無法負荷,通常一個 Application Connection 只要到達 30 到 50 個 User 就會造成 DB Server 疲於奔命,速度與效能將有顯著的改變;另一個問題就是當資料庫的資料很大時,Client/Server 通常會依 SQL 命令將大量數據傳回 Client,往往造成網路與 Server 的瓶頸;再者就是維護的問題,大型的系統有很多很大的 Client 程式,分散到各個 Client 上,每當有程式版本異動時,都必須大費周章的將Client 程式換掉,再加上目前整個 A/P 的全球發展趨勢就是 Thin-Client(瘦小的 Client),並讓 Client 能自動維護或不必維護的效果,3-Tier 的架構與相關技術也就因運而生了。