.Net輕松處理億級數據--clickhouse及可視化界面安裝介紹

前言
我是在17年就聽說過Clickhouse,那時還未接觸過億數據的運算,那時我在的小公司對于千萬數據的解決方案還停留在分庫分表,最好的也是使用mycat做的集群。這些解決方案都比較復雜,畢竟通常來說那些需要大量存儲的數據基本都是像日志,流水等不需要修改的數據,像客戶人員等需要經常維護的信息一般項目也就幾萬左右,在這些不是非常重要的數據上耗太多時間我個人是覺得有點浪費(但畢竟還是要的嘛),直到我到了新公司才重新拾起了對Clickhouse的學習,下面主要介紹下安裝以及下篇會介紹一些簡單的用法。
一、ClickHouse簡介?文檔地址

CH是由俄羅斯“熊哥”開源的一套用于聯機分析(OLAP)的列式數據庫管理系統(DBMS),它通過針對性的設計,力圖解決海量多維度數據的查詢性能問題。小白程序員輕松上手,安裝和操作就像mysql一樣簡單。

適用于:
  1. 大多數是讀請求

  2. 每次寫入大于1000行的數據(不適用于單條插入)

  3. 不修改已添加的數據

  4. 每次查詢都從數據庫中讀取大量的行,但是同時又僅需要少量的列

  5. 寬表,即每個表包含著大量的列

  6. 較少的查詢(通常每臺服務器每秒數百個查詢或更少)

  7. 對于簡單查詢,允許延遲大約50毫秒

  8. 列中的數據相對較小: 數字和短字符串(例如,每個URL 60個字節)

  9. 處理單個查詢時需要高吞吐量(每個服務器每秒高達數十億行)

  10. 事務不是必須的

  11. 對數據一致性要求低

  12. 每一個查詢除了一個大表外都很小

  13. 查詢結果明顯小于源數據,換句話說,數據被過濾或聚合后能夠被盛放在單臺服務器的內存中

應用場景

公交軌跡(我自己的應用場景
消費轉賬流水
日志記錄
天氣數據
......

二、ClickHouse安裝

安裝方式有多種(暫未支持windows上安裝),官方文檔上介紹的安裝方式感覺有點復雜,下面介紹一種較為簡單的安裝方式,通過rpm安裝包進行安裝,git地址:點擊跳轉
系統環境:CentOS 7.5
1、下載包需要curl支持,當前系統沒有的話需要先通過yum安裝一下

sudo yum install -y curl

2、下載安裝腳本

curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash

3、檢查clickhouse安裝包全不全

sudo yum list 'clickhouse*'Available Packages
clickhouse-client.x86_64                18.1.0-1.el7             Altinity_clickhouse
clickhouse-common-static.x86_64         18.1.0-1.el7             Altinity_clickhouse
clickhouse-compressor.x86_64            1.1.54336-3.el7          Altinity_clickhouse
clickhouse-debuginfo.x86_64             18.1.0-1.el7             Altinity_clickhouse
clickhouse-mysql.noarch                 0.0.20180319-1           Altinity_clickhouse
clickhouse-server.x86_64                18.1.0-1.el7             Altinity_clickhouse
clickhouse-server-common.x86_64         18.1.0-1.el7             Altinity_clickhouse
clickhouse-test.x86_64                  18.1.0-1.el7             Altinity_clickhouse

4、檢查沒問題的話開始安裝服務端和客戶端

sudo yum install -y clickhouse-server clickhouse-client

5、檢查安裝后的包全不全

sudo yum list installed 'clickhouse*'Installed Packages
clickhouse-client.x86_64                 18.1.0-1.el7           @Altinity_clickhouse
clickhouse-common-static.x86_64          18.1.0-1.el7           @Altinity_clickhouse
clickhouse-server.x86_64                 18.1.0-1.el7           @Altinity_clickhouse
clickhouse-server-common.x86_64          18.1.0-1.el7           @Altinity_clickhouse

6、安裝成功后首先運行服務端,默認會使用config.xml作為配置文件,也可以通過--config=xxx來指定配置文件

sudo service clickhouse-server start

7、客戶端運行,這里的命令啥的和mysql很像,一些命令語法都是差不多的,下面簡單試下

clickhouse-clientlocalhost :) show databases
SHOW DATABASES
┌─name────┐
│ default │
│ system  │
└─────────┘2 rows in set. Elapsed: 0.030 sec.

這時服務端會有響應信息

ClickHouse client version 18.1.0.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.1.54396.:)

三、可視化界面安裝,官方文檔有介紹很多種工具,這里介紹Tabix

