TDengine 3.3.5.0 新功能 —— 查看庫文件占用空間、壓縮率

1. 背景

TDengine 之前版本一直沒有通過 SQL 命令查看數據庫占用的磁盤空間大小,從 3.3.5.0 開始,增加了這個方便且實用的小功能,這里詳細介紹下。

2. SQL 基本語法

select expr from information_schema.ins_disk_usage [where condtion]

行為說明: 查看各個vgroup 的各個組件磁盤占用情況,并且可以通過查詢語句計算壓縮率等。

示例:

taos> select * from ins_disk_usage where db_name = "test";

db_name|vgroup_id|wal|data1|data2|data3|cache_rdb|table_meta|

s3|raw_data|

=========================================================

test|13 | 112 | 256 | 2000| 3000| 4000| 8000| 9000| 10000

Query OK, 1 row(s) in set (0.003510s)

3. 快捷命令

快捷命令是比較短的可快速查看信息的命令,查看磁盤空間的命令是:

show disk_info;

示例:

taos> show disk_info;

_db_usage? ? ? ? ? ? ? ?|

=================================

Compress_radio: 23%? ? ?|

Disk_occupied: 400M? ? ?|

Query OK, 2 row(s) in set (0.013209s)

行為說明:?

  • compression_ratio: 類型為double 類型,代表當前庫的壓縮率, 如果估算出來 raw_data 的size 小于1k, 則顯示為NULL。
  • disk_occupied: 類型為整數類型,代表當前用戶數據占用大小。

命令等同于:

select

? ? sum(data1 + data2 + data3)/sum(raw_data),

? ? sum(data1 + data2 + data3)

from information_schema.ins_disk_usage

? ? where db_name="dbname"

4. 新增系統表

本功能需新增系統表,在 information_schema 中新增 ins_disk_usage 表,各字段含義如下:

字段

含義

類型

單位

備注

db_name

Db 的名稱

Varchar

準確值

vgroup_id

Vgroup 的ID號

整數類型

準確值

wal

wal 的大小

長整數類型

K

準確值

data1

一級存儲上磁盤占用大小

長整數類型

K

同上, 不包含WAL 值

data2

二級存儲上磁盤占用大小

長整數類型

K

準確值,不包含WAL值

data3

三級存儲上磁盤占用大小

長整數類型

K

準確值,

cache_rdb

last/last_row占用磁盤的大小

長整數類型

K

同上

table_meta

Table Meta 占用磁盤大小

長整數類型

K

同上

s3

s3 上占用的數據的大小

長整數類型

K

相對準確值

raw_data

預估出來的真實數據的大小,不含mem table

長整數類型

k

估算值

5. 性能

命令資源消耗大:

需要到各?vnode 獲取其基本磁盤占用、表數量、行數,行數統計等信息,需要讀 header block 信息?IO 使用多。

執行時間:

?預估為秒級,性能和?show table distributed stableName?類似, 如果 DB 上超級表或者普通表的數目為 N, 執行單個 show table distributed table?時間為 T,那么執行該查詢的時間則為 N * T。

6. 約束和限制

約束: 本質上是一個運維工具, 且資源消耗比較大,不建議頻繁調用,

限制:

  • 如果有大量的刪表、刪數據行為,不能準確計算得到壓縮率等信息,需要等到完全compact 完全結束之后,才能得到一個相對準確的壓縮率,如果在compact 還沒有結束時,查詢得到的磁盤占用可能過大。

  • 本實現統計是按實際文件占用進行統計且忽略了目錄本身的大小, 因此和用 `du ` 命令直接統計目錄的大小存在一定的區別,兩者差距一般小于1M。

  • 多副本情況下,只統計單副本的DB的占用大小

  • 如果要統計單個DB 實際的磁盤占用可以用 select sum(data1+data2+data3+wal+cache_rdb + table_meta) from ins_disk_usage where dbname = "test"

  • 文件大小的磁盤占用大小

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

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

相關文章

螞蟻百寶箱體驗:如何快速創建“旅游小助手”AI智能體

螞蟻百寶箱作為站式智能體應用開發平臺,致力于為AI開發者提供簡單、高效、快捷的智能體創作體驗。作為業內領先的AI應用開發平臺,開發者可以根據自身的個性化需求,基于各式各樣的大模型來創建一個屬于自己的智能體應用。 螞蟻百寶箱&#xf…

AI助力JMeter—從靜態參數化到智能動態化的進化之路

Apache JMeter作為開源利器被廣泛應用于Web系統、API接口、數據庫及消息隊列等多場景性能驗證。而“變量的使用”作為測試腳本靈活性和可維護性的核心手段,決定了腳本的復用性、可擴展性和數據驅動能力。傳統的變量管理手段已難以應對大規模復雜測試任務中“動態化、…

第十六屆藍橋杯C/C++程序設計研究生組國賽 國二

應該是最后一次參加藍橋杯比賽了,很遺憾,還是沒有拿到國一。 大二第一次參加藍橋杯,印象最深刻的是居然不知道1s是1000ms,花了很多時間在這題,后面節奏都亂了,抗壓能力也不行,身體也不適。最后…

OpenCV計算機視覺實戰(12)——圖像金字塔與特征縮放

OpenCV計算機視覺實戰(12)——圖像金字塔與特征縮放 0. 前言1. 高斯金字塔1.1 應用場景1.2 實現過程 2. 拉普拉斯金字塔2.1 應用場景2.2 實現過程 3. 圖像融合實例3.1 應用場景3.2 實現過程 小結系列鏈接 0. 前言 圖像金字塔技術通過對原始圖像按不同分…

【案例】基于Python的生源數據可視化分析:從Excel處理到動態地圖展示

