Base de datos de fábrica
En Tier0, los datos de fábrica se organizan en modelos claros con estructura de árbol basados en la metodología UNS (Unified Namespace), formando una base de datos unificada.
- El broker recibe y envía datos a través de topics del modelo.
%%{init: {"flowchart": {"defaultRenderer": "elk", "nodeSpacing": 32, "rankSpacing": 48, "diagramPadding": 8}}}%%
flowchart TB
source["Fuente de datos / consumidor"]
subgraph UNS["Unified Namespace"]
direction LR
Model["Modelo<br/>Define rutas, topics y payloads"]
Broker["Broker<br/>Gestiona el intercambio de datos"]
Storage["Almacenamiento<br/>Persiste los datos"]
Model <--> Broker
Broker --> Storage
end
source <-- "MQTT / API" --> Broker
classDef broker fill:#F7FAF2,stroke:#D8E6B8,stroke-width:1px,color:#2A2A2A,stroke-dasharray:5 5
class Broker broker- Los modelos se clasifican en tres tipos: Metric, State y Action.
- Los datos se almacenan en diferentes bases de datos según el tipo de modelo.
- Action/State: JSONB (PostgreSQL)
- Metric: datos en tiempo real (TSDB)
%%{init: {
"themeVariables": {
"fontSize": "14pt"
},
"flowchart": {
"defaultRenderer": "elk",
"nodeSpacing": 40,
"rankSpacing": 56,
"diagramPadding": 8
}
}}%%
flowchart LR
subgraph Model["Tipo de modelo"]
direction TB
metric["Metric<br/>Datos numéricos de alta frecuencia"]
state["State<br/>Hechos o estados actuales"]
action["Action<br/>Comandos u operaciones solicitadas"]
end
subgraph Storage["Almacenamiento"]
direction TB
tsdb["TSDB<br/>Almacenamiento de series temporales para Metric"]
jsonb["JSONB<br/>Almacenamiento documental para State y Action"]
end
metric --> tsdb
state --> jsonb
action --> jsonbMetric, State, Action
Sección titulada «Metric, State, Action»Los datos industriales cambian con distintas frecuencias y sirven para distintos propósitos, por eso Tier0 separa los modelos UNS en tres tipos fijos.
| Tipo | Por qué | Ejemplo |
|---|---|---|
METRIC |
Diseñado para datos de alta frecuencia que se recopilan continuamente y necesitan almacenamiento de series temporales. | Temperatura/presión/voltaje de máquina |
STATE |
Diseñado para datos que cambian con menor frecuencia y describen la condición o hecho actual de un objeto. | Estado operativo de una máquina |
ACTION |
Diseñado para datos de comando de baja frecuencia que registran lo que debe ejecutar un sistema externo u operador. | Iniciar lote, detener máquina |
Path/Topic, Payload
Sección titulada «Path/Topic, Payload»Cada modelo UNS contiene un path, un topic y un payload. Juntos forman una estructura de árbol que transporta contexto de negocio y datos industriales.
- Path/Topic: El path representa la propiedad de los datos, y el topic transporta el payload del mensaje. Juntos definen la model address.
- Payload: El payload del mensaje que contiene el topic. Es JSON en formato key-value y define los model data.
Por ejemplo, un modelo en UNS se ve como el árbol siguiente:
Factory_A └── Site_01 └── SMT_Line_1 └── Metric └── Machine_001- Path:
Factory_A/Site_01/SMT_Line_1/Metric - Topic:
/Machine_001. - Payload
Terminal window "temperature": 85,"vibration": 2.8,
Factory_A └── ERP └── ProductionOrders └── State └── OrderList- Path:
Factory_A/ERP/ProductionOrders/State - Topic:
/OrderList. - Payload
Terminal window "orders": "0123569876","updated_at": 2026-7-13,
En Tier0, el broker es el componente de la plataforma que recibe y envía datos por MQTT u OpenAPI según los modelos de datos.
- Por MQTT: El path completo de cada nodo en el árbol del modelo funciona como dirección del topic para pasar el payload del mensaje.
- Por Open API: Ejecuta comandos CRUD sobre modelos de datos mediante solicitudes HTTP.
Storage
Sección titulada «Storage»Tier0 usa PostgreSQL para almacenar datos. Los distintos tipos de datos cambian a distintas velocidades y tienen distintos requisitos de almacenamiento.
| Tipo de dato | Almacenamiento | Descripción |
|---|---|---|
| Metric | Time-series database | Optimizado para mediciones de alta frecuencia como temperatura y presión. Cada topic incluye campos predeterminados: timestamp y quality. |
| State | PostgreSQL | Almacena estados de máquinas o sistemas en un formato flexible JSONB. |
| Action | PostgreSQL | Almacena comandos o acciones en un formato flexible JSONB. |
Siguiente
Sección titulada «Siguiente»- Conectar datos a UNS - Cómo modelar tu planta en UNS y conectar datos al modelo.
- Trabajar con datos UNS - Cómo operar sobre tu modelo UNS mediante MQTT y APIs.