cloudberrydb / cloudberrydb

Cloudberry Database - Open source alternative to Greenplum Database. Created by the original Greenplum developers.
https://cloudberrydb.org/
Apache License 2.0
315 stars 86 forks source link

Command Center #62

Open my-ship-it opened 1 year ago

leborchuk commented 3 weeks ago

Lets discuss what does it means - Command Center. Original Command Center is UI utility for diagnose and manage Greenplum Database (Databases).

gpdb already have SQL interface for manage objects like tables and resource groups. But no open-source solutions for view running queries, limited info about opened sessions and no good history data about completed queries.

Is it Ok if we focused here on database tooling for gather information about SQL? (or maybe there is another more appropriate issue for that)

tuhaihe commented 2 weeks ago

Hi @leborchuk this issue is too old, but it does mean a tool like GPCC, will be implemented by the web technology, using the native interfaces for the information display, and other interactive actions, including deployment support, Cluster monitoring, SQL editor, Query monitor etc.

This tool has a simple prototype and is still in progress, it will open source in the plan but not very soon.

For the ideas @leborchuk mentioned above, @fanfuxiaoran could you help review them? After the open source, maybe we can call for the community members to help.

leborchuk commented 1 week ago

Let's go a little big deeper )

We have our own solutions for GPDB 6.X and we are trying to open them up. The problem is that all our diagnostic and tuning solutions are heavily linked to our internal infrastructure, so there is no obvious benefit to opening them up as they are. However, I think it could be possible to split them into modules and some of these modules could be easily adapted for use in CBDB.

  1. GPCC have page page showing tables, their size, last usage https://docs.vmware.com/en/VMware-Greenplum-Command-Center/7.1/greenplum-command-center/topics-ui-table-browser.html

image

I propose for table size use https://github.com/yezzey-gp/gp_relsizes_stats extension

Also it should be great if we could show not only when the table was last analyzed but also when table last modyfied and last accessed. https://github.com/yezzey-gp/gp_relaccess_stats extension could be used for tracking objects activities.

(Both do not support CBDB yet, but we could add support)

leborchuk commented 1 week ago
  1. Our diagnostic/monitoring/tuning tools is Web-application too.

(I) So we have our GP cluster (with extensions),

(II) Special application (named agent) that:

(III) Special metric collection utility - https://github.com/influxdata/telegraf with plugins to get additional data from greenplum - metric collection utility could store info everywhere - grafana for example

(IV) Web application could

(II) is written in Go.

(II) and (IV) communicate using grpc protocol.

Could we make the best here? Take some solutions from the CBDB to our project, and in exchange we will offer something in return.

For example use the grpc for communication betwen (II) and (IV) and use the same format of protobuf messages.

Or use the same ones telegraf plugins.