上面介紹的操作方式都是在linux上進行操作的,結果什么都需要通過終端進行查看,很不方便,好在有第三方可視化Web界面工具Tabix

865861b68249ea92934fb1c4706b189f.png

Tabix使用安裝非常方便,有本地安裝和無安裝兩種方式
1、無安裝方式最簡單,直接打開官方提供的地址:點擊跳轉
fcededdb30481835f36164ed1e96dd29.png
在上面輸入你Clickhouse運行的地址、端口、登錄名、密碼等信息就好了。
2、本地安裝方式
本地需要web服務器,所以先安裝一個nginx,具體安裝不再細說,網上資料有很多,nginx配置

server {listen 80;server_name ui.tabix.io;charset        utf-8;root /var/www/tabix.ui/build;location / {if (!-f $request_filename) {rewrite ^(.*)$ /index.html last;}index  index.html index.htm;}
}

然后下載最新的安裝文件:點擊跳轉,并且解壓將build文件夾拷貝到nginx對應的目錄下,然后瀏覽運行看下效果,具體登錄操作和上面一樣。

四、擴充

集群的安裝可參考這篇文章:點擊跳轉
使用Prometheus進行系統的監控
使用Grafana監控數據庫的性能

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281734.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[USACO 4.2] 完美的牛欄

★★☆ 輸入文件:stall4.in 輸出文件:stall4.out 簡單對比 時間限制:1 s 內存限制:128 MB USACO/stall4(譯by Felicia Crazy)描述 農夫約翰上個星期剛剛建好了他的新牛棚,他使用了最新的擠奶技術。不幸的是&am…

003Java語言環境搭建

JRE,JDK JRE(Java Runtime Environment java運行環境):包括java虛擬機和java程序所需要的核心類庫, 如果要運行一個開發好的java程序,計算機中只需要安裝一個JRE JDK(Java Development Kit Java開發工具包) JDK是提供給…

php 編寫mysql,自己寫的MySQL類

