在我目前的項目中,業務邏輯是在存儲過程(其中1000多個)中實現的,現在他們希望隨着業務的增長擴展業務邏輯。架構師決定將業務邏輯轉移到應用層(.net)以提高性能和可伸縮性。但他們不重新設計/重寫任何東西。簡而言之,從SP觸發的相同SQL查詢將使用ADO.Net從.net函數中觸發。這怎麼能產生任何表現?'將業務邏輯移至應用層'可以提高性能嗎?
據我所知,當我們需要數據庫獨立性時,我們需要將業務邏輯轉移到應用程序層,或者在OOP語言中可以比RDBMS引擎更好地實現一些業務邏輯(例如遍歷層次結構或一些圖像處理等)。在其他情況下,如果沒有複雜的業務邏輯來實現,我認爲最好是將業務邏輯保存在數據庫本身中,至少可以避免應用程序層和數據庫之間的網絡延遲。
請讓我知道您的意見。我是一位開發人員,稍微猶豫地看着一些架構決策,請原諒我對這個主題的無知。
你是說他們將存儲過程中的業務邏輯轉移到動態SQL中的業務邏輯? – RichardOD 2009-07-13 08:05:19
動態SQL?不,他們正在將它移動到.Net應用程序層。 – Faiz 2009-07-14 10:26:10