我想使用Postgres作爲web api存儲後端。我當然需要(至少一些)粘合代碼來實現我的REST接口(和/或WebSocket)。我想兩個選項:在使用非常薄的中間層來處理REST/WebSocket的一部分存儲過程與中間層的業務邏輯
大部分業務邏輯的實現存儲過程,PL/SQL。
中間層實現了大部分業務邏輯,並通過它的抽象數據庫接口到達Pg。
我的問題是什麼是上述設計的相互比較有關的靈活性,可擴展性,可維護性和可用性可能帶來的好處/障礙?我真的不關心確切的中間層實現(它可以是php,node.js,python或其他),我對實際建築設計選擇的好處和缺陷感興趣。
我知道我選擇(1)會失去一些靈活性,因爲將系統移植到其他oracle可能很困難,並且我的用戶將被綁定到postgres。在我看來,這並不重要,數據庫無論如何都是系統的一個組成部分。
我特別感興趣的是在選擇(2)的情況下丟失的好處,以及這兩種情況可能存在的缺陷。
參考另一個線程此: https://stackoverflow.com/questions/1171769/when-should-i-use-stored-procedures – Vibha