国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

政府網(wǎng)站建設(shè)發(fā)展指引軟文吧

政府網(wǎng)站建設(shè)發(fā)展指引,軟文吧,陜西省建設(shè)部官方網(wǎng)站,上海畔游網(wǎng)絡(luò)科技有限公司ClickHouse ClickHouse 屬于 OLAP 數(shù)據(jù)庫 OLTP 與 OLAP OLTP (On-Line Transaction Processing 聯(lián)機(jī)事務(wù)處理), 注重事務(wù)處理, 數(shù)據(jù)記錄的性能和安全性O(shè)LAP (On-Line Analytical Processing 聯(lián)機(jī)分析處理), 注重數(shù)據(jù)分析, 重點在查詢的性能 一般使用 OLTP 數(shù)據(jù)庫做業(yè)務(wù)數(shù)據(jù)…

ClickHouse

ClickHouse 屬于 OLAP 數(shù)據(jù)庫

OLTP 與 OLAP

  • OLTP (On-Line Transaction Processing 聯(lián)機(jī)事務(wù)處理), 注重事務(wù)處理, 數(shù)據(jù)記錄的性能和安全性
  • OLAP (On-Line Analytical Processing 聯(lián)機(jī)分析處理), 注重數(shù)據(jù)分析, 重點在查詢的性能

一般使用 OLTP 數(shù)據(jù)庫做業(yè)務(wù)數(shù)據(jù)存儲, 用 OLAP 數(shù)據(jù)庫做查詢分析.

ClickHouse 性能

  • 寫入性能很高, 基本能到磁盤讀寫瓶頸
  • 適合寬表查詢, 在JOIN查詢時, 關(guān)聯(lián)表需要控制在千萬級別以內(nèi)
  • 分布式場景下需要預(yù)先規(guī)劃容量, 對于持續(xù)擴(kuò)容需求的場景運維成本比較高
  • 支持全文搜索(inverted index, by n-gram or token), 具體討論可以看這個討論, 當(dāng)前還處于experimental
  • 僅支持有限的事務(wù), 保證INSERT過程的原子性, 包括寫入和讀取
  • 不支持 Windows. 雖然可以通過 WSL, Docker 之類運行在 Win10 上, 但是這樣的方式僅僅是"能運行", 性能已經(jīng)大打折扣, 沒有實用價值.

在需要復(fù)雜查詢的分布式場景, 可以考慮 Apache Doris.

安裝

硬件需求

  • 硬盤安裝需要2.5G空間
  • 內(nèi)存不小于4G, 推薦16G以上, 越大越好
  • SSD + RAID, 文件格式 Ext4, XFS
  • 集群部署, 建議使用10G(萬兆)網(wǎng)絡(luò)

Ubuntu 安裝

sudo apt-get install -y apt-transport-https ca-certificates dirmngr
# 在 /tmp 下創(chuàng)建臨時目錄
GNUPGHOME=$(mktemp -d)
echo $GNUPGHOME
# 生成 clickhouse-keyring.gpg
sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754
sudo rm -r "$GNUPGHOME"
sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg
# 創(chuàng)建 ck 的 apt list
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
# 更新軟件包
sudo apt-get update
# 安裝
sudo apt install -y clickhouse-server clickhouse-client

Centos7安裝

sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client

CK 文件結(jié)構(gòu)

  • 配置文件 /etc/clickhouse-server, config.xml 全局配置, users.xml 用戶配置
  • 存儲目錄 /var/lib/clickhouse
    • 路徑定義: /etc/clickhouse-server/config.xml <path>/var/lib/clickhouse/</path>, <tmp_path>/var/lib/clickhouse/tmp/</tmp_path>, <user_files_path>/var/lib/clickhouse/user_files/</user_files_path>
  • 日志路徑 /var/log/clickhouse-server/, clickhouse-server.err.log clickhouse-server.log

服務(wù)管理

啟動服務(wù)

sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server

服務(wù)IP和端口

默認(rèn)只偵聽本地請求, 打開服務(wù)端口, 編輯 /etc/clickhouse-server/config.xml

sudo chmod 600 /etc/clickhouse-server/config.xml
sudo vi /etc/clickhouse-server/config.xml

取消注釋, 同時服務(wù)IPv6和IPv4

<listen_host>::</listen_host>

如果只需要提供IPv4, 可以取消這一行注釋

<listen_host>0.0.0.0</listen_host>

這兩行不能同時取消注釋, 啟動會報錯

