有一回,我看到某位在教 DDD (domain-driven design) 的老師寫到類似的內容,他開的事件溯源的課程,學員上完課之後,跟他表示,「老師,這個事件溯源,好像不知道要如何應用?」
類似的故事還有其它的,我曾經在某社服務過,也曾問過那邊的同事,他們是否曾經應用過事件溯源 (event sourcing) 。我的同事回答:「有,但是那個專案後來慘敗,還有人生氣就把工作辭了。」
奇怪,怎麼「事件溯源」我用起來就好好的,一點困難也沒有?
大家可能以為我要告訴你們,我是什麼 10x 工程師,不是,我是跟大家講,我的秘訣是直接使用一個內建事件溯源的資料庫:Datomic
大多數的思想領袖都曾經被認為是異端邪說。 -- Alan Weiss (Million Dollar Consulting 作者) 我是 IT 顧問,通常在...
事件溯源 (event sourcing) 是一種保存應用程式狀態的方法:不同於傳統的 RDBMS 資料庫只儲存表格當下的狀態,事件溯源則是將每個對應用程式造成...
之前,我跟朋友介紹 Datomic 時,有一些朋友會在第一時間反問: 你講的這個資料庫是 SQL 還是 noSQL ? 我通常是這樣子回答: 不是 SQL...
鎖與隔離的問題 SQL 資料庫的寫入,必須要加上鎖 (lock) 才能確保一致性。 參考下方的示意圖,A 與 B 是兩條執行緒,如果它們同時對同一筆資料做更新的...
多年前,有一本 Martin Fowler 寫的書,NoSQL Distilled,它將 NoSQL 資料分成四大類別: 鍵值資料庫 文件資料庫 欄式資料庫...
對資料庫有點經驗的讀者應該會心想:「資料庫有這麼多的細節,還是先看看 Datalog 語言如何吧?如果看起來沒有什麼道理而且很難寫,還要花時間繼續研究下去嗎?」...
在 part 1 裡,有舉出一個 Datalog 查詢的例子: [:find ?title :where [_ :movie/title ?title]]...
之前在解釋基本查詢的運作時,提到了 用 [?e :person/name "Ridley Scott"] 這個條件比對整個資料庫的內容,:...
使用 SQL 資料庫時,我們有時候會需要用到參數化查詢,比方說,為了阻擋 SQL injection 的時候。下方是一段 Postgres 的範例: 準備 S...
之前我們討論過,傳遞單一參數進入查詢的作法了,但是,有時候我們需要傳遞進入查詢的資料並非單一變數,而是陣列 (array)、甚至是數組 (tuple) 的陣列。...