➤ 以 DSL 實作多租戶資料隔離與安全查詢架構
✤ https://trigger.dev/blog/how-trql-works
在多租戶架構下開放 SQL 查詢權限是一項極具風險的工程挑戰。Trigger.dev 透過開發專屬的查詢語言「TRQL」(Trigger Query Language)解決了此問題。TRQL 並非單純轉發原始 SQL,而是透過 ANTLR 產生器建立一套嚴格的語法規則,從根源上排除了危險操作(如刪除或修改資料)。此外,該系統在編譯階段自動注入租戶隔離濾器與時間範圍限制,確保用戶僅能存取自有數據,同時將複雜的底層資料庫架構轉譯為使用者友善的語意。這種「編譯時強制執行」的設計,完美平衡了資料存取的彈性與系統安全性。
+ 這套方法非常聰明,避開了傳統 SQL 過濾器容易出錯的盲點,直接用 parser 語言限制語法結構,真的比單純的 API 安全檢查可靠多了。
+ 學習了。特別是在 schem
#技術架構 #資料庫安全 #多租戶系統 #ClickHouse #DSL 開發