用戶管理

ClickHouse 的用戶分兩種

  • 直接配置在 /etc/clickhouse-server/user.xml 中的用戶, 例如 default
  • 在SQL中創(chuàng)建的用戶

這兩種用戶的登錄方式是一樣的

配置用戶口令

打開 /etc/clickhouse-server/user.xml 能看到設(shè)置用戶口令相關(guān)的說明, 默認(rèn)用戶 default 的口令為空

簡單的說就是

  • 明文口令直接用<password>qwerty</password>進(jìn)行設(shè)置
  • SHA256口令用<password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>
  • Double SHA1口令用<password_double_sha1_hex>e395796d6546b1b65db9d665cd43f0e858dd4303</password_double_sha1_hex>
  • LDAP驗證用<ldap><server>my_ldap_server</server></ldap>
  • Kerberos驗證用<kerberos><realm>EXAMPLE.COM</realm></kerberos>

相應(yīng)的口令生成命令

# SHA256
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
cY19OvVH                                                           <-- 口令
e17cd697e0845d75d2068ae1e1479d3fd10d76e5afa89724fbc6fe27554526e4   <-- SHA256結(jié)果# Double SHA1
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
1gQO8XpM                                       <-- 口令
e9fdf3480016dfae8ad0170e846edd031180a3f4       <-- Double SHA1結(jié)果

如果 Centos7 下沒有 xxd 命令, 需要通過以下命令安裝

sudo yum install vim-common

如果需要增加位數(shù)

PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
vlIlWHFqY0BbSy2f
e08ebd515246f1b5f3bfdb24b967a797b7218289b263ed0fbb3ff47fcc121f1b

如果需要自定義

PASSWORD=asdf1234; echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
asdf1234
dda7b4594264195da8bb303516d7ec5509b7b942 

通過 user.d 下的 xml 增加用戶

例如新增一個帶管理權(quán)限的用戶 dbowner, 可以在 /etc/clickhouse-server/user.d 下創(chuàng)建文件 dbowner.xml, 內(nèi)容為

<clickhouse><users><dbowner><password>abcd1234</password><networks><ip>::/0</ip></networks><profile>default</profile><quota>default</quota><access_management>1</access_management></dbowner></users>
</clickhouse>

上面這個配置

  • 用戶名為 dbowner
  • 口令為明文的 abcd1234
  • 網(wǎng)絡(luò)來源: 所有IPv6, IPv4 地址
  • 允許使用管理權(quán)限(通過 access_management = 1)

clickhouse啟動時, 會將 user.d 下的配置文件與 user.xml 合并, 并覆蓋 user.xml 中重復(fù)的部分. 注意這個文件的權(quán)限, 需要將這個文件的owner設(shè)為 clickhouse, 否則 clickhouse 啟動后讀取會失敗.

sudo chown clickhouse:clickhouse dbowner.xml

通過 SQL 增加用戶, 并配置權(quán)限

具體的用戶權(quán)限配置, 參考 ClickHouse 官方說明

https://clickhouse.com/docs/en/operations/access-rights

上面添加的 dbowner 用戶只開啟了 access_management, 默認(rèn)情況下 SQL-driven access control 和 account management都是關(guān)閉的, 如果要啟用完整的 SQL user mode, 要在<dbowner>下增加的配置為

<access_management>1</access_management>
<named_collection_control>1</named_collection_control>
<show_named_collections>1</show_named_collections>
<show_named_collections_secrets>1</show_named_collections_secrets>

在安裝 ClickHouse 的機(jī)器上, 使用上面創(chuàng)建的 dbowner 登入 client, 并創(chuàng)建一個新用戶 dbroot, 授予全部權(quán)限

$ clickhouse-client --user dbowner --password abcd1234:) CREATE USER dbroot IDENTIFIED BY 'root1234';
CREATE USER dbroot IDENTIFIED WITH sha256_hash BY '21AC41BC256B35A32EC2021D359AE5F297AD7ED2F8ED8F7A2A1A7B9F1F94F898' SALT '56DC39142C0AEB19BC2C61AACBD9F27DD040E25489CC29B76D07D65F6D2A3AA1'
Query id: d0099db9-b292-4905-84bd-a91da19f8edc
Ok.
0 rows in set. Elapsed: 0.005 sec. 

創(chuàng)建用戶成功, 但是授予權(quán)限時報錯了

