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

Consistent naming: db.system to db.system.name, namespace constants, remove db from system-specific names #1734

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

lmolkova
Copy link
Contributor

@lmolkova lmolkova commented Jan 10, 2025

Fix #1581

Addresses DB-related portion of #608, replaces db-related things from #1711 and #1613.

  1. Rename db.system to db.system.name. It gives us a good opportunity to clean up constants, batching multiple breaking changes together (see below)
  2. Removes deprecated constants from new enum and updates existing constants to follow consistent naming
  3. Removes db prefix from system-specific attributes following Demo - remove root namespace from system-specific attributes and metrics #1711:
    • some systems (e.g. redis are cache and database and also a messaging system)
    • not all operations that are done on the database are related to DB (control plane, auth, etc)
    • we're quite inconsistent in naming
  4. Adjusts _ -> . where it makes sense

Merge requirement checklist

…e constants, remove db prefix from system-specific attributes
@lmolkova lmolkova changed the title Align with naming guidance: db.system to db.system.name, namespace constants, remove db from system-specific names Consistent naming: db.system to db.system.name, namespace constants, remove db from system-specific names Jan 10, 2025

| Value | Description | Stability |
|---|---|---|
| `actian.ingres` | [Actian Ingres](https://www.actian.com/databases/ingres/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ingres seems to be too generic - easy to mix with a word "ingress", but it's a trademark. I'm totally open to change it back to ingres

| `intersystems_cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mariadb` | MariaDB (This value has stability level RELEASE CANDIDATE) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `aws.dynamodb` | [Amazon DynamoDB](https://aws.amazon.com/pm/dynamodb/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
Copy link
Contributor Author

@lmolkova lmolkova Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dynamodb is a trademark, but also "amazon redshift" is a trademark.

Also, s3 is a trademark, but we use aws.s3 in other places.

I'm suggesting to keep all things AWS consistent and use aws prefix regardless of what trademark is registered for

| `hbase` | [Apache HBase](https://hbase.apache.org/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hive` | [Apache Hive](https://hive.apache.org/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hsqldb` | [HyperSQL Database](https://hsqldb.org/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `ibm.db2` | [IBM Db2](https://www.ibm.com/db2) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
Copy link
Contributor Author

@lmolkova lmolkova Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All IBM databases have independent trademarks. E.g. db2

Still, given that other cloud services come with provider as a namespace, I'm suggesting ibm.*.

Maybe @gyliu513 or @mamwl1 would have some input from the IBM side? (it aligns with ibm.watsonx.ai) and we'd use ibm.mq as a messaging system name.

| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mssql` | Microsoft SQL Server (This value has stability level RELEASE CANDIDATE) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `mysql` | MySQL (This value has stability level RELEASE CANDIDATE) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
| `mssql` | Microsoft SQL Server | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) |
Copy link
Contributor Author

@lmolkova lmolkova Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we rename it to ms.sql or ms.sql.server ? wdyt @trask @jcocchi ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

microsoft.sql_server?

@lmolkova lmolkova marked this pull request as ready for review January 10, 2025 02:52
@lmolkova lmolkova requested review from a team as code owners January 10, 2025 02:52
model/database/registry.yaml Outdated Show resolved Hide resolved
model/database/registry.yaml Outdated Show resolved Hide resolved
stability: experimental
value: "opensearch" # trademark on 'opensearch'
brief: "[OpenSearch](https://opensearch.org/)"
stability: development
- id: oracle
value: "oracle"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this work now that we are sort of considering this to point to a top-level namespace?

or maybe a better question, if we add oracle (database) specific attributes what namespace would they be under? (now that we also have oracle cloud related namespaces I think)

Copy link
Contributor Author

@lmolkova lmolkova Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renamed to oracle.db, but it looks funky along with couchdb, mariadb, cosmosdb, dynamodb... Need to sleep on this.

It's the case where we have one company and may offerings oracle.db, oracle.nosql_db?, oracle.web_logic, oracle.jvm 😅, oracle cloud is being added as oracle_cloud

| `firebirdsql` | [Firebird](https://www.firebirdsql.org/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `gcp.spanner` | [Google Cloud Spanner](https://cloud.google.com/spanner) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `geode` | [Apache Geode](https://geode.apache.org/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `h2` | [H2 Database](https://h2database.com/) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe should be h2database when considered as a top-level namespace

Copy link
Member

@trask trask left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'm coming around to your proposal in #608 (comment)

- id: adabas
value: "adabas"
value: "adabas" # trademark on 'adabas'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
value: "adabas" # trademark on 'adabas'
value: "software_ag.adabas" # trademark on 'adabas'

brief: "InterBase"
stability: experimental
value: "instantdb" # no trademark
brief: "[InstantDB](https://www.instantdb.com/)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from their website, looks like they're calling it just "Instant" (but we could still use instantdb as the value based on their domain name

Suggested change
brief: "[InstantDB](https://www.instantdb.com/)"
brief: "[Instant](https://www.instantdb.com/)"

model/database/registry.yaml Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

Should db.system be db.system.name?
2 participants