Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Optimize Index Definition for BanyanDB Module in OAP #11497

Open
2 of 3 tasks
hanahmily opened this issue Nov 2, 2023 · 3 comments
Open
2 of 3 tasks

[Feature] Optimize Index Definition for BanyanDB Module in OAP #11497

hanahmily opened this issue Nov 2, 2023 · 3 comments
Labels
backend OAP backend related. database BanyanDB - SkyWalking native database feature New feature

Comments

@hanahmily
Copy link
Contributor

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

The current index definition for the BanyanDB module in OAP needs optimization to increase efficiency and improve performance. This issue focuses on moving different identifiers from indexRule to Entity in Measure and simplifying the network_address_alias entity.

Details:

  1. Common Metrics: Move service_id from indexRule to Entity in Measure. This change will streamline the process of accessing the service information by centralizing the identifiers into Entity within Measure.

  2. Relation Metrics: Move service_id, instance_id, and endpoint_id to Entity. By moving these identifiers to Entity, we can improve the retrieval of relation metrics and enhance the overall performance of the system.

  3. Network_address_alias: Retain only last_update_time_bucket. Simplifying the network_address_alias will reduce unnecessary complexity and improve efficiency.

The proposed changes are expected to optimize the index definitions, improve the system's performance, and simplify the overall structure of the BanyanDB module in OAP.

Use case

No response

Related issues

No response

Are you willing to submit a pull request to implement this on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

@hanahmily hanahmily added backend OAP backend related. feature New feature database BanyanDB - SkyWalking native database labels Nov 2, 2023
@hanahmily hanahmily added this to the 9.7.0 milestone Nov 2, 2023
@wu-sheng
Copy link
Member

wu-sheng commented Nov 3, 2023

So, this is only OAP side code change, and the protocol between OAP and DB is stable.

@wu-sheng wu-sheng removed this from the 9.7.0 milestone Nov 20, 2023
@wu-sheng
Copy link
Member

@hanahmily I removed this from 9.7 as it seems not required in the version.

@wu-sheng
Copy link
Member

According to the latest discussion, we need to make BanyanDB APIs and implementation support accept multiple series definitions, rather than one. Each series definition could have multiple fields. This could provide better query support in following typical scenarios

  1. Query metrics by ts and entity ID.
  2. Store all query relative fields in one file. Nowadays, some are in series ID files, and others are in the tags family.

FYI @hanahmily

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend OAP backend related. database BanyanDB - SkyWalking native database feature New feature
Projects
None yet
Development

No branches or pull requests

2 participants