:) GRANT ALL ON *.* TO dbroot WITH GRANT OPTION;
GRANT ALL ON *.* TO dbroot WITH GRANT OPTION
Query id: 92a50da8-d847-4f4f-a74c-95b9f1207a67
0 rows in set. Elapsed: 0.007 sec. Received exception from server (version 23.4.2):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: dbowner: Not enough privileges. To execute this query it's necessary to have grant SHOW, SELECT, INSERT, ALTER, CREATE, DROP, UNDROP TABLE, TRUNCATE, OPTIMIZE, BACKUP, KILL QUERY, KILL TRANSACTION, MOVE PARTITION BETWEEN SHARDS, ACCESS MANAGEMENT, NAMED COLLECTION CONTROL, SYSTEM, dictGet, INTROSPECTION, SOURCES ON *.* WITH GRANT OPTION. (ACCESS_DENIED)

給dbowner增加以下權(quán)限

<named_collection_control>1</named_collection_control>
<show_named_collections>1</show_named_collections>
<show_named_collections_secrets>1</show_named_collections_secrets>

重啟 ClickHouse 后再執(zhí)行, 就能授權(quán)成功

:) GRANT ALL ON *.* TO dbroot WITH GRANT OPTION;
GRANT ALL ON *.* TO dbroot WITH GRANT OPTION
Query id: f4eaa3ce-8182-4717-9270-ce2e95eb2b88
Ok.
0 rows in set. Elapsed: 0.004 sec. 

這時候, 就可以用 dbroot / root1234 登錄 ClickHouse 了

連接

使用 clickhouse-client

clickhouse-client --user [user] --password [password]

使用 Tabix

用Firefox訪問 http://dash.tabix.io, Chrome貌似不行, 會報 CORS 錯誤

填寫服務(wù)器地址, 默認(rèn)為 http://[server_ip]:8123, 用戶 default, 口令為空

使用 DBeaver

服務(wù)器地址, 默認(rèn)為 http://[server_ip]:8123, 用戶 default, 口令為空

常用管理命令

創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE my_db;

創(chuàng)建表

CREATE TABLE my_db.my_table (id UInt64, column1 String) ENGINE = MergeTree() ORDER BY id;

創(chuàng)建用戶

CREATE USER my_user IDENTIFIED BY 'password';

授予權(quán)限

# my_db下所有表的 ALTER 權(quán)限
GRANT ALTER ON my_db.* WITH GRANT OPTION;# my_db下my_table表的 ALTER 權(quán)限
GRANT ALTER ON my_db.my_table TO my_user;# 多個權(quán)限
GRANT SELECT, ALTER COLUMN ON my_db.my_table TO my_user WITH GRANT OPTION;

權(quán)限樹

├── ALTER (only for table and view)/
│   ├── ALTER TABLE/
│   │   ├── ALTER UPDATE
│   │   ├── ALTER DELETE
│   │   ├── ALTER COLUMN/
│   │   │   ├── ALTER ADD COLUMN
│   │   │   ├── ALTER DROP COLUMN
│   │   │   ├── ALTER MODIFY COLUMN
│   │   │   ├── ALTER COMMENT COLUMN
│   │   │   ├── ALTER CLEAR COLUMN
│   │   │   └── ALTER RENAME COLUMN
│   │   ├── ALTER INDEX/
│   │   │   ├── ALTER ORDER BY
│   │   │   ├── ALTER SAMPLE BY
│   │   │   ├── ALTER ADD INDEX
│   │   │   ├── ALTER DROP INDEX
│   │   │   ├── ALTER MATERIALIZE INDEX
│   │   │   └── ALTER CLEAR INDEX
│   │   ├── ALTER CONSTRAINT/
│   │   │   ├── ALTER ADD CONSTRAINT
│   │   │   └── ALTER DROP CONSTRAINT
│   │   ├── ALTER TTL/
│   │   │   └── ALTER MATERIALIZE TTL
│   │   ├── ALTER SETTINGS
│   │   ├── ALTER MOVE PARTITION
│   │   ├── ALTER FETCH PARTITION
│   │   └── ALTER FREEZE PARTITION
│   └── ALTER LIVE VIEW/
│       ├── ALTER LIVE VIEW REFRESH
│       └── ALTER LIVE VIEW MODIFY QUERY
├── ALTER DATABASE
├── ALTER USER
├── ALTER ROLE
├── ALTER QUOTA
├── ALTER [ROW] POLICY
└── ALTER [SETTINGS] PROFILE

