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

update doc about mongo and sth indexes by DM #2318

Merged
merged 7 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions doc/cygnus-ngsi/flume_extensions_catalogue/ngsi_mongo_sink.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Content:
* [Database and table names](#section1.3.2)
* [Row-like storing](#section1.3.3)
* [Column-like storing](#section1.3.4)
* [MongoDB Indexes](#section1.4)
* [Administration guide](#section2)
* [Configuration](#section2.1)
* [Use cases](#section2.2)
Expand Down Expand Up @@ -286,6 +287,16 @@ If `data_model=dm-by-entity` and `attr_persistence=column` then `NGSIMongoSink`

[Top](#top)

### <a name="section1.4"></a>MongoDB Indexes
Since version 3.0.0 of cygnus an index named `cyg_raw_opt` is created in this way but depending on datamodel:

| datamodel | keys |
| :-------------- | :--------------------------------------------------------------- |
| DMBYSERVICEPATH | recvTime, entityId, entityType, attrName, attrType, attrValue |
| DMBYENTITY | recvTime, attrName, attrType, attrValue |
| DMBYATTRIBUTE | recvTime, attrType, attrValue |
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we should use the names that are used in configuration by users (i.e dm-by-...). I understand that the DM... being used are the ones from the code (so, somehow "hidden" by regular users).

In addition, what about the other DMs (from https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/flume_extensions_catalogue/ngsi_postgresql_sink.md#section1.2 it seems we have 11 DMs, but this table only includes 3)? If they don't involve indexes maybe we should add a sentence like this:

In the case of other datamodels than the ones included in the table above (including the default behaviour when no datamodel is set) cygnus doesn't create any index.

(Same applies to the modification done in PR telefonicaid/fiware-sth-comet#624. Maybe a follow up PR in that repo should be done)

Copy link
Member Author

@AlvaroVega AlvaroVega Oct 20, 2023

Choose a reason for hiding this comment

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

Maybe we should use the names that are used in configuration by users (i.e dm-by-...). I understand that the DM... being used are the ones from the code (so, somehow "hidden" by regular users).

Done in 49a579c

In addition, what about the other DMs (from https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/flume_extensions_catalogue/ngsi_postgresql_sink.md#section1.2 it seems we have 11 DMs, but this table only includes 3)? If they don't involve indexes maybe we should add a sentence like this:

In the case of other datamodels than the ones included in the table above (including the default behaviour when no datamodel is set) cygnus doesn't create any index.

(Same applies to the modification done in PR telefonicaid/fiware-sth-comet#624. Maybe a follow up PR in that repo should be done)

IMHO other datamodels does not apply to these sinks and can not be configured with they.

Copy link
Member

Choose a reason for hiding this comment

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

IMHO other datamodels does not apply to these sinks and can not be configured with they.

What does it happen if the user try to user one of such DM with these sinks? Cygnus reports error and refuse to start?

Copy link
Member Author

@AlvaroVega AlvaroVega Oct 23, 2023

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Thus, I'd suggest to add the following note just after the table in documentaiton:

Note that attempting to use any other datamodel different from these ones will cause a "Unknown data model" ERROR in log traces. In addition, note that default datamodel for STH/Mongo sink is ...

completing the missing "..."



## <a name="section2"></a>Administration guide
### <a name="section2.1"></a>Configuration
`NGSIMongoSink` is configured through the following parameters:
Expand Down
55 changes: 33 additions & 22 deletions doc/cygnus-ngsi/flume_extensions_catalogue/ngsi_sth_sink.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Content:
* [`NGSIEvent`](#section1.3.1)
* [Database and table names](#section1.3.2)
* [Storing](#section1.3.3)
* [MongoDB Indexes](#section1.4)
* [Administration guide](#section2)
* [Configuration](#section2.1)
* [Use cases](#section2.2)
Expand Down Expand Up @@ -120,30 +121,30 @@ Assuming the following `NGSIEvent` is created from a notified NGSI context data

ngsi-event={
headers={
content-type=application/json,
timestamp=1429535775,
transactionId=1429535775-308-0000000000,
correlationId=1429535775-308-0000000000,
fiware-service=vehicles,
fiware-servicepath=/4wheels,
<name_mappings_interceptor_headers>
content-type=application/json,
timestamp=1429535775,
transactionId=1429535775-308-0000000000,
correlationId=1429535775-308-0000000000,
fiware-service=vehicles,
fiware-servicepath=/4wheels,
<name_mappings_interceptor_headers>
},
body={
entityId=car1,
entityType=car,
attributes=[
{
attrName=speed,
attrType=float,
attrValue=112.9
},
{
attrName=oil_level,
attrType=float,
attrValue=74.6
}
]
}
entityId=car1,
entityType=car,
attributes=[
{
attrName=speed,
attrType=float,
attrValue=112.9
},
{
attrName=oil_level,
attrType=float,
attrValue=74.6
}
]
}
}


Expand Down Expand Up @@ -288,6 +289,16 @@ Assuming `data_model=dm-by-entity` and all the possible resolutions as configura

[Top](#top)

### <a name="section1.4"></a>MongoDB Indexes

Since version 3.0.0 of cygnus index named `cyg_agg_opt` is created in this way but depending on datamodel:

| datamodel | keys |
| :--------------- | :------------------------------------------------- |
| DMBYSERVICEPATH | entityId, entityType, attrName, resolution, origin |
| DMBYENTITY | attrName, resolution, origin |
| DMBYATTRIBUTE | resolution, origin |

## <a name="section2"></a>Administration guide
### <a name="section2.1"></a>Configuration
`NGSISTHSink` is configured through the following parameters:
Expand Down
Loading