自己寫的MySQL類---------- php debug ----------Serverlocalhost;DataBasemysql;UserIDroot;PassWord123456resource(5) of type (mysql result)Output completed (1 sec consumed) - Normal Terminationclass DBCLS{//debug 調試開關var $debug true;//debuginfo 錯誤信息&a…

NET CORE讀取Excel.xlsx單元格內的圖片,并關聯當前業務ID推送圖片到指定服務器...

NET CORE讀取Excel.xlsx單元格圖片的場景,一般是批量導入業務數據,例如:藥品的圖片,醫師資格證,商品上架、商家營業資質、水果信息、用戶頭像等等這里我截個圖,圖文并茂更好理解特別聲明:粘貼圖…

CSS或HTML如何實現文字下面加點?

就像word里文字加著重號一樣&#xff0c;在字的下面加一個點&#xff0c;用CSS怎么做&#xff1f;注意&#xff0c;我說的是下面加點&#xff0c;不是文字加粗或傾斜&#xff0c;請不要回答<strong>或<em>之類的。 把要著重加點的文字用<span></span>…

數據庫常見錯誤

錯誤&#xff1a; You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 12123123123.0123.0) at line 1 解決辦法&#xff1a; 檢查對應到您的MySQL服務器版本附近使用正確的語法手冊 數…

RocketMQ 5.0 大手筆,擁抱云原生,支持流處理,高可用架構升級!

大家好&#xff0c;我是君哥。RocketMQ 5.0 已經發布一段時間了&#xff0c;今天來分享一下 RocketMQ 5.0 有哪些新特性。1 架構變化RocketMQ 5.0 架構上的變化主要是為了更好的走向云原生。RocketMQ 4.x 架構如下&#xff1a;Broker 向 Name Server 注冊 Topic 路由信息&#…

php驗證碼顯示亂碼,如何解決php驗證碼亂碼問題

php驗證碼亂碼的解決辦法&#xff1a;1、修改訪問驗證碼生成方法函數的路徑&#xff1b;2、修改文件編碼&#xff0c;并去掉BOM頭&#xff1b;3、檢查驗證碼生成方法&#xff1b;4、修改服務環境。具體問題&#xff1a;php驗證碼輸出全是亂碼...<?php session_start();head…

中國HBase技術社區第五屆MeetUp ——HBase技術解析及應用實踐(深圳站)

HBase—Hadoop Database是一個分布式的、面向列的開源數據庫&#xff0c;該技術來源于 Fay Chang 所撰寫的Google論文“Bigtable&#xff1a;一個結構化數據的分布式存儲系統”。HBase的特點是高可靠性、高性能、面向列、可伸縮的分布式存儲系統&#xff0c;如今HBase已經廣泛應…

如何查找Power BI本地報表服務器產品密鑰

Power BI 報表服務器產品密鑰&#xff0c;以便在生產環境中安裝服務器。 已下載 Power BI 報表服務器&#xff0c;并已購買 SQL Server Enterprise 軟件保障協議。 或者&#xff0c;已購買 Power BI Premium。 希望在生產環境中安裝服務器&#xff0c;但需要產品密鑰才能進行安…

【.NET番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

前言&#xff1a;突然想打算把Rust作為將來自己主要的副編程語言。當然&#xff0c;主語言還是C#&#xff0c;畢竟.NET平臺這么強大&#xff0c;寫起來就是爽。緣起&#xff1a;之前打算一些新的產品或者新的要開發的東西&#xff0c;由于沒有歷史包袱&#xff0c;就想重新選型…

基本圖形的光柵化算法

如何在指定的輸出設備上根據坐標描述構造基本二維幾何圖形&#xff08;點、直線、圓、橢圓、多邊形域、字符串及其相關屬性等&#xff09;。 圖形生成的概念 圖形的生成&#xff1a;是在指定的輸出設備上&#xff0c;根據坐標描述構造二維幾何圖形。 圖形的掃描轉換&#xff1a…

php左側,php左側補零

在php中有兩個函數——至少有兩個是否有其他的我還不知道&#xff0c;能夠實現數字補零&#xff0c;str_pad(),sprintf()詳細如下str_pad顧名思義這個函數是針對字符串來說的這個可以對指定的字符串填補任何其它的字符串例如:str_pad(帶填補的字符串,填補后的長度&#xff0c;填…

python - work3

# -*- coding:utf-8 -*-project: jiaxyauthor: Jimmyfile: work_20181107.pyide: PyCharm Community Editiontime: 2018-11-07 10:46blog: https://www.cnblogs.com/gotesting/## 1&#xff1a;一個足球隊在尋找年齡在10歲到12歲的小女孩&#xff08;包括10歲和12歲&#xff09…

團隊-中國象棋-最終程序

托管平臺地址:https://gitee.com/zhanghongjian666/ZhongGuoXiangQi 小組名稱:exciting 小組成員合照: 程序運行方法:html 程序運行示例及運行結果:轉載于:https://www.cnblogs.com/qwsa/p/7944093.html

NET CORE 基于緩存策略的SignalR控制推送頻率(每多少秒/多少次)API接口控制(限流)...

ASP.NET Core SignalR 概述&#xff0c;自行去官網搜。SignalR 沒有控制和前端推送頻率的功能&#xff0c;就是后端一旦發送請求&#xff0c;前端立馬響應。或者前端發送請求&#xff0c;后端立馬響應&#xff0c;但是如果誤操作&#xff0c;或者業務原因&#xff0c;對產生的信…

svn 的使用(二)

這篇主要介紹下 svn 鉤子的使用&#xff0c;svn 的安裝以及配置等能夠查看 svn 的使用&#xff08;一&#xff09; 我們能夠在svn創建的倉庫目錄下看到hooks 目錄。這里面就存放這個各種svn操作同一時候會運行的腳本文件。&#xff08;你能夠自己查看每一個腳本文件&#xff0c…

java原子類場景,CAS你知道嗎?原子類AtomicInteger的ABA問題談談?,原子共面問題...

CAS你知道嗎&#xff1f;原子類AtomicInteger的ABA問題談談&#xff1f;&#xff0c;原子共面問題(1)CAS是什么&#xff1f;比較并交換舉例1, CAS產生場景代碼&#xff1f;importjava.util.concurrent.atomic.AtomicInteger;public classCASDemo {public static voidmain(Stri…

ABP Vnext 批量導入用戶,解決密碼加密問題

因為ABP Vnext在密碼加密方面使用的鹽加密的方式&#xff0c;底層的加密方式讓人摸不著頭腦。如何需要批量導入用戶的時候&#xff0c;這個密碼問題就很頭疼。假設&#xff0c;已經有一個集合List<entity>的用戶數據了&#xff0c;此時進行循環取出一條用戶信息&#xff…

深入分析JavaWeb Item7 -- HttpServletResponse詳解

Web服務器收到客戶端的http請求&#xff0c;會針對每一次請求&#xff0c;分別創建一個用于代表請求的request對象、和代表響應的response對象。request和response對象即然代表請求和響應&#xff0c;那我們要獲取客戶機提交過來的數據&#xff0c;只需要找request對象就行了。…