breezy-guitar-97226
08/18/2021, 3:55 PMDatahub
as a more modular and lightweight alternative to Apache Atlas
. Now my question is about the best practices to follow when modelling our custom business entities.
When using Atlas we used to model each business entity to a new type inheriting from a common supertype: Dataset
. What we would then add to the subtypes were their specific fields (aspects). Search and lineage would also work out-of-the-box because each of these subtypes would also be (extend) the Dataset
supertype and ie. relationships are defined with a Dataset type as source and destination.
In this scenario each new business entity would be mapped to a different subtype, all of them being ultimately Datasets.
In Datahub
, afaik, this concept of inheritance does not exist as such. What would be then the best way to model custom business entities (all conceptually datasets, but with different properties) according to its data model? I found two options:
• To onboard a new Datahub entity for each of our custom business entities. This looks fine in principle, however it is immediately noticeable how lineage and search are closed and defined within the Datahub Dataset entity itself.
• To add new aspects to the existing Datahub Dataset entity in order to cover the peculiar characteristics of our custom business entities. This looks fine too at first glance, however I’m worried that it could drift into a quite messy flat structure with tons of different aspects which I believe it can be quite difficult to maintain.
We also thought about using custom properties, but the lack of a schema plus the impossibility to search against them does not make this solution very attractive.
This said, I would be very grateful if you could make me aware of any best practices to follow in this case. I apologise in advance if I missed some points or if the explanation above contains imprecisions!
Many thanks!big-carpet-38439
08/18/2021, 4:56 PMbig-carpet-38439
08/18/2021, 4:57 PMbig-carpet-38439
08/18/2021, 4:59 PMStream Example
{
"type": "STREAM",
"streamProperties": {
"topic": <topic-name>
"broker": <broker ref>
....
}
.... other standard Dataset aspects
}
breezy-guitar-97226
08/19/2021, 7:06 AMbig-carpet-38439
08/19/2021, 3:54 PMmammoth-bear-12532
breezy-guitar-97226
08/20/2021, 7:34 AM