Move beyond MQTT

MQTT’s event-based model can’t compete with Mycelial’s stateful, embedded databases.

Data streaming is the backbone of modern connected systems, ranging from IoT devices to large-scale data centers. One of the forerunners in this domain has been MQTT (Message Queuing Telemetry Transport), which has been a cornerstone for IoT and telemetry applications.

However, new paradigms such as Edge AI and high-throughput data workloads have stretched the limits of MQTT. Enter Mycelial—a next-generation data streaming solution built to address these emerging needs. In this blog, we compare MQTT and Mycelial, delving into the drawbacks of the former and how the latter is poised to be a game-changer.

Historical Context: MQTT

MQTT was developed by IBM in 1999 when bandwidth was expensive and often unreliable. It was designed to be a lightweight protocol that can function effectively in low-bandwidth and high-latency environments. Over TCP/IP, the protocol established a publish-subscribe model with a centralized broker to facilitate communication between devices. This model made sense for the use-cases of the time, like remote monitoring and simple telemetry tasks.

Mycelial vs. MQTT

Despite its widespread adoption and versatility, MQTT has several drawbacks that hinder its performance and utility in today's evolving landscape/ Mycelial addresses many of these shortcomings by rethinking the architecture and capabilities for modern data streaming needs.

Native Encryption
MQTT lacks built-in encryption, instead relying on external TLS/SSL protocols. This requirement forces developers to add extra security measures like ACLs and authentication externally.
Mycelial provides encryption in motion by default, freeing developers from the task of implementing external security measures.
Data Types
MQTT's payload is data-type agnostic, with no native support for complex types or metadata. This lack necessitates manual serialization and deserialization.
An abstraction layer over the message payload in Mycelial automatically converts incoming data updates into a meaningful state for direct application use.
MQTT's lightweight nature becomes a disadvantage for very large-scale, high-throughput applications without significant investment in customized optimization of brokers and routers, along with revised deployment architecture.
Designed for data-intensive Edge AI use-cases, Mycelial operates on a local-first basis. This ensures no data loss due to disconnection or network congestion. Mycelial can dynamically adjust data routing based on network pressure, and supports redundant router deployments.
Quality of Service (QoS)
The QoS features in MQTT can introduce unnecessary latency and overhead, particularly when the system needs stringent guarantees like "Exactly once" (QoS 2).
Mycelial's approach to QoS requires peers to acknowledge data delivery, ensuring consistent data arrival.
The centralized broker architecture risks becoming a bottleneck or even a single point of failure if not managed correctly.
Mycelial clients will wait to reconnect if they cannot access a router, which guarantees data integrity and system resilience.
Search and Query
MQTT does not support complex queries or historical data retrieval natively, necessitating additional databases or services for these functions.
As a full product rather than a specification, Mycelial removes inconsistencies that arise from different implementations, offering a unified solution for next-gen Edge data workloads.
Access Control
Managing advanced ACLs grows cumbersome and complicated as the number of topics and clients increases.
By employing role-based access control (RBAC), Mycelial dramatically simplifies organization-wide access to Edge data - indeed any data anywhere that's presented to Mycelial.
Advanced Features
Mycelial supports live data previews and includes built-in safety checks, such as schema compatibility verification when transferring data between databases.