Clickhouse 原始碼架構

2021-10-10 05:15:25 字數 702 閱讀 1490

原始碼版本:v20.1

這篇文章主要是從整體上看一下整個專案包含哪些主要模組,明確每個模組的作用,為後續針對性的深挖打個基礎。

access:許可權控制

aggregatefunctions & functions & tablefunctions:聚合函式、普通函式、表函式的定義

client & server: 客戶端和服務端 

columns:記憶體中儲存資料列

common:

compression:資料壓縮

core:核心模組,包括block、field、columnwithnameandtype、row定義,sql標準、db引擎、db設定等等

datastreams:輸入輸出流

datatypes:資料型別定義

databases:資料庫,包含資料庫中的操作如表迭代器、庫資訊等等

dictionaries:

disks:磁碟讀寫

formats:

io:interpreters:語句的翻譯和執行

parsers:語句解析,構造ast,遍歷ast元素

processors:query執行計畫

storages:儲存管理,如分布式表資料分發、mergetree分布式儲存模組等等

ClickHouse原始碼分析 SQL解析

clickhouse的sql解析入口函式 parsequery,函式原型 astptr parsequery iparser parser,const char begin,const char end,const std string query description,size t max qu...

Openstack Glance原始碼架構解析

這段時間搗鼓了一下glance源 還是有收穫的,修改了部分 實現了支援多個ceph儲存後端的功能。這個功能是不是個偽需求都還待定,反正也就當磨練了。關於支援多個ceph儲存後端的功能,稍微說一下 需要實現的功能就是在命令中行上傳映象,通過指定集群將映象上傳到不同ceph集群中。在通過nova建立虛擬...

Tomcat原始碼分析 架構

下面談談我對tomcat架構的理解 總體架構 面向元件架構 基於jmx 事件偵聽 1 面向元件架構 tomcat 看似很龐大,但從結構上看卻很清晰和簡單,它主要由一堆元件組成,如server service connector等,並基於jmx管理這些元件,另外實現以上介面的元件也實現了代表生存期的介...