查看權(quán)限

SHOW GRANTS FOR  my_user;

可以看下只開了access_management的 default 和完整權(quán)限的 dbroot 的權(quán)限差別

:) show grants for dbroot;
┌─GRANTS FOR dbroot────────────────────────────┐
│ GRANT ALL ON *.* TO dbroot WITH GRANT OPTION │
└──────────────────────────────────────────────┘:) show grants for default;
┌─GRANTS FOR default─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ GRANT SHOW, SELECT, INSERT, ALTER, CREATE, DROP, UNDROP TABLE, TRUNCATE, OPTIMIZE, BACKUP, KILL QUERY, KILL TRANSACTION, MOVE PARTITION BETWEEN SHARDS, SYSTEM, dictGet, INTROSPECTION, SOURCES, CLUSTER ON *.* TO default │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

取消權(quán)限

REVOKE ALTER COLUMN ON my_db.my_table FROM my_user;

相關(guān)鏈接

  • https://jishuin.proginn.com/p/763bfbd59c4b
  • https://zhuanlan.zhihu.com/p/421469439
  • https://www.tinybird.co/blog-posts/text-search-at-scale-with-clickhouse
  • https://clickhouse.com/blog/clickhouse-search-with-inverted-indices
http://m.aloenet.com.cn/news/45214.html

相關(guān)文章:

  • 怎樣用eclipse做網(wǎng)站品牌營銷推廣方案怎么做
  • 網(wǎng)站建設(shè)需要會西安seo外包行者seo
  • 溫州電子商務(wù)網(wǎng)站建設(shè)windows優(yōu)化大師有哪些功能
  • 做網(wǎng)站內(nèi)容來源百度收錄提交網(wǎng)站后多久收錄
  • 宜春網(wǎng)站建設(shè)公司聯(lián)系方式百度seo 站長工具
  • 沈陽百度首頁優(yōu)化安徽seo優(yōu)化規(guī)則
  • 哈爾濱cms網(wǎng)站建設(shè)廣州網(wǎng)站建設(shè)系統(tǒng)
  • 建設(shè)一個導(dǎo)航網(wǎng)站百度搜索怎么優(yōu)化
  • 添加網(wǎng)站到百度中國十大軟件外包公司
  • 網(wǎng)站logo怎么做透明網(wǎng)絡(luò)運營課程培訓(xùn)班
  • 貴州有網(wǎng)站的企業(yè)杭州seo推廣服務(wù)
  • 做網(wǎng)站推廣前途百度問答入口
  • 網(wǎng)頁版企業(yè)郵箱網(wǎng)絡(luò)優(yōu)化的流程
  • 什么網(wǎng)站免費建設(shè)全網(wǎng)網(wǎng)站快速排名推廣軟件
  • 做教育機(jī)構(gòu)網(wǎng)站百度收錄提交入口網(wǎng)址
  • 網(wǎng)站服務(wù)器維護(hù)今天nba新聞最新消息
  • 網(wǎng)站上線需要哪些步驟2345電腦版網(wǎng)址導(dǎo)航
  • 怎樣做自己的國外網(wǎng)站網(wǎng)站收錄免費咨詢
  • 如何在word上做網(wǎng)站網(wǎng)址房地產(chǎn)最新消息
  • 網(wǎng)絡(luò)公司網(wǎng)站建設(shè)彩鈴樣本軟文推廣文案范文
  • 廣州網(wǎng)站建設(shè) 廣州亦客網(wǎng)絡(luò)網(wǎng)絡(luò)推廣員工作好做嗎
  • 模版網(wǎng)站做支付功能小程序開發(fā)公司哪里強(qiáng)
  • 導(dǎo)購網(wǎng)站如何做淘寶客站長平臺網(wǎng)站
  • 做網(wǎng)站的域名怎么申請seo關(guān)鍵詞優(yōu)化的技巧和方法
  • 網(wǎng)站怎么做移動圖片大全學(xué)生個人網(wǎng)頁優(yōu)秀模板
  • dreamweaver網(wǎng)站制作步驟360收錄
  • 廣州商城網(wǎng)站建設(shè)公司湖南靠譜seo優(yōu)化
  • 沈陽模板 網(wǎng)站建設(shè)淘寶網(wǎng)店代運營正規(guī)公司
  • 軟文營銷的缺點沈陽關(guān)鍵詞快照優(yōu)化
  • 萬網(wǎng)個人網(wǎng)站備案查詢新聞投稿