> ## Documentation Index
> Fetch the complete documentation index at: https://honeydew.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

Honeydew Semantic Layer enables to create a source of truth for an organization
business logic.

<img src="https://mintcdn.com/honeydew/YIHua7Tb-EdKa7vx/images/architecture.png?fit=max&auto=format&n=YIHua7Tb-EdKa7vx&q=85&s=b6156146332d66f2c27ded47afc3ee03" alt="High Level Architecture" width="2923" height="1603" data-path="images/architecture.png" />

The following objects exist in Honeydew:

1. Honeydew workspace: A stand-alone semantic model. Resides in a single directory
   in a git repository.

2. [Entity](/docs/modeling/entities): a granular business concept (like "customer" or "transaction")
   that is mapped to data in a data warehouse. Entities are connected by [relations](/docs/modeling/relations).

3. [Source Data](/docs/modeling/source-data): Data mapping to an entity. Defines the physical place for
   the data of an entity.

4. [Source Attributes](/docs/modeling/source-data#columns): Columns in a source table that appear as attributes
   (properties) of the enclosing entity. For example, the `customer_id` column might be mapped to the `id`
   attribute of the `customer` entity.

5. [Calculated Attributes](/docs/calculations/attributes): Virtual columns in an entity. Defined by a calculation, calculated
   attributes extend the properties of an entity. For example, may define an `amount_usd` property that is based on
   multiplying a transaction amount by the daily exchange rate for USD.

6. [Metrics](/docs/calculations/metrics): Aggregations that can be performed on an entity. Defined by an aggregative statement,
   metrics set how data of an entity is counted to build a KPI. For example, may define a `total_sales` metric that
   aggregates sales data using a SUM. Metrics are a core concept to a Semantic Layer.

7. [Domains](/docs/domains): A business domain defined by a selection of fields from different entities, and an
   accompanying configuration like data filtering. A domain allows to map subsets of the semantic layer to
   specific use cases like a sales BI environment or an AI agent.

Additional optional objects in a workspace may include:

1. [Parameters](/docs/parameters): Global parameters that are used to adjust the behavior of the semantic layer.

2. [Dynamic Datasets](/docs/dynamic-datasets): Materialized datasets built by the semantic layer as database objects or dbt models.
