web-dev-qa-db-ja.com

Verticaデータベースのサイズを取得するにはどうすればよいですか?

Verticaデータベースがあります。データベースの大きさを確認するにはどうすればよいですか?

私たちの環境に関する基本的な統計を上層部に報告するために、大まかな答えが必要です。

6
Nick Chammas

データベースのサイズを取得する方法はいくつかあり、それぞれわずかに異なる使用例に適しています。 Verticaはrawcompressedデータを異なる方法で使用し、必要なサイズを意識する必要があることに注意することが重要です。 。たとえば、ライセンスはrawデータサイズに基づいています。

生のサイズ

rawサイズは、容量計画またはライセンス使用率の監視に役立ちます(圧縮されていない場合にデータが占めるスペースです)。データベース全体の生データサイズを取得するには、 GET_COMPLIANCE_STATUS() 関数を使用するか、システムテーブル_v_internal.license_audits_をクエリします。

GET_COMPLIANCE_STATUS()関数は、最新の監査に関する情報を取得します。 An audit は、データベースの未加工データサイズを見積もり、情報を_v_internal.license_audits_に格納します。デフォルトでは、監査は毎日23:59に行われ、設定または手動で実行できます。

次に出力例をいくつか示します。

_dbadmin=> SELECT GET_COMPLIANCE_STATUS();
                            GET_COMPLIANCE_STATUS
---------------------------------------------------------------------------------

Raw Data Size: 4.83TB +/- 0.24TB
License Size : 30.00TB
Utilization  : 16%
Audit Time   : 2014-05-11 23:59:49.763799+00
Compliance Status : The database is in compliance with respect to raw data size.

License End Date: 10/30/2014
Days Remaining: 171.18
_

権限がある場合は、_license_audits_テーブルを直接クエリできます。

_SELECT /*+ label(license_utilization)*/
       audit_start_timestamp, 
       database_size_bytes / ( 1024^3 ) AS database_size_gb, 
       license_size_bytes / ( 1024^3 )  AS license_size_gb, 
       usage_percent 
FROM   v_catalog.license_audits 
ORDER  BY audit_start_timestamp DESC 
LIMIT  30;
_

さらに、スキーマレベルで生データのサイズを取得する場合は、これを使用できます(from vertica.tips ):

_SELECT /*+ label(estimated_raw_size)*/
       pj.anchor_table_schema, 
       pj.used_compressed_gb, 
       pj.used_compressed_gb * la.ratio AS raw_estimate_gb 
FROM   (SELECT ps.anchor_table_schema, 
               SUM(used_bytes) / ( 1024^3 ) AS used_compressed_gb 
        FROM   v_catalog.projections p 
               JOIN v_monitor.projection_storage ps 
                 ON ps.projection_id = p.projection_id 
        WHERE  p.is_super_projection = 't' 
        GROUP  BY ps.anchor_table_schema) pj 
       CROSS JOIN (SELECT (SELECT database_size_bytes 
                           FROM   v_catalog.license_audits 
                           ORDER  BY audit_start_timestamp DESC 
                           LIMIT  1) / (SELECT SUM(used_bytes) 
                                        FROM   V_MONITOR.projection_storage) AS ratio) la 
ORDER  BY pj.used_compressed_gb DESC;
_

圧縮サイズ

compressedサイズは、ディスク上のデータの実際のサイズです。 Verticaは常に少なくとも40%の領域が利用可能であることを推奨しているため、これはディスク領域の使用量を推定するのに役立ちます。 _column_storage_または_projection_storage_システムテーブルから圧縮サイズを取得できます。

_projection_storage_を使用すると、空のテーブルも返されます( vertica.tips から):

_SELECT /*+ label(compressed_table_size)*/
       anchor_table_schema, 
       anchor_table_name, 
       SUM(used_bytes) / ( 1024^3 ) AS used_compressed_gb 
FROM   v_monitor.projection_storage 
GROUP  BY anchor_table_schema, 
          anchor_table_name 
ORDER  BY SUM(used_bytes) DESC;
_
15
Kermit

以下のクエリを使用すると、テーブルの正確なサイズを vertica で取得できます。

SELECT anchor_table_schema,
anchor_table_name,
SUM(used_bytes) / (1024/1024/1024/1024) AS TABLE_SIZE_GB
FROM   v_monitor.projection_storage
GROUP  BY anchor_table_schema,
anchor_table_name
order  by sum(used_bytes) desc;

以下で説明します:

https://www.orahow.com/2018/06/how-to-check-size-of-tables-in-vertica.html

0
santosh tiwary

最近の更新で、v_catalog.licensing_auditsの値が定数「vertica」から、Regular、Flex、Totalの3つの異なる値に変更されました。元のクエリで適切な結果が得られない場合は、以下を試してください。

    SELECT /*+ label(estimated_raw_size)*/
       pj.anchor_table_schema, 
       pj.used_compressed_gb, 
       pj.used_compressed_gb * la.ratio AS raw_estimate_gb 
    FROM (SELECT ps.anchor_table_schema, 
                 SUM(used_bytes) / ( 1024^3 ) AS used_compressed_gb 
          FROM v_catalog.projections p 
          JOIN v_monitor.projection_storage ps 
          ON ps.projection_id = p.projection_id 
          WHERE  p.is_super_projection = 't' 
          GROUP  BY ps.anchor_table_schema) pj 
    CROSS JOIN (SELECT (SELECT database_size_bytes 
                        FROM v_catalog.license_audits 
                        WHERE audited_data = 'Regular'
                        ORDER BY audit_start_timestamp DESC 
                        LIMIT  1) / 
                        (SELECT SUM(used_bytes) 
                         FROM V_MONITOR.projection_storage) AS ratio) la 
    ORDER  BY pj.used_compressed_gb DESC;
0
Average Joe