We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


Determining the Per-Node Storage of a Segmented Table — Vertica Forum

Determining the Per-Node Storage of a Segmented Table

[Deleted User][Deleted User] Administrator
edited July 2018 in Tips from the Team

Jim Knicely authored this blog.

You can join a few system tables together to find the disk space used and the row counts by node for segmented tables:

Example:

dbadmin=> SELECT ps.anchor_table_schema,
dbadmin->        ps.anchor_table_name,
dbadmin->        ps.node_name,
dbadmin->        ROUND(SUM(ps.ros_used_bytes)/1024/1024/1024, 5)::NUMERIC(25,5) AS GB,
dbadmin->        SUM(ps.ros_row_count) AS Rows
dbadmin->   FROM v_catalog.projections p
dbadmin->   JOIN v_monitor.projection_storage ps
dbadmin->  USING (projection_id)
dbadmin->  WHERE p.is_segmented
dbadmin->    AND ps.anchor_table_schema || '.' || ps.anchor_table_name = 'public' || '.' || 'big_table'
dbadmin->  GROUP BY 1, 2, 3
dbadmin->  ORDER BY 1, 2, 3;
 anchor_table_schema | anchor_table_name |     node_name      |   GB    |   Rows
---------------------+-------------------+--------------------+---------+-----------
 public              | big_table         | v_test_db_node0001 | 1.70385 | 810901653
 public              | big_table         | v_test_db_node0002 | 1.70385 | 810919791
 public              | big_table         | v_test_db_node0003 | 1.70395 | 810968034
(3 rows)

Skew in the data distribution across the nodes is an indicator of a poor choice of the table’s segmentation key.

Have fun!

Sign In or Register to comment.