Postgresql

在什麼情況下需要使用 ClickHouseDb 等?

  • August 22, 2020

用於網站分析的開源 - https://github.com/plausible/analytics

他們使用 Postgresql 和 ClickHouseDb。

談到網路分析,需要跟踪大量事件。從數據庫的角度來看,為什麼在這個項目中使用 ClickHouseDb 是必要的?為什麼不能單獨使用關係數據庫 Postgresql 呢?

是的,ClickHouseDb 是專門為分析處理而創建的。但是,為什麼不能單獨使用Postgresql呢?Postgresql、MySql 等是否無法處理同時發生的大量插入?

Postgres 及其同類被編寫為通用 OLTP 數據庫伺服器。它可以同時處理多個插入和讀取嗎?是的,它可以,但它的飽和度比特定的專用分析引擎要低得多。Clickhouse 仍然是一個關係數據庫——它將其公共 API 呈現為預定義元組的表,並通過 SQL 進行互動——只是一個內部高度優化的數據庫,用於回答大型數據集上的聚合查詢。Postgres 可以回答相同的查詢,但需要更長的時間並且需要更多的磁碟、記憶體和 CPU。

一個很好的類比是汽車。Postgres 就像家用汽車。它可以舒適地將孩子、狗和所有裝備帶到野營旅行,而無需使用太多燃料,也無需花費太多購買或維護費用。根據型號的不同,它可以跑得更快或更慢,攜帶更多或更少的裝備,更省油或更口渴。但是,它不會贏得 F1 比賽。它也不會從採石場運出 12 噸礦石。它也沒有用於救護車工作的擔架和瓶裝氧氣。如果您的工作負載有這些需求,您可以與利基供應商交談以獲取非常具體的產品,該產品將完成一項工作並且做得非常好,並支付相應的購買和維護成本。

補充的問題是為什麼不專門使用 Clickhouse?這是因為該產品不適合 Postgres 擅長的混合隨機讀/寫工作負載。一個脫離 Clickhouse 的電子商務網站會很糟糕!

引用自:https://dba.stackexchange.com/questions/274151