<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          初識(shí)ClickHouse——安裝與入門

          共 4848字,需瀏覽 10分鐘

           ·

          2021-01-15 19:11

          前言:?

          久聞 ClickHouse 大名,一直沒有去詳細(xì)了解。近期看了下 ClickHouse 相關(guān)文檔,決定安裝體驗(yàn)下。想了解 ClickHouse 的小伙伴可以一起跟著學(xué)習(xí)哦。本篇文章主要介紹 ClickHouse 安裝方法及基礎(chǔ)知識(shí)。


          ? 1. ClickHouse 簡(jiǎn)介


          ClickHouse 是一個(gè)用于聯(lián)機(jī)分析 (OLAP) 的列式數(shù)據(jù)庫管理系統(tǒng) (DBMS). 由俄羅斯搜索引擎巨頭 Yandex 開源. 主要用于數(shù)據(jù)分析領(lǐng)域, 目前國(guó)內(nèi)社區(qū)火熱, 各個(gè)大廠紛紛跟進(jìn)大規(guī)模用于 OLAP 領(lǐng)域。


          一起來看下 ClickHouse 官網(wǎng)怎么介紹它的一些特性:


          • 快速:ClickHouse會(huì)充分利用所有可用的硬件,以盡可能快地處理每個(gè)查詢。單個(gè)查詢的峰值處理性能超過每秒 2 TB(解壓縮后,僅使用的列)。在分布式設(shè)置中,讀取是在健康副本之間自動(dòng)平衡的,以避免增加延遲。

          • 容錯(cuò):ClickHouse支持多主機(jī)異步復(fù)制,并且可以跨多個(gè)數(shù)據(jù)中心進(jìn)行部署。所有節(jié)點(diǎn)都相等,這可以避免出現(xiàn)單點(diǎn)故障。單個(gè)節(jié)點(diǎn)或整個(gè)數(shù)據(jù)中心的停機(jī)時(shí)間不會(huì)影響系統(tǒng)的讀寫可用性。

          • 可伸縮:ClickHouse可以在垂直和水平方向上很好地縮放。ClickHouse易于調(diào)整以在具有數(shù)百或數(shù)千個(gè)節(jié)點(diǎn)的群集上或在單個(gè)服務(wù)器上,甚至在小型虛擬機(jī)上執(zhí)行。當(dāng)前,每個(gè)單節(jié)點(diǎn)安裝的數(shù)據(jù)量超過數(shù)萬億行或數(shù)百兆兆字節(jié)。

          • 易用:ClickHouse簡(jiǎn)單易用,開箱即用。它簡(jiǎn)化了所有數(shù)據(jù)處理:將所有結(jié)構(gòu)化數(shù)據(jù)吸收到系統(tǒng)中,并且立即可用于構(gòu)建報(bào)告。SQL允許表達(dá)期望的結(jié)果,而無需涉及某些DBMS中可以找到的任何自定義非標(biāo)準(zhǔn)API。

          ? 2. ClickHouse 安裝教程


          ClickHouse 可以在任何具有 x86_64 ,AArch64 或 PowerPC64LE CPU 架構(gòu)的 Linux ,F(xiàn)reeBSD 或 Mac OS X 上運(yùn)行。貌似不能在 Windows 系統(tǒng)下安裝,不過 ClickHouse 同樣支持 Docker 部署,Windows 系統(tǒng)可以在 Docker 下安裝 ClickHouse 。


          根據(jù)官方文檔推薦:Debian 或 Ubuntu 系統(tǒng)可以使用官方預(yù)編譯的 deb 軟件包來安裝,CentOS 、RedHat 等Linux發(fā)行版可以使用官方預(yù)編譯的 rpm 包 來安裝,如果您的操作系統(tǒng)不支持安裝 deb 或 rpm 包,也可以使用 tgz 軟件包或直接源碼編譯安裝。下面我們以 CentOS 系統(tǒng)為例,以 rpm 方式來安裝下 ClickHouse。


          #?查看系統(tǒng)版本
          [root@localhost?~]#?more?/etc/redhat-release?
          CentOS?Linux?release?7.6.1810?(Core)?

          #?檢測(cè)當(dāng)前CPU是否支持SSE?4.2
          [root@localhost?~]#?grep?-q?sse4_2?/proc/cpuinfo?&&?echo?"SSE?4.2?supported"?||?echo?"SSE?4.2?not?supported"
          SSE?4.2?supported

          #?添加官方存儲(chǔ)庫
          sudo?yum?install?yum-utils
          sudo?rpm?--import?https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
          sudo?yum-config-manager?--add-repo?https://repo.clickhouse.tech/rpm/stable/x86_64

          #?安裝clickhouse
          sudo?yum?install?clickhouse-server?clickhouse-client

          #?啟動(dòng)clickhouse
          sudo?/etc/init.d/clickhouse-server?start

          #?進(jìn)入clickhouse客戶端
          root@localhost?~]#?clickhouse-client
          ClickHouse?client?version?20.12.5.14?(official?build).
          Connecting?to?localhost:9000?as?user?default.
          Connected?to?ClickHouse?server?version?20.12.5?revision?54442.

          localhost?:)?select?1;

          SELECT?1

          Query?id:?42f5e589-2f81-44e2-9fb8-de45e682acfc

          ┌─1─┐
          │?1?│
          └───┘

          1?rows?in?set.?Elapsed:?0.002?sec.?

          localhost?:)?select?now();

          SELECT?now()

          Query?id:?c4c867a9-ae0e-4d6c-bb19-057e96cf6624

          ┌───────────────now()─┐
          │?2021-01-13?10:19:14?│
          └─────────────────────┘

          1?rows?in?set.?Elapsed:?0.004?sec.?

          ? 3. ClickHouse 簡(jiǎn)單操作


          ClickHouse 支持有限的 SQL 操作,SQL 語法和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫有相似之處。下面簡(jiǎn)單介紹下 ClickHouse 基礎(chǔ)語法:


          #?1.創(chuàng)建數(shù)據(jù)庫
          #?語法:
          CREATE?DATABASE?[IF?NOT?EXISTS]?db_name?[ON?CLUSTER?cluster]?[ENGINE?=?engine(...)]
          #?示例:
          [root@localhost?~]#?clickhouse-client?????
          ClickHouse?client?version?20.12.5.14?(official?build).
          Connecting?to?localhost:9000?as?user?default.
          Connected?to?ClickHouse?server?version?20.12.5?revision?54442.

          localhost?:)?create?database?test;

          CREATE?DATABASE?test

          Query?id:?c17cbf32-ab8c-45a0-8ebb-a7b0bdb88efe

          Ok.

          0?rows?in?set.?Elapsed:?0.015?sec.?

          localhost?:)?use?test;

          USE?test

          Query?id:?4eeadf20-e8bc-4b84-a953-71cf16e133b6

          Ok.

          0?rows?in?set.?Elapsed:?0.001?sec.

          #?2.創(chuàng)建表
          #?語法:
          CREATE?TABLE?[IF?NOT?EXISTS]?[db.]table_name?[ON?CLUSTER?cluster]
          (
          ????name1?[type1]?[DEFAULT|MATERIALIZED|ALIAS?expr1]?[compression_codec]?[TTL?expr1],
          ????name2?[type2]?[DEFAULT|MATERIALIZED|ALIAS?expr2]?[compression_codec]?[TTL?expr2],
          ????...
          )?ENGINE?=?engine
          #?示例:
          root@localhost?~]#?clickhouse-client
          ClickHouse?client?version?20.12.5.14?(official?build).
          Connecting?to?localhost:9000?as?user?default.
          Connected?to?ClickHouse?server?version?20.12.5?revision?54442.

          localhost?:)?use?test;

          USE?test

          Query?id:?37248a4f-36ec-4ed3-a08a-c345db228c98

          Ok.

          0?rows?in?set.?Elapsed:?0.001?sec.?

          localhost?:)?create?table?t1?(id?Int32,name?String)?engine=TinyLog;

          CREATE?TABLE?t1
          (
          ????`id`?Int32,
          ????`name`?String
          )
          ENGINE?=?TinyLog

          Query?id:?8296c170-72fa-4852-8447-ab548fa3b7b8

          Ok.

          0?rows?in?set.?Elapsed:?0.230?sec.?

          localhost?:)?show?tables;

          SHOW?TABLES

          Query?id:?7da8d2d5-e4ed-45f1-b96c-4d23924512ba

          ┌─name─┐
          │?t1???│
          └──────┘

          1?rows?in?set.?Elapsed:?0.007?sec.?

          # TinyLog是最簡(jiǎn)單的表的引擎,用于將數(shù)據(jù)存儲(chǔ)在磁盤上。常用于小表。

          #?3.插入數(shù)據(jù)
          #?示例:
          [root@localhost?~]#?clickhouse-client
          ClickHouse?client?version?20.12.5.14?(official?build).
          Connecting?to?localhost:9000?as?user?default.
          Connected?to?ClickHouse?server?version?20.12.5?revision?54442.

          localhost?:)?use?test;

          USE?test

          Query?id:?71a1de2a-17fe-4a0b-b9b6-7e934016892e

          Ok.

          0?rows?in?set.?Elapsed:?0.001?sec.?

          localhost?:)?insert?into?t1?(id,?name)?values?(1,?'abc'),?(2,?'bbbb'),(3,'sdfg');

          INSERT?INTO?t1?(id,?name)?VALUES

          Query?id:?d4982851-8b52-4158-949f-fa94cd7d8ff3

          Ok.

          3?rows?in?set.?Elapsed:?0.002?sec.?

          localhost?:)?select?*?from?t1;

          SELECT?*
          FROM?t1

          Query?id:?b73f366c-702e-4bda-b519-cb087754bbad

          ┌─id─┬─name─┐
          │??1?│?abc??│
          │??2?│?bbbb?│
          │??3?│?sdfg?│
          └────┴──────┘

          3?rows?in?set.?Elapsed:?0.002?sec.?


          雖然 SQL 語法和關(guān)系型數(shù)據(jù)庫有相似之處,但還是要摒棄已有的思維來學(xué)習(xí) ClickHouse 。特別是數(shù)據(jù)類型、表引擎及其他特性,這些都是陌生的,學(xué)習(xí)下來還是有難度的。


          參考:?


          • https://clickhouse.tech/docs/zh/

          • https://www.cnblogs.com/zhoujinyi/p/12625655.html


          推薦閱讀


          (點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)

          年底了,你的數(shù)據(jù)庫密碼安全嗎

          MySQL字符集修改實(shí)戰(zhàn)教程

          又忘記密碼啦?教你幾種更改密碼的方式

          - End -

          動(dòng)動(dòng)手指轉(zhuǎn)發(fā)、在看
          是對(duì)我最大的鼓勵(lì)

          瀏覽 149
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91天堂网 | 青青草原夫妇在线观看视频网站 | 91人妻人人人 | 韩国三级在线视频网址 | 超碰c|