文章目錄 需求分析技術要點程序流程一些細節核心代碼表格的一些操作 心得體會代碼匯總 需求分析 請設計一個程序,要求能夠統計分析分散在不同表格中的數萬條信息,以信息中的身份證號碼或生源地代碼字段為目標字段,統計每一年全國各省份及本省…

設計模式 | 原型模式

原型模式通過克隆機制實現對象高效創建,是性能敏感場景的利器。本文結合C示例詳解實現原理、深拷貝陷阱、應用場景,并與工廠模式對比分析。 為何需要原型模式? 當遇到以下場景時,傳統構造方法面臨挑戰: 創建成本高&am…

Go 語言中的單元測試

1、如何編寫單元測試 在任何生產級別的項目開發中,單元測試都扮演著至關重要的角色。盡管許多初創項目在早期可能忽略了它,但隨著項目逐漸成熟并成為核心業務,為其編寫健壯的單元測試是保障代碼質量和項目穩定性的必然選擇。本文將帶您快速掌…

8. 接口專業測試報告生成pytest-html

pytest-html 終極指南:打造專業級接口測試報告 在接口自動化測試中,清晰的測試報告是質量保障的關鍵。本文將深入解析如何通過pytest-html插件生成專業級測試報告。 一、核心安裝與基礎使用 快速安裝(國內鏡像) pip install -i …

Day45 Tensorboard使用介紹

目錄 一、tensorboard的發展歷史和原理及基本操作 1.1 發展歷史 1.2 tensorboard的原理 1.3 日志目錄自動管理 1.4 記錄標量數據(Scalar) 1.5 可視化模型結構(Graph) 1.6 可視化圖像(Image) 1.7 記…

用AI給AR加“智慧”:揭秘增強現實智能互動的優化秘密

用AI給AR加“智慧”:揭秘增強現實智能互動的優化秘密 引子:增強現實,到底還能怎么更聰明? 還記得當年Pokmon GO火爆全球的場景嗎?玩家們手機對準街頭,虛擬小精靈活靈活現地跳出來,那就是增強現實(AR)最經典的應用之一。隨著硬件發展和算法進步,AR正逐步從“炫酷玩具…

1 Studying《Computer Vision: Algorithms and Applications 2nd Edition》1-5

目錄 Chapter 1 Introduction 1.1 什么是計算機視覺? 1.2 簡史 1.3 書籍概述 1.4 樣本教學大綱 1.5 符號說明 1.6 其他閱讀材料 Chapter 2 Image formation 2.1 幾何基本元素和變換 2.2 光度圖像形成 2.3 數碼相機 2.4 其他閱讀材料 2.5 練習 Chapter…

Augment插件macOS

macOS蘋果電腦vscode-augment免費額度續杯跑滿 前言 在AI輔助編程日益普及的今天,Augment作為VS Code中的智能代碼助手,為開發者提供了強大的代碼生成和優化功能。然而,免費版本每月300次的使用限制往往讓重度用戶感到困擾。本文將詳細介紹如…

OpenCV CUDA模塊設備層-----創建一個“常量指針訪問器” 的工具函數constantPtr()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 在 CUDA 設備端模擬一個“指向常量值”的虛擬指針訪問器,使得你可以像訪問數組一樣訪問一個固定值。 這在某些核函數中非常有用&…

Python:操作 Excel 刪除工作簿

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 Python 操作 Excel 系列 讀取單元格數據按行寫入設置行高和列寬自動調整行高和列寬水平…

Python類型注解(Type Hints)的工程實踐指南

一、類型注解的核心價值 代碼可讀性:明確函數輸入輸出類型 靜態檢查:配合mypy提前發現類型錯誤 IDE支持:提升代碼補全和重構能力 文檔替代:類型即文檔的現代編程理念 二、基礎語法規范 def greet(name: str, times: int 1)…

Hadoop RPC 分層設計的哲學:高內聚、低耦合的最佳實踐

Hadoop RPC Hadoop RPC主要分為四個部分,分別是序列化層、函數調用層、網絡傳輸層和服務器端處理框架,實現機制為: 序列化層:主要作用是將結構化對象轉為字節流以便于通過網絡進行傳輸或寫入持久存儲。函數調用層:主…

MybatisPlus-01.MybatisPlus介紹

一.MybatisPlus介紹 MybatisPlus是對Mybatis的增強和升級,但需要注意的是,MybatisPlus并不是取代Mybatis的,而是要做Mybatis最好的合作伙伴。左邊藍色的小鳥就是MybatisPlus的標志。 在MybatisPlus官方頁面上介紹了其特點,首先&am…

人大金倉數據庫jdbc連接jar包kingbase8-8.6.0.jar驅動包最新版下載(不需要積分)

看了網上的很多,都是需要下載積分的 分享一下直接訪問人大金倉官網,下載對應的數據庫jdbc連接jar包kingbase8-8.6.0.jar驅動包: 點擊 服務與支持,然后選擇 下載中心 選擇對應的產品和版本,最后選擇軟件版本 看到有…

cf 禁止http/1.0和http/1.1的訪問 是否會更安全?

使用 Cloudflare(CF)禁止 HTTP/1.0 和 HTTP/1.1 的訪問,強制客戶端使用 HTTP/2 或更高版本(如 HTTP/3),在某些情況下可以提升網站安全性,但也存在權衡和限制。以下是詳細分析,幫你判…

【Docker基礎】Docker容器管理:docker pause詳解

目錄 1 Docker容器管理概述 2 docker pause命令詳解 2.1 命令基本語法 2.2 命令功能解析 2.3 暫停與停止的區別 3 docker pause的工作流程 3.1 工作流程概述 3.2 工作流程詳解 4 docker pause的使用場景 4.1 資源臨時調整 4.2 調試與檢查 4.3 服務維護 4.4 數據備…