Groups
Groups store resources such as Collections, Functions, and Tables. Groups help semantically organize resources inside your projects
Separating Extract, Transform, and Load
Not all parts of your workflow serve the same purpose:
- Publishers write data into your Tabsdata Server
- Subscribers write data out of your Tabsdata Server
- Transformers move and transform data inside a Tabsdata Server
Groups help separate these three types of operations
When a project is created in Tabsdata, it comes with three groups out-of-the-box:
sourcesthat exclusively stores Publisher Functions.destinationsthat exclusively stores Subscriber Functions.defaultthat stores Transformer Functions.
sourcesdefaultdestinationsBy creating a layer of separation between inter-server operations (Extract, Load) and intra-server (Transform) operations, groups help abstract your source data into a standardized tabular format for easy data transformation.
Building your Medallion
Factoring out Ingest and Load, the Transformation aspect of ETL is often differentiated by semantic purpose.
Tabsdata uses the Medallion Architecture for Data Integration, meaning data transformation is divided into three layers:
- Bronze: Layer that ingests raw source data from external systems with the goal of having as close of a representation to data in the external system
- Silver: Layer that cleans, dedupes, normalizes, and joins related entities
- Gold: Layer that applies granular, business-specific transformations and creates "consumer-ready" tables.
However, users can create as many Transformer groups as needed for their workflows.
Put together, a medallion architecture can be represented by five groups: two built-in groups (sources, destinations) and three transformer groups (bronze, silver, gold).
sourcesPublishersIngest from external systems.
Built inbronzeTransformersRaw data, kept as close to the external system as possible.
User createdsilverTransformersCleaned, deduped, normalized, and joined.
User createdgoldTransformersBusiness-specific transformations, consumer-ready tables.
User createddestinationsSubscribersWrite out to external systems.
Built inHow to Create a Group
tdk group create --name bronze --proj myproject