Structure Fabric items by applying naming conventions

In Fabric, you can have many different items in your Workspace. So many, that you easily get lost! Luckily there are tools at hand like Taskflows and Workspace folders. But still, it can be challenging to easily find all your items that ingest data, or find all items that are used for inbetween layers to transform data.

In this blog, I will tell you more about my personal best practice for naming convention of Fabric items that helps me to structure everything in my workspace.

Why a naming convention?

As said in the introduction of this blog, there are a few options you can already use in Fabric to structure your workspace. Taskflows are useful to have a live whiteboard and categorize all your items. Folders help you to structure your items as well, but not necessarily in the same structure as your taskflow is.

Looking at folder structure, I often come across setups based on medallion architecture. Sometimes folders based on items types, like a dedicated folder for lakehouses, one for notebooks, one for semantic models and so on.

Given this is everyone’s personal preference and project agreements, I still felt like there is a need for item naming conventions. No matter the structure of your folders or taskflow, it will always be easy to find the relevant item based on the name and have a general idea what the item is used for.

Structure

There is an overall structure I setup for the naming convention. Of course, this is my version, you can always adapt a different version to your organization or project agreement. The structure I defined is based on the following concept:

Characters Description
1 – 2 Item type
3 Underscore
4 – 8 Item purpose
9 Underscore
10 – … Free text

To make sure everyone gets it right, let’s deep dive a bit more on the specific elements and possible options you can fill out.

Item type

The first two characters define the item type. Below a list of possible Fabric item types and their abbreviation for the naming convention.

Abbreviation Full item name
CJ Copy Job
DP Data Pipeline
DF Dataflow
ES Eventstream
MR Mirrored object (database, snowflake, etc.)
SD Spark Job Definition
NB Notebook
EN Environment
EX Experiment
ML Machine Learning Model
LH Lakehouse
WH Warehouse
EH Eventhouse
DB SQL Databsae
SM Semantic Model
KQ KQL Queryset
DA Data Agent (AI Skill)
RP Report
PR Paginated Report
DS Dashboard
RD Realtime Dashboard
SC Scorecard
AC Activator
OA Org App
VL Variable Lirary

And more to come when new item types are added.

Item purpose

Based on the prefix we discussed before, we can identify what type of code we can expect, the expertise required to understand what is happening in these items, etcetera. The next relevant topic is the item purpose. With the purpose we intend to look at the overall categorization of the item. Below a list of potential categorizations:

Abbreviation Description
ORCHS Orchestration pipeline to link various items together in a chain of execution
INGST Ingestion of data in the platform, for example used with copy job activities, pipelines or mirrored objects
TRNSF Transform the data between different layers, for example done in notebooks
STORE Save data in lakehouses or warehouses
ANLYZ Analyze purposes like semantic models
SCIEN Analytical jobs like machine learning models
MAINT Maintainance tasks, like optimizing and vacuuming lakehouses
MONIT Monitoring jobs, like workspace monitoring
CNFGS Configure items, like variable libraries etcetera
DOCUM Documenting solution, like automated documentation generation through metadata

Probably you can think of many more, but these were top of mind for me.

Examples

All this can be a bit much, let’s have a look at some examples to get you going.

Pipeline used for orchestration purposes of nightly loads
DP_ORCHS_NightlyBatch

Copy job to ingest data from Oracle database Fabric
CJ_INGST_OracleDb

Lakehouse to store your entities in the silver layer
LH_STORE_Silver

Semantic model for year over year sales analysis
SM_ANLYZ_YoySales

You will probably get it by now. And you may be wondering, but this is not user friendly, is it? Cause a cryptic name like RP_ANLYZ_DepartmentRevenue is not in line with user expectations. Well, that is also where you sharing mechanism will come in. If you use direct share options, there is not much what you can do, and you may not want to use this naming convention for everything that is shared with end-users. However, if you share your content through an App (which I believe is what you should be doing), you can still rename your items in the app configuration.

One thought on “Structure Fabric items by applying naming conventions

Leave a reply to kumarkadamb0dd70701f Cancel reply