一、clickhouse資料庫發展歷史
clickhouse是俄羅斯yandex在2023年6月15日開源的資料庫,是列式儲存,該資料庫效能極高,查詢效率極快,較其他同類資料庫速度提公升100-1000倍。
二、clickhouse的特點
uint8,uint16,uint32,uint64,int8,int16,int32,int64
固定長度的整數,帶或不帶標誌。
float32, float64
浮點數就像c語言中的「float」和「double」一樣。與標準sql相比,浮點數支援「inf」,「-inf」,甚至是「nan」。請參閱「order by子句」中有關排序nans的注釋。我們不建議在**中儲存浮點數。
字串任意長度的字串。長度不限。該值可以包含任意位元組集,包括空位元組。string型別替換了其他dbms型別的varchar,blob,clob和其他型別。
四、clickhouse集群建表語句
drop
table
ifexists cluster_rpt.dws_sales_d on cluster cluster_name ;
;create
table cluster_rpt.dws_sales_d on cluster cluster_name
( event_date date
,year_week uint32
,week_day uint32
,pay_year uint32
,month_of_year uint32
,day_of_month uint32
,day_of_year uint32
,operation_type string
,region_en string
,channel_id string
,channel_name string
,channel_details_name string
,category_id string
,category_cn string
,dept_id string
,division string
,manager string
,order_num uint32
,merchsals decimal(30
,4),gmv decimal(30
,4),cost_without_tax decimal(30
,4),origin_m decimal(30
,4),online_m decimal(30
,4),offline_m decimal(30
,4),opearation_m decimal(30
,4),upd_ts date
)engine
= replicatedmergetree(
'/clickhouse//cluster_rpt/dws_sales_d/',''
)partition
by toyyyymm(event_date)
-- 分割槽字段(按月分割槽)
order
by(event_date, year_week, week_day, operation_type, region_en, channel_id, category_id, dept_id)
--主鍵字段
settings index_granularity =
8192
;
五、增刪改查語句
5.1增
插入語句
語法:
insert
into
[db.
]table
[(c1, c2, c3)
]values
(v11, v12, v13)
,(v21, v22, v23),.
..eg:insert
into cluster_rpt.dws_sales_d (event_date ,year_week ,week_day ,
)values
('2020-02-02',20
,2),
('2020-02-01',20
,3)
增加一列字段
語法:
addcolumn[if
notexists
] name [
type
][default_expr]
[codec]
[after name_after]
eg:alter
table ads_dnp_m_test add
column browser string after sc_store_nbr
5.2刪
根據條件刪除資料:
alter
table dws_sales_d on cluster cluster_name delete
where event_date=
'202006'
根據分割槽刪除資料
alter
table dws_sales_d on cluster cluster_name drop
partition
202006
刪除一列字段
語法:
drop
column[if
exists
] column_name
eg:alter
table dws_sales_d drop
column browser
5.3改
修改字段
語法:
modify
column[if
exists
] name [
type
][default_expr]
[ttl]
eg:alter
table dws_sales_d modify
column browser array(string)
5.4查
六、登入集群
在一台伺服器上登入集群其他節點
[username@tstc500053b
~]$ clickhouse-client -m --host tstc500053c
喀秋莎資料庫 ClickHouse
換句話說,與行相關的所有值都物理地儲存在彼此旁邊。面向行的dbms的示例是mysql,postgres和ms sql server。在面向列的dbms中,資料儲存如下 這些示例僅顯示資料的排列順序。不同列的值分別儲存,同一列的資料儲存在一起。面向列的dbms的示例 vertica,paraccel ...
Clickhouse資料庫引擎
clickhouse支援的表引擎官網只給了三種 ordinary mysql lazy,clickhouse原理解析與應用實踐 一書中給了五種 ordinary dictionary memory mysql lazy 建立資料庫指定資料庫引擎語法 create database x engine ...
clickhouse 列式儲存資料庫介紹
clickhouse介紹 俄羅斯最大的搜尋公司yandex,在clickhouse的配置檔案中我們也會看到yandex的影子。相對行式資料庫,像mysql oracle sqlserver等都是行式儲存,是把同一行的資料放到相鄰同一資料塊種,而列式儲存是把同一列的資料放到相鄰同一資料塊種,這樣在進行...