原始碼版本: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管理這些元件,另外實現以上介面的元件也實現了代表生存期的介...