Hierarquia e Organização
Padrões de estrutura e organização dos artefatos no Microsoft Fabric.
Níveis de Hierarquia
| Nível | Elemento | Descrição |
|---|---|---|
| 1 | Tenant | Ambiente Microsoft 365 da organização |
| 2 | Capacidade | Recursos computacionais (separar DEV e PROD) |
| 3 | Workspace | Contêiner de artefatos por ambiente |
| 4 | Pastas | Agrupamento lógico de artefatos por tipo ou domínio |
| 5 | Artefatos | Lakehouses, Notebooks, Pipelines, Semantic Models, Relatórios |
| 6 | Objetos | Tabelas, Views, Arquivos |
Regra de Organização por Domínio
Premissa Fundamental
A organização de pastas em todos os objetos deve seguir o padrão hierárquico:
Workspace > Tipo de Objeto > [Domínio]
Onde [Domínio] representa a área de negócio, projeto ou fonte de dados relacionada aos artefatos.
Por que organizar por Domínio?
| Benefício | Descrição |
|---|---|
| Localização rápida | Facilita encontrar artefatos relacionados a uma área específica |
| Governança | Permite aplicar permissões e políticas por domínio |
| Escalabilidade | Suporta crescimento organizado conforme novos domínios são adicionados |
| Colaboração | Times de negócio podem focar em suas pastas específicas |
| Manutenção | Simplifica identificação de dependências e impactos |
Tipos de Domínio
| Tipo | Descrição | Exemplos |
|---|---|---|
| Área de Negócio | Departamento ou função da empresa | sales, finance, stock, hr, production |
| Projeto | Iniciativa específica com escopo definido | pricing_tool, churn_prediction, data_migration |
| Fonte de Dados | Sistema ou origem dos dados | protheus, sharepoint, api_bcb, sap |
Exemplos de Aplicação
| Cenário | Estrutura de Pastas |
|---|---|
| Notebooks de vendas | Notebooks > sales > nb_silver_customer_cleaning |
| Pipelines de estoque | Pipelines > stock > pl_stock_daily |
| Relatórios financeiros | Reports > finance > rel_finance_cash_flow |
| Tabelas do Protheus | Lakehouse > Tables > protheus > tb_raw_protheus_sa1 |
| Notebooks de ML de churn | Notebooks > churn_prediction > nb_ml_churn_training |
| Dataflows do SharePoint | Dataflows > sharepoint > df_bronze_sharepoint_goals |
Estrutura de Workspaces
📁 Workspace/
│
├── 📁 Lakehouses/
│ └── 📁 [domain]/
│
├── 📁 Warehouses/
│ └── 📁 [domain]/
│
├── 📁 Notebooks/
│ └── 📁 [domain]/
│
├── 📁 Pipelines/
│ └── 📁 [domain]/
│
├── 📁 Dataflows/
│ └── 📁 [domain]/
│
├── 📁 Semantic Models/
│ └── 📁 [domain]/
│
└── 📁 Reports/
└── 📁 [domain]/
Estrutura de Lakehouses
📁 Lakehouse/
│
├── 📁 Tables/ ← Tabelas Delta (gerenciadas)
│ │
│ ├── 📁 protheus/ ← Fonte: ERP Protheus
│ │ ├── tb_raw_protheus_sa1
│ │ ├── tb_raw_protheus_sb1
│ │ └── tb_raw_protheus_sd2
│ │
│ ├── 📁 sharepoint/ ← Fonte: SharePoint
│ │ └── tb_raw_sharepoint_sales_goals
│ │
│ ├── 📁 api/ ← Fonte: APIs externas
│ │ └── tb_raw_api_dollar_rate
│ │
│ ├── 📁 sales/ ← Domínio: Comercial
│ │ ├── tb_dim_customer
│ │ ├── tb_dim_salesperson
│ │ ├── tb_fact_sales
│ │ └── tb_agg_sales_monthly
│ │
│ ├── 📁 stock/ ← Domínio: Estoque
│ │ ├── tb_dim_product
│ │ ├── tb_dim_warehouse
│ │ ├── tb_fact_stock
│ │ └── tb_agg_stock_weekly
│ │
│ ├── 📁 finance/ ← Domínio: Financeiro
│ │ ├── tb_dim_cost_center
│ │ ├── tb_fact_accounts_payable
│ │ └── tb_fact_accounts_receivable
│ │
│ └── 📁 shared/ ← Dimensões compartilhadas
│ ├── tb_dim_date
│ ├── tb_dim_region
│ └── tb_dim_dollar_rate
│
└── 📁 Files/ ← Arquivos brutos (staging)
│
├── 📁 landing/ ← Arquivos recém-chegados
│ ├── 📁 sharepoint/
│ └── 📁 external/
│
├── 📁 archive/ ← Arquivos processados
│ └── 📁 [YYYY-MM]/
│
└── 📁 rejected/ ← Arquivos com erro
└── 📁 [YYYY-MM]/
Exemplos de Domínios no Lakehouse
| Pasta | Tipo | Conteúdo |
|---|---|---|
protheus/ | Fonte | Tabelas raw do ERP Protheus |
sharepoint/ | Fonte | Tabelas raw de arquivos SharePoint |
api/ | Fonte | Tabelas raw de APIs externas |
sales/ | Área de Negócio | Dimensões, fatos e agregações de vendas |
stock/ | Área de Negócio | Dimensões, fatos e agregações de estoque |
finance/ | Área de Negócio | Dimensões, fatos e agregações financeiras |
shared/ | Compartilhado | Dimensões reutilizadas por múltiplos domínios |
Estrutura de Notebooks
📁 Notebooks/
│
├── 📁 sales/ ← Domínio: Comercial
│ ├── nb_silver_customer_cleaning
│ ├── nb_silver_sales_transformation
│ ├── nb_gold_sales_aggregation
│ └── nb_gold_kpis_calculation
│
├── 📁 stock/ ← Domínio: Estoque
│ ├── nb_silver_product_transformation
│ ├── nb_silver_stock_transformation
│ └── nb_gold_stock_aggregation
│
├── 📁 finance/ ← Domínio: Financeiro
│ ├── nb_silver_accounts_transformation
│ └── nb_gold_finance_aggregation
│
├── 📁 dollar_rate/ ← Projeto: Cotação do Dólar
│ ├── nb_bronze_dollar_rate
│ ├── nb_silver_dollar_rate
│ └── nb_gold_dollar_rate
│
├── 📁 churn_prediction/ ← Projeto: ML Churn
│ ├── nb_ml_churn_feature_engineering
│ ├── nb_ml_churn_training
│ └── nb_ml_churn_scoring
│
├── 📁 exploration/ ← Análises exploratórias
│ ├── nb_exploration_data_quality
│ └── nb_exploration_protheus_sa1
│
└── 📁 util/ ← Utilitários compartilhados
├── nb_util_generate_dim_date
└── nb_util_optimize_delta
Exemplos de Domínios em Notebooks
| Pasta | Tipo | Conteúdo |
|---|---|---|
sales/ | Área de Negócio | Notebooks de transformação e agregação de vendas |
stock/ | Área de Negócio | Notebooks de transformação e agregação de estoque |
finance/ | Área de Negócio | Notebooks de transformação financeira |
dollar_rate/ | Projeto | Pipeline completo de cotação do dólar |
churn_prediction/ | Projeto | Notebooks de ML para previsão de churn |
exploration/ | Técnico | Análises exploratórias e qualidade de dados |
util/ | Técnico | Scripts utilitários reutilizáveis |
Estrutura de Pipelines
📁 Pipelines/
│
├── 📁 master/ ← Orquestradores principais
│ ├── pl_master_full_daily
│ └── pl_master_full_weekly
│
├── 📁 sales/ ← Domínio: Comercial
│ ├── pl_bronze_protheus_sa1
│ ├── pl_bronze_protheus_sd2
│ ├── pl_silver_sales_transformation
│ └── pl_sales_daily
│
├── 📁 stock/ ← Domínio: Estoque
│ ├── pl_bronze_protheus_sb1
│ ├── pl_bronze_protheus_sd3
│ └── pl_stock_daily
│
├── 📁 finance/ ← Domínio: Financeiro
│ ├── pl_bronze_protheus_se1
│ └── pl_finance_daily
│
├── 📁 dollar_rate/ ← Projeto: Cotação do Dólar
│ └── pl_dollar_rate_daily
│
└── 📁 churn_prediction/ ← Projeto: ML Churn
└── pl_ml_churn_weekly
Exemplos de Domínios em Pipelines
| Pasta | Tipo | Conteúdo |
|---|---|---|
master/ | Orquestração | Pipelines que coordenam execução de outros pipelines |
sales/ | Área de Negócio | Pipelines de ingestão e transformação de vendas |
stock/ | Área de Negócio | Pipelines de ingestão e transformação de estoque |
dollar_rate/ | Projeto | Pipeline de ingestão da API do BCB |
churn_prediction/ | Projeto | Pipeline de execução do modelo de ML |
Estrutura de Dataflows
📁 Dataflows/
│
├── 📁 sharepoint/ ← Fonte: SharePoint
│ ├── df_bronze_sharepoint_goals
│ └── df_bronze_sharepoint_prices
│
├── 📁 excel/ ← Fonte: Arquivos Excel
│ ├── df_bronze_excel_budget
│ └── df_bronze_excel_mapping
│
├── 📁 sales/ ← Domínio: Comercial
│ ├── df_silver_customer_cleaning
│ └── df_silver_customer_standardization
│
└── 📁 stock/ ← Domínio: Estoque
└── df_silver_product_standardization
Estrutura de Semantic Models
📁 Semantic Models/
│
├── 📁 sales/ ← Domínio: Comercial
│ ├── sm_sales_general
│ └── sm_sales_operational
│
├── 📁 stock/ ← Domínio: Estoque
│ ├── sm_stock_general
│ └── sm_stock_operational
│
├── 📁 finance/ ← Domínio: Financeiro
│ └── sm_finance_general
│
└── 📁 corp/ ← Domínio: Corporativo
├── sm_corp_executive
└── sm_corp_analytics
Estrutura de Reports
📁 Reports/
│
├── 📁 sales/ ← Domínio: Comercial
│ ├── rel_sales_daily
│ ├── rel_sales_goal_achieved
│ └── rel_sales_customer_analysis
│
├── 📁 stock/ ← Domínio: Estoque
│ ├── rel_stock_current_position
│ ├── rel_stock_product_turnover
│ └── rel_stock_replenishment
│
├── 📁 finance/ ← Domínio: Financeiro
│ ├── rel_finance_cash_flow
│ ├── rel_finance_accounts_payable
│ └── rel_finance_income_statement
│
└── 📁 corp/ ← Domínio: Corporativo
├── rel_corp_executive_dashboard
├── rel_corp_monthly_summary
└── rel_corp_churn_prediction
Convenções
| Convenção | Padrão |
|---|---|
| Datas em pastas | YYYY-MM-DD ou YYYY-MM (ISO 8601) |
| Separador de nomes | _ (underscore) |
| Case | snake_case (tudo em minúsculas) |
| Idioma | Inglês para todos os objetos de dados |
Regras
| ✅ Fazer | ❌ Evitar |
|---|---|
| Usar pastas por domínio para agrupar artefatos | Criar artefatos na raiz sem organização |
| Separar ambientes DEV/PROD em workspaces distintos | Misturar ambientes no mesmo workspace |
| Manter nomenclatura consistente em snake_case | Usar nomes genéricos (notebook1, test) |
| Organizar por área de negócio, projeto ou fonte | Misturar domínios diferentes na mesma pasta |
| Limpar arquivos temporários periodicamente | Deixar staging indefinidamente |
Criar pasta shared/ para dimensões compartilhadas | Duplicar dimensões em múltiplos domínios |
Exemplo Completo: Workspace de Produção
📁 qan_br_td_data_prod/
│
├── 📁 Lakehouses/
│ ├── lh_corp_bronze
│ ├── lh_corp_silver
│ └── lh_corp_gold
│
├── 📁 Notebooks/
│ ├── 📁 sales/
│ ├── 📁 stock/
│ ├── 📁 finance/
│ ├── 📁 dollar_rate/
│ ├── 📁 churn_prediction/
│ ├── 📁 exploration/
│ └── 📁 util/
│
├── 📁 Pipelines/
│ ├── 📁 master/
│ ├── 📁 sales/
│ ├── 📁 stock/
│ ├── 📁 finance/
│ └── 📁 dollar_rate/
│
├── 📁 Dataflows/
│ ├── 📁 sharepoint/
│ ├── 📁 excel/
│ └── 📁 sales/
│
├── 📁 Semantic Models/
│ ├── 📁 sales/
│ ├── 📁 stock/
│ ├── 📁 finance/
│ └── 📁 corp/
│
└── 📁 Reports/
├── 📁 sales/
├── 📁 stock/
├── 📁 finance/
└── 📁 corp/
Dúvidas, Sugestões ou Problemas?
Entre em contato com o Time de Transformação Digital (TD) ou o Comitê de Dados.