Skip to content

Use‐cases grouped by role

Anton Standrik edited this page Dec 18, 2024 · 10 revisions

Intro

YDB UI is created for different types or users (roles):

  1. Application developer – uses YDB as database (or a dataplatform). Writes queries, creates tables, debugs query performance.
  2. Cluster or database administrator – uses UI for diagnostics and cluster maintenance. Controls access rights for different operations with cluster or database.
  3. YDB developer – contributes to the project, adds new features. Mainly uses Developer UI for testing and debugging.

This wiki enumerates use-cases for every role. Use-cases appear on the list in the order of the frequency of their usage.

Use cases

Application developer

  1. Find cluster

    • Find cluster by name
    • Find cluster by nodename
  2. Find database

    • Find database by path
    • View list of databases
    • Go to database monitoring chart
    • Choose database
  3. Browse database scheme

    ✓ View schema as a tree ✓ Covered by tests/suites/tenant/summary/objectSummary.test.ts: "Open Preview icon appears on hover for 'dv_slots' tree item"

    ✓ View schema object details in schema browser ✓ Covered by tests/suites/tenant/summary/objectSummary.test.ts: "Primary keys header is visible in Schema tab"

    ✓ Preview schema object data ✓ Covered by tests/suites/tenant/summary/objectSummary.test.ts: "On Open Preview icon click table with results appear" "Preview table is still present after settings dialog was opened"

    • View schema object ACL

    • Create schema object from three buttons menu ✓ Covered by tests/suites/tenant/summary/objectSummary.test.ts: "Actions dropdown menu opens and contains expected items" "Can click menu items in actions dropdown"

    • Copy path

    • Create directory

    • Refresh schema tree

    • Collapse/Expand panels

  4. Edit and Run Queries

    ✓ Type and Run a query Covered by tests/suites/tenant/queryEditor/queryEditor.test.ts: "Run button executes YQL script" "Run button executes Scan"

    • Autocomplete based on grammar
    • Autocomplete based on schema
    • Highlight syntax of a query ✓ Tune query execution preferences ✓ Covered by tests/suites/tenant/queryEditor/queryEditor.test.ts: Multiple tests involving settings dialog and query modes
    • Run selected part of the query
    • Run query from templates
    • Copy results to the clipboard ✓ View query history ✓ Covered by tests/suites/tenant/queryHistory/queryHistory.test.ts: "New query appears in history after execution" "Multiple queries appear in correct order in history"
    • Run query from history
    • Search history query
    • Expand results tab
    • View Trace of a Query in External Tracing
  5. View Query Execution Plan ✓ View Query Plan and statistics ✓ Covered by tests/suites/tenant/queryEditor/queryEditor.test.ts: "Explain button executes YQL script explanation" "Explain button executes Scan explanation" ✓ View simplified query plan ✓ Covered by tests/suites/tenant/queryEditor/queryEditor.test.ts: Tests checking different explain result types (Schema, JSON, AST)

  6. Run saved query

    • View list of saved queries
    • Open saved query in the Editor
    • Save a query from the Editor

Cluster or database administrator

  1. Diagnose cluster
    • Find cluster nodes with degraded storage groups
    • Find cluster root system tablet (Hive, SchemeShard, BSC)
    • View cluster storage groups
      • Group list by state, etc
    • View cluster storage nodes
      • Group list by DC, Usage, etc
    • View cluster versions
    • Evict disk
    • View cluster status dashboard (with resources consumption)
    • View cluster health check status
    • Constrol decomission status
  2. Diagnose database
    • View database info
    • View resources utilisation
    • View HC status
    • Go to database monitoring chart
    • View top queries for a specific period ✓ View running queries ✓ Covered by tests/suites/tenant/diagnostics/diagnostics.test.ts: "No running queries in Queries if no queries are running" "Running query is shown if query is running"
    • View top shards for a specific period
    • View describe for an particular schema object
    • View database storage (groups, node)
    • View database compute nodes
    • View list of operations
    • Forget chosen export
    • View schema object tablets
    • Go to database hive app
    • View database configs

YDB Developer

  1. Access Developer UI
  2. Access Developer UI via specific node
  3. Access Tablet Internal App
  4. Access Storage Component (pdisk, vdisk) Internal App
Clone this wiki locally