{"id":2103,"date":"2026-10-08T15:53:25","date_gmt":"2026-10-08T15:53:25","guid":{"rendered":"https:\/\/integrationobjects.com\/blog\/?p=2103"},"modified":"2026-10-20T08:36:04","modified_gmt":"2026-10-20T08:36:04","slug":"what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua","status":"publish","type":"post","link":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/","title":{"rendered":"What Is a Unified Namespace (UNS)? The roles of MQTT and OPC UA"},"content":{"rendered":"<blockquote><p><strong>Quick answer: <\/strong>A Unified Namespace (UNS) is a single, event-driven data hub where every industrial and business system publishes its current state and reads everyone else\u2019s. It is usually a topic tree on an MQTT (originally Message Queuing Telemetry Transport) broker, organised by the ISA-95 equipment hierarchy: enterprise, site, area, work center and work unit. OPC Unified Architecture (OPC UA) gives machine data its meaning at the edge, and MQTT distributes it to every consumer.<\/p><\/blockquote>\n<p>Ask five people what a Unified Namespace is and you&#8217;ll get five answers, usually shaped by whatever product they sell. The core idea is simpler than the vocabulary around it: one structured place, organised like the company, where every system publishes its current state and reads everyone else&#8217;s. The term was popularised by Walker Reynolds of 4.0 Solutions. [1] It is a pattern, not a product and not a formal standard.<\/p>\n<p>In a Unified Namespace, two technologies do most of the work, and they do different jobs. <a href=\"https:\/\/integrationobjects.com\/blog\/what-is-opc-ua\/\"><strong>OPC UA<\/strong><\/a> explains the machine: what each value is, in what unit, and how good it is. <a href=\"https:\/\/integrationobjects.com\/blog\/what-is-mqtt-a-deep-dive-into-mqtt-and-the-role-of-mqtt-universal-broker\/\"><strong>MQTT<\/strong><\/a> carries those values to everyone who needs them. Neither replaces the other.<\/p>\n<ul>\n<li><strong>One address for every value.<\/strong> Each system connects once, and new consumers subscribe without touching the sources.<\/li>\n<li><strong>The model is what makes it unified.<\/strong> A broker full of ad hoc topics is just a broker.<\/li>\n<li><strong>It holds what is true now.<\/strong> History belongs in a historian that subscribes to the namespace.<\/li>\n<\/ul>\n<h2>The problem a Unified Namespace solves<\/h2>\n<p>Industrial architecture is usually drawn as a pyramid: enterprise resource planning (ERP) at the top, then the manufacturing execution system (MES), supervisory control and data acquisition (SCADA), controllers and field devices. In a real plant every boundary is a custom interface. The MES reads from SCADA, SCADA polls the programmable logic controllers (PLCs), and the analytics team needs a bypass nobody planned for. Each hop adds delay, duplicates data and creates something to maintain. [2][3] A UNS flattens that: every system, whatever its level, connects once to the namespace.<\/p>\n<figure id=\"attachment_2154\" aria-describedby=\"caption-attachment-2154\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-2154\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-1024x512.png\" alt=\"\" width=\"640\" height=\"320\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-1024x512.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-300x150.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-768x384.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-1536x768.png 1536w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-vs-automation-pyramid-1-1-2048x1024.png 2048w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-2154\" class=\"wp-caption-text\"><em>Figure 1. From neighbor-to-neighbor interfaces to one shared namespace.<\/em><\/figcaption><\/figure>\n<h2>What a Unified Namespace is, and what it is not<\/h2>\n<p>A good UNS shares five traits: a single source of truth for current state, a structure that mirrors the business, event-driven updates instead of polling, openness (no dependence on one vendor), and context that travels with each value, such as units, quality and time.<\/p>\n<table width=\"658\">\n<thead>\n<tr>\n<td width=\"193\"><strong>It is not&#8230;<\/strong><\/td>\n<td width=\"464\"><strong>Because&#8230;<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"193\"><strong>A product or a standard<\/strong><\/td>\n<td width=\"464\">There is no single normative specification. Vendors implement parts of it, and the design stays yours.<\/td>\n<\/tr>\n<tr>\n<td width=\"193\"><strong>Just an MQTT broker<\/strong><\/td>\n<td width=\"464\">The broker only carries messages. Naming, payload and ownership agreements are what unify it.<\/td>\n<\/tr>\n<tr>\n<td width=\"193\"><strong>A historian or a data lake<\/strong><\/td>\n<td width=\"464\">It holds current state, usually as retained values. Storage systems subscribe to it for history.<\/td>\n<\/tr>\n<tr>\n<td width=\"193\"><strong>A replacement for MES, SCADA or ERP<\/strong><\/td>\n<td width=\"464\">Those stay systems of record. They become publishers and subscribers in the namespace.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Unified Namespace architecture: the UNS topic structure<\/h2>\n<p>Each topic segment is a level in the business hierarchy, running from general to specific. Enterprise and site systems tend to publish near the top, and the PLCs and gateways closest to the machines publish near the bottom. The levels follow the ISA-95 equipment hierarchy: enterprise, site, area, work center (a line or process cell) and work unit. [2] A full topic reads left to right, for example acme-water\/plant-a\/reverse-osmosis\/ro-train-2\/hp-pump-1\/state.<\/p>\n<figure id=\"attachment_2155\" aria-describedby=\"caption-attachment-2155\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-2155\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-1024x578.png\" alt=\"\" width=\"640\" height=\"361\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-1024x578.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-300x169.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-768x433.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-1536x867.png 1536w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-topic-structure-isa95-1-2-2048x1156.png 2048w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-2155\" class=\"wp-caption-text\"><em>Figure 2. A topic mirrors the business hierarchy, and each branch has one owning publisher.<\/em><\/figcaption><\/figure>\n<ul>\n<li><strong>One owner per topic.<\/strong> Exactly one system writes any given topic. Readers can be many, writers should not be.<\/li>\n<li><strong>Stable names.<\/strong> A topic should survive replacing a PLC. Name the thing, not the wiring.<\/li>\n<li><strong>Raw and curated apart.<\/strong> Keep unprocessed device data on its own branch, so readers know how much meaning a value has.<\/li>\n<li><strong>Self-describing payloads.<\/strong> Coordinated Universal Time (UTC) timestamp, value, unit, quality and a schema version<\/li>\n<\/ul>\n<h2>Unified Namespace with MQTT and OPC UA: who does what<\/h2>\n<p>The two are often <a href=\"https:\/\/integrationobjects.com\/blog\/mqtt-vs-opc-ua-which-protocol-should-you-use\/\">presented as rivals.<\/a> They aren&#8217;t. They sit at different places and answer different questions.<\/p>\n<table width=\"658\">\n<thead>\n<tr>\n<td width=\"113\"><\/td>\n<td width=\"272\"><strong>MQTT<\/strong><\/td>\n<td width=\"272\"><strong>OPC UA<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"113\"><strong>Main job<\/strong><\/td>\n<td width=\"272\">Distribute messages to many subscribers through a broker<\/td>\n<td width=\"272\">Describe and expose machine data with meaning<\/td>\n<\/tr>\n<tr>\n<td width=\"113\"><strong>Where it sits<\/strong><\/td>\n<td width=\"272\">From the edge upward, across the enterprise<\/td>\n<td width=\"272\">At the machine and the edge<\/td>\n<\/tr>\n<tr>\n<td width=\"113\"><strong>What it gives a UNS<\/strong><\/td>\n<td width=\"272\">Decoupled fan-out, retained current state, last will, outbound-only connections, light footprint<\/td>\n<td width=\"272\">Typed nodes with units and status, discovery, companion models for common machine types, built-in security [4][5]<\/td>\n<\/tr>\n<tr>\n<td width=\"113\"><strong>Where it stops<\/strong><\/td>\n<td width=\"272\">No payload format, units or discovery, and no history<\/td>\n<td width=\"272\">Client\/server keeps a session per consumer, and its address space describes a device, not the business<\/td>\n<\/tr>\n<tr>\n<td width=\"113\"><strong>Also worth knowing<\/strong><\/td>\n<td width=\"272\">Sparkplug adds a typed payload and birth\/death state [6]<\/td>\n<td width=\"272\">PubSub (Part 14) can publish over an MQTT broker [4]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>One choice deserves a decision. Sparkplug&#8217;s topics are built around group, node and device, not around the business. Many teams use <a href=\"https:\/\/integrationobjects.com\/blog\/what-is-sparkplug-b-industrial-mqtt-explained\/\">Sparkplug B<\/a> at the edge and translate into a readable ISA-95 style tree above it. Others stay with plain topics and JSON (JavaScript Object Notation) and define their own state conventions.<\/p>\n<h2>How MQTT and OPC UA fit together in a Unified Namespace<\/h2>\n<p>The two meet at the edge. A machine exposes data through an OPC UA server. Something at the edge turns that machine-centric data into messages addressed in the business hierarchy and publishes them to the broker that hosts the namespace. Everything above the edge sees only MQTT.<\/p>\n<figure id=\"attachment_2156\" aria-describedby=\"caption-attachment-2156\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-2156\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-1024x739.png\" alt=\"\" width=\"640\" height=\"462\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-1024x739.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-300x216.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-768x554.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-1536x1108.png 1536w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/uns-opc-ua-mqtt-roles-1-1-2048x1477.png 2048w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-2156\" class=\"wp-caption-text\"><em>Figure 3. Machines expose data through OPC UA, and the namespace distributes it over MQTT.<\/em><\/figcaption><\/figure>\n<p>The key step is <strong>contextualization<\/strong>: mapping a node ID to a business address, stamping a UTC time, and carrying the unit and quality across.<\/p>\n<figure id=\"attachment_2157\" aria-describedby=\"caption-attachment-2157\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-2157\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-1024x527.png\" alt=\"\" width=\"640\" height=\"329\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-1024x527.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-300x154.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-768x395.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-1536x790.png 1536w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/opc-ua-node-to-uns-topic-1-1-2048x1053.png 2048w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-2157\" class=\"wp-caption-text\"><em>Figure 4. The same value, given a business address and a self-describing payload.<\/em><\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<table width=\"658\">\n<thead>\n<tr>\n<td width=\"153\"><strong>Pattern<\/strong><\/td>\n<td width=\"298\"><strong>How it works<\/strong><\/td>\n<td width=\"207\"><strong>Watch for<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"153\"><strong>Edge connector<\/strong><\/td>\n<td width=\"298\">A gateway reads OPC UA servers and publishes contextualized values to MQTT. The most common route.<\/td>\n<td width=\"207\">The connector configuration holds your model. Version and review it.<\/td>\n<\/tr>\n<tr>\n<td width=\"153\"><strong>OPC UA PubSub over MQTT<\/strong><\/td>\n<td width=\"298\">Devices publish DataSets straight to the broker, in JSON or binary UADP (UA Datagram Protocol). [4]<\/td>\n<td width=\"207\">Default topics follow Part 14, not your namespace. Support varies by product.<\/td>\n<\/tr>\n<tr>\n<td width=\"153\"><strong>Native MQTT or Sparkplug devices<\/strong><\/td>\n<td width=\"298\">The device is itself an MQTT client.<\/td>\n<td width=\"207\">Usually still needs translation into the business tree.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How to start and govern a Unified Namespace<\/h2>\n<p>Keeping a Unified Namespace healthy comes down to people more than software. Name an owner for the naming standard and schema versions. Write access lists by branch so each publisher can write only to its own part of the tree, and keep command topics separate and validated at the device. Run a broker at each site so plants keep working if the wide-area link drops. And start small: one line, two or three sources, one or two consumers, then refine the model before you widen it. [7]<\/p>\n<h2>Building a Unified Namespace with SIOTH\u00ae<\/h2>\n<p><a href=\"https:\/\/integrationobjects.com\/sioth\">SIOTH\u00ae (Smart IoT Highway),<\/a> the Integration Objects platform for information technology and operational technology (IT\/OT) integration, implements the edge-connector pattern described above. Users configure Data Flows rather than point-to-point interfaces.<\/p>\n<ul>\n<li><strong>Data Flow<\/strong> connects OPC UA, OPC Classic, Modbus and 100+ OT protocols at the edge, with store-and-forward buffering for unreliable links.<\/li>\n<li><strong>Data Model<\/strong> maps each value into an ISA-95 compatible asset hierarchy, which becomes your topic tree.<\/li>\n<li><strong><a href=\"https:\/\/integrationobjects.com\/sioth\/mqtt-universal-broker\">MQTT Universal Broker<\/a>,<\/strong> a configurable server within Data Flow and Eclipse Sparkplug B certified, hosts the namespace.<\/li>\n<li><strong><a href=\"https:\/\/integrationobjects.com\/sioth\/opc-ua-universal-server\">OPC UA Universal Server,<\/a> <\/strong>also a configurable server within Data Flow, exposes the same model to OPC UA clients, and historians such as AVEVA PI subscribe natively for history.<\/li>\n<\/ul>\n<blockquote><p><strong>See a Unified Namespace built on your own data.<\/strong><\/p><\/blockquote>\n<div style=\"display: flex;\"><a id=\"download\" class=\"btn_product_download\" href=\"https:\/\/integrationobjects.com\/sioth-demo-request\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Request a Demo<\/strong><\/a> <a id=\"download\" class=\"btn_product_download\" href=\"https:\/\/integrationobjects.com\/download\/sioth-smartiot-highway?code=11330&amp;name=SIOTH%C2%AE%20%E2%80%93%20Smart%20IoT%20Highway&amp;product=sioth-opc\/it-ot-integration\/sioth-smart-iot-highway\" target=\"_blank\" rel=\"noopener\">Download the Free Trial of SIOTH\u00ae<\/a><\/div>\n<h2>Frequently asked questions<\/h2>\n<style>#sp-ea-2109 .spcollapsing { height: 0; overflow: hidden; transition-property: height;transition-duration: 300ms;}#sp-ea-2109.sp-easy-accordion>.sp-ea-single {margin-bottom: 10px; border: 1px solid #e2e2e2; }#sp-ea-2109.sp-easy-accordion>.sp-ea-single>.ea-header a {color: #444;}#sp-ea-2109.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {background: #fff; color: #444;}#sp-ea-2109.sp-easy-accordion>.sp-ea-single {background: #eee;}#sp-ea-2109.sp-easy-accordion>.sp-ea-single>.ea-header a .ea-expand-icon { float: left; color: #444;font-size: 16px;}.sp-easy-accordion .sp-ea-single .ea-header a{\r\n  display: block;\r\n    text-decoration: none;\r\n    cursor: pointer;\r\n    font-weight: 600;\r\n    color: #444;\r\n    font-size: 16px !important;\r\n    line-height: 1;\r\n  box-shadow: none;}<\/style><div id=\"sp_easy_accordion-1791474534\"><div id=\"sp-ea-2109\" class=\"sp-ea-one sp-easy-accordion\" data-ea-active=\"ea-click\" data-ea-mode=\"vertical\" data-preloader=\"\" data-scroll-active-item=\"\" data-offset-to-scroll=\"0\"><div class=\"ea-card ea-expand sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21090\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21090\" aria-controls=\"collapse21090\" href=\"#\" aria-expanded=\"true\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-minus\"><\/i> What is a Unified Namespace? <\/a><\/h3><div class=\"sp-collapse spcollapse collapsed show\" id=\"collapse21090\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21090\"> <div class=\"ea-body\"><p>A Unified Namespace is an architectural pattern in which every system in a business publishes its current state to one shared, hierarchical topic tree, usually on an MQTT broker, and reads from it. It replaces point-to-point interfaces with a single source of truth for current state. [1][2]<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21091\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21091\" aria-controls=\"collapse21091\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> Is a UNS a product I can buy? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21091\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21091\"> <div class=\"ea-body\"><p>No. It is an architectural pattern. You build it from a broker, edge connectors and, above all, a shared naming and modeling discipline. Vendors package parts of it. [1]<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21092\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21092\" aria-controls=\"collapse21092\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> Does a Unified Namespace replace my historian, MES or SCADA? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21092\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21092\"> <div class=\"ea-body\"><p>No. They become publishers and subscribers. The UNS carries live state; the historian keeps history, and retained messages give late joiners the latest value.<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21093\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21093\" aria-controls=\"collapse21093\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> How is a Unified Namespace different from a data lake? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21093\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21093\"> <div class=\"ea-body\"><p>A data lake stores history in bulk for later analysis. A UNS holds the current state of the business in real time, in a structured topic tree. They work together: the data lake subscribes to the namespace and keeps the history.<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21094\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21094\" aria-controls=\"collapse21094\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> Can OPC UA itself be the UNS? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21094\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21094\"> <div class=\"ea-body\"><p>In principle you can aggregate OPC UA servers, but client\/server sessions suit browsing and control better than wide fan-out of current state. Most designs use OPC UA at the machine and a broker for distribution. [5]<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21095\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21095\" aria-controls=\"collapse21095\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> MQTT or OPC UA: which one? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21095\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21095\"> <div class=\"ea-body\"><p>Usually both. OPC UA gives structured, discoverable access to machines. MQTT spreads the result to every consumer without coupling them to the machine.<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21096\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21096\" aria-controls=\"collapse21096\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> Sparkplug or plain topics? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21096\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21096\"> <div class=\"ea-body\"><p>Sparkplug gives typed payloads and state handling but a fixed topic structure. Plain ISA-95 topics are readable and flexible, but you define state yourself. Many sites combine them. [6]<\/p><\/div><\/div><\/div><div class=\"ea-card sp-ea-single\"><h3 class=\"ea-header\"><a class=\"collapsed\" id=\"ea-header-21097\" role=\"button\" data-sptoggle=\"spcollapse\" data-sptarget=\"#collapse21097\" aria-controls=\"collapse21097\" href=\"#\" aria-expanded=\"false\" tabindex=\"0\"><i aria-hidden=\"true\" role=\"presentation\" class=\"ea-expand-icon eap-icon-ea-expand-plus\"><\/i> How deep should a UNS topic hierarchy be? <\/a><\/h3><div class=\"sp-collapse spcollapse \" id=\"collapse21097\" data-parent=\"#sp-ea-2109\" role=\"region\" aria-labelledby=\"ea-header-21097\"> <div class=\"ea-body\"><p>Follow the ISA-95 levels you actually use, typically five to eight. Put changing values such as batch IDs in the payload, not the topic. [2]<\/p><\/div><\/div><\/div><script type=\"application\/ld+json\">{ \"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"@id\": \"sp-ea-schema-2109-6ae274433fef0\", \"mainEntity\": [{ \"@type\": \"Question\", \"name\": \"What is a Unified Namespace? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"A Unified Namespace is an architectural pattern in which every system in a business publishes its current state to one shared, hierarchical topic tree, usually on an MQTT broker, and reads from it. It replaces point-to-point interfaces with a single source of truth for current state. [1][2]\" } },{ \"@type\": \"Question\", \"name\": \"Is a UNS a product I can buy? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"No. It is an architectural pattern. You build it from a broker, edge connectors and, above all, a shared naming and modeling discipline. Vendors package parts of it. [1]\" } },{ \"@type\": \"Question\", \"name\": \"Does a Unified Namespace replace my historian, MES or SCADA? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"No. They become publishers and subscribers. The UNS carries live state; the historian keeps history, and retained messages give late joiners the latest value.\" } },{ \"@type\": \"Question\", \"name\": \"How is a Unified Namespace different from a data lake? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"A data lake stores history in bulk for later analysis. A UNS holds the current state of the business in real time, in a structured topic tree. They work together: the data lake subscribes to the namespace and keeps the history.\" } },{ \"@type\": \"Question\", \"name\": \"Can OPC UA itself be the UNS? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"In principle you can aggregate OPC UA servers, but client\/server sessions suit browsing and control better than wide fan-out of current state. Most designs use OPC UA at the machine and a broker for distribution. [5]\" } },{ \"@type\": \"Question\", \"name\": \"MQTT or OPC UA: which one? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Usually both. OPC UA gives structured, discoverable access to machines. MQTT spreads the result to every consumer without coupling them to the machine.\" } },{ \"@type\": \"Question\", \"name\": \"Sparkplug or plain topics? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Sparkplug gives typed payloads and state handling but a fixed topic structure. Plain ISA-95 topics are readable and flexible, but you define state yourself. Many sites combine them. [6]\" } },{ \"@type\": \"Question\", \"name\": \"How deep should a UNS topic hierarchy be? \", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Follow the ISA-95 levels you actually use, typically five to eight. Put changing values such as batch IDs in the payload, not the topic. [2]\" } }] }<\/script><\/div><\/div>\n<p>&nbsp;<\/p>\n<h2><strong>References\u00a0<\/strong><\/h2>\n<p><strong>[1]\u00a0 <\/strong>Reynolds, W. (4.0 Solutions). Talks and writings that popularised the term &#8220;Unified Namespace,&#8221; from the late 2010s. No single formal publication.<\/p>\n<p><strong>[2]\u00a0 <\/strong>ISA. <em>ANSI\/ISA-95: Enterprise-Control System Integration<\/em> (series); also IEC 62264. isa.org<\/p>\n<p><strong>[3] <\/strong>Williams, T. J. &#8220;The Purdue Enterprise Reference Architecture.&#8221; <em>Computers in Industry<\/em> 24(2-3), 1994.<\/p>\n<p><strong>[4] <\/strong>OPC Foundation. <em>OPC UA Part 14: PubSub<\/em> (OPC 10000-14, v1.05; also published as IEC 62541-14). reference.opcfoundation.org\/Core\/Part14\/v105\/docs\/<\/p>\n<p><strong>[5] <\/strong>OPC Foundation. <em>OPC UA specifications<\/em> and Companion Specifications. opcfoundation.org<\/p>\n<p><strong>[6] <\/strong>Eclipse Foundation. <em>Sparkplug Specification<\/em> 3.0 (also ISO\/IEC 20237:2023); OASIS <em>MQTT Version 5.0<\/em>. sparkplug.eclipse.org<\/p>\n<p><strong>[7] <\/strong>ISA\/IEC 62443, <em>Security for industrial automation and control systems<\/em>; NIST SP 800-82 Rev. 3, 2023. isa.org, csrc.nist.gov<\/p>\n<p>&nbsp;<\/p>\n<p><em>The UNS has no formal standard, so references for it are community material. Check versions and standards status against current publications.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quick answer: A Unified Namespace (UNS) is a single, event-driven data hub where every industrial and business system publishes its current state and reads everyone<\/p>\n","protected":false},"author":1,"featured_media":2116,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[186,187],"tags":[31],"class_list":["post-2103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industrial-mqtt","category-it-ot-integration","tag-sioth"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What Is a Unified Namespace (UNS)? MQTT and OPC UA Roles<\/title>\n<meta name=\"description\" content=\"A Unified Namespace (UNS) is one topic tree where every system publishes its current state. See how MQTT and OPC UA build it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is a Unified Namespace (UNS)? MQTT and OPC UA Roles\" \/>\n<meta property=\"og:description\" content=\"A Unified Namespace (UNS) is one topic tree where every system publishes its current state. See how MQTT and OPC UA build it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/\" \/>\n<meta property=\"og:site_name\" content=\"OPC Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Integration.Objects.OPC\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T15:53:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-20T08:36:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/What-is-a-Unified-Namespace-IO-brand.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1248\" \/>\n\t<meta property=\"og:image:height\" content=\"832\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"OPCBlogAdmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@IntegObjects\" \/>\n<meta name=\"twitter:site\" content=\"@IntegObjects\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"OPCBlogAdmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Is a Unified Namespace (UNS)? MQTT and OPC UA Roles","description":"A Unified Namespace (UNS) is one topic tree where every system publishes its current state. See how MQTT and OPC UA build it.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/","og_locale":"en_US","og_type":"article","og_title":"What Is a Unified Namespace (UNS)? MQTT and OPC UA Roles","og_description":"A Unified Namespace (UNS) is one topic tree where every system publishes its current state. See how MQTT and OPC UA build it.","og_url":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/","og_site_name":"OPC Blog","article_publisher":"https:\/\/www.facebook.com\/Integration.Objects.OPC\/","article_published_time":"2026-10-08T15:53:25+00:00","article_modified_time":"2026-10-20T08:36:04+00:00","og_image":[{"width":1248,"height":832,"url":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/What-is-a-Unified-Namespace-IO-brand.png","type":"image\/png"}],"author":"OPCBlogAdmin","twitter_card":"summary_large_image","twitter_creator":"@IntegObjects","twitter_site":"@IntegObjects","twitter_misc":{"Written by":"OPCBlogAdmin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/","url":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/","name":"What Is a Unified Namespace (UNS)? MQTT and OPC UA Roles","isPartOf":{"@id":"https:\/\/integrationobjects.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/#primaryimage"},"image":{"@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/#primaryimage"},"thumbnailUrl":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/What-is-a-Unified-Namespace-IO-brand.png","datePublished":"2026-10-08T15:53:25+00:00","dateModified":"2026-10-20T08:36:04+00:00","author":{"@id":"https:\/\/integrationobjects.com\/blog\/#\/schema\/person\/6efbaf488a07e418b93ff77f00af386b"},"description":"A Unified Namespace (UNS) is one topic tree where every system publishes its current state. See how MQTT and OPC UA build it.","breadcrumb":{"@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/#primaryimage","url":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/What-is-a-Unified-Namespace-IO-brand.png","contentUrl":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2026\/10\/What-is-a-Unified-Namespace-IO-brand.png","width":1248,"height":832,"caption":"Unified Namespace"},{"@type":"BreadcrumbList","@id":"https:\/\/integrationobjects.com\/blog\/what-is-a-unified-namespace-uns-the-roles-of-mqtt-and-opc-ua\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/integrationobjects.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What Is a Unified Namespace (UNS)? The roles of MQTT and OPC UA"}]},{"@type":"WebSite","@id":"https:\/\/integrationobjects.com\/blog\/#website","url":"https:\/\/integrationobjects.com\/blog\/","name":"OPC Blog","description":"OPC and related technologies news from Integration Objects","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/integrationobjects.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/integrationobjects.com\/blog\/#\/schema\/person\/6efbaf488a07e418b93ff77f00af386b","name":"OPCBlogAdmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/integrationobjects.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f2d787c3c48eb147d5b4d0c9d05c6f35a5946c7dc40af2eedbe64030e99ea299?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f2d787c3c48eb147d5b4d0c9d05c6f35a5946c7dc40af2eedbe64030e99ea299?s=96&d=mm&r=g","caption":"OPCBlogAdmin"}}]}},"_links":{"self":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/2103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/comments?post=2103"}],"version-history":[{"count":9,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/2103\/revisions"}],"predecessor-version":[{"id":2180,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/2103\/revisions\/2180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/media\/2116"}],"wp:attachment":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/media?parent=2103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/categories?post=2103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/tags?post=2103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}