Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Tecnología de Internet de las cosas

Bus de datos frente a base de datos:las 6 preguntas que todo desarrollador de IIoT debe hacer

El Internet industrial de las cosas (IIoT) está lleno de términos confusos. Eso es inevitable; a pesar de su reutilización de conceptos familiares en computación y sistemas, el IIoT es un cambio fundamental en la forma en que funcionan las cosas. Los cambios fundamentales requieren conceptos fundamentalmente nuevos. Uno de los más importantes es el concepto de "bus de datos".

La versión 2 de la arquitectura de referencia de la IIC, que se lanzará próximamente, contiene un nuevo patrón denominado patrón de "bus de datos en capas". No puedo decir mucho más ahora sobre la publicación de la IIC, pero pasar por el proceso de documentación ha sido excelente para generar definiciones nítidas.

La definición del bus de datos es:

Un bus de datos es una tecnología de intercambio de información centrada en datos que implementa un espacio de datos global virtual. Las aplicaciones de software leen y actualizan entradas en un espacio de datos global. Las actualizaciones se comparten entre aplicaciones a través de un mecanismo de comunicación de publicación-suscripción.

Las características clave de un bus de datos son:

  1. los participantes / aplicaciones interactúan directamente con los datos,
  2. la infraestructura comprende y, por lo tanto, puede filtrar selectivamente los datos, y
  3. la infraestructura impone reglas y garantías de parámetros de calidad de servicio (QoS) como tasa, confiabilidad y seguridad del flujo de datos.

Por supuesto, los nuevos conceptos generan preguntas. Algunas de las mejores preguntas las hizo un arquitecto de una gran empresa de bases de datos. Por lo general, tratamos de explicar el concepto de bus de datos desde la perspectiva de un arquitecto de redes o software. Pero, la ciencia de datos es quizás un mejor enfoque. Tanto las bases de datos como los buses de datos son, después de todo, conceptos de ciencia de datos.

Veamos las 6 preguntas más comunes.

Pregunta 1:¿En qué se diferencia un bus de datos de una base de datos (de cualquier tipo)?

Respuesta corta:una base de datos implementa almacenamiento centrado en datos. Guarda viejos información que luego puede buscar relacionando las propiedades de los datos almacenados. Un bus de datos implementa la interacción centrada en datos. Gestiona el futuro información permitiéndole filtrar por propiedades de los datos entrantes.

Respuesta larga:la centralidad de los datos se puede definir mediante estas propiedades:

Una base de datos relacional es una tecnología de almacenamiento centrada en datos. Antes de las bases de datos, los sistemas de almacenamiento eran archivos con una estructura definida por la aplicación (ad hoc). Una base de datos también es un archivo, pero es un archivo muy especial. Una base de datos sabe cómo interpretar los datos y hace cumplir el control de acceso. Por tanto, una base de datos define la "verdad" para el sistema; los datos de la base de datos no se pueden dañar ni perder.

Al hacer cumplir reglas simples que controlan el modelo de datos, las bases de datos garantizan la coherencia. Al exponer los datos a la búsqueda y recuperación por parte de todos los usuarios, las bases de datos facilitan enormemente la integración del sistema. Al permitir el descubrimiento de datos y esquemas, las bases de datos también habilitan herramientas genéricas para monitorear, medir y extraer información.

Al igual que una base de datos, el middleware centrado en datos (un bus de datos) comprende el contenido de los datos transmitidos. El bus de datos también envía mensajes, pero envía mensajes muy especiales. Envía solo mensajes específicamente necesarios para mantener el estado. Las reglas claras gobiernan el acceso a los datos, cómo cambian los datos en el sistema y cuándo los participantes reciben actualizaciones. Es importante destacar que solo la infraestructura envía mensajes. Para las aplicaciones, el sistema parece un espacio de datos global controlado. Las aplicaciones interactúan directamente con los datos y las propiedades de "Calidad de servicio" (QoS) de los datos, como la edad y la tasa. No hay conciencia a nivel de aplicación o concepto de "mensaje". Los programas que utilizan un bus de datos leen y escriben datos, no envían ni reciben mensajes.

Una base de datos reemplaza archivos con almacenamiento centrado en datos que encuentra el corregir datos antiguos a través de la búsqueda. Un bus de datos reemplaza los mensajes con conectividad centrada en datos que encuentra los datos futuros correctos a través del filtrado. Ambas tecnologías hacen que la integración del sistema sea mucho más fácil, ya que admiten una escala mucho mayor, mayor confiabilidad e interoperabilidad de aplicaciones.

Con el conocimiento de la estructura y las demandas de los datos, la infraestructura del bus de datos puede hacer cosas como filtrar información, seleccionar cuándo o incluso si hacer actualizaciones. La propia infraestructura puede controlar la QoS, como la tasa de actualización, la confiabilidad y la notificación garantizada de la vitalidad de los pares. La infraestructura puede descubrir flujos de datos y ofrecerlos a aplicaciones y herramientas genéricas por igual. Este conocimiento del estado de los datos, en un sistema distribuido, es una definición nítida de "verdad". Al igual que en las bases de datos, la infraestructura expone los datos, tanto la estructura como el contenido, a otras aplicaciones. Esta fuente accesible de la verdad facilita enormemente la integración del sistema. También habilita herramientas y servicios genéricos que monitorean y ven el flujo de información, enrutan mensajes y administran el almacenamiento en caché.

Pregunta 2:"Las aplicaciones de software leen y actualizan las entradas en un espacio de datos global. Las actualizaciones se comparten entre las aplicaciones a través de un mecanismo de comunicaciones de publicación-suscripción". ¿Eso significa que esta es una base de datos con la que interactúa a través de una interfaz pub-sub?

Respuesta corta:No, no existe una base de datos. Una base de datos implica almacenamiento:los datos residen físicamente en algún lugar. Un bus de datos implementa un concepto puramente virtual llamado "espacio de datos global".

Respuesta larga:el espacio de datos del bus de datos define cómo interactuar con la información futura. Por ejemplo, si "usted" es un controlador de intersección, puede suscribirse a las actualizaciones de vehículos dentro de los 200 m de su posición. A continuación, se le enviarán esas actualizaciones, en caso de que se acerque un vehículo. La entrega está garantizada de muchas maneras (comienza en .01 segundos, se actualiza 100 veces por segundo, es confiable, etc.). Tenga en cuenta que es posible que los datos nunca se almacenen. (Aunque algunas configuraciones de QoS como la confiabilidad pueden requerir algo de almacenamiento local). Puede pensar en un espacio de datos como un conjunto de objetos de datos especialmente controlados que se llenarán con información de la manera exacta que usted especifique, aunque esa información no es (en general) guardado por el bus de datos ... se acaba de entregar.

Pregunta 3:"Los participantes / aplicaciones interactúan directamente con los datos". ¿Podría explicarnos qué significa eso?

Con el middleware "centrado en mensajes", escribe una aplicación que envía datos, envueltos en mensajes, a otra aplicación. Puede hacerlo haciendo que los clientes envíen datos a los servidores, por ejemplo. Ambos extremos necesitan saber algo sobre el otro extremo, generalmente incluyendo cosas como el esquema, pero también es probable que se asuman propiedades de los datos como "tiene menos de 0.01 segundos de antigüedad" o "vendrá 100x / segundo", o al menos que hay otro final vivo, p. ej. el servidor se está ejecutando. Todas estas propiedades asumidas están completamente ocultas en el código de la aplicación, lo que dificulta la reutilización, la integración del sistema y la interoperabilidad.

Con un bus de datos, no necesita saber nada sobre las aplicaciones de origen. Usted deja en claro sus necesidades de datos y luego el bus de datos las entrega. Por lo tanto, con un bus de datos, cada aplicación interactúa solo con el espacio de datos. Como aplicación, simplemente escribe en el espacio de datos o lee desde el espacio de datos con una interfaz CRUD. Por supuesto, es posible que necesite algo de QoS de ese espacio de datos, p. Ej. necesita que sus datos se actualicen 100 veces por segundo. El espacio de datos en sí (el bus de datos) garantizará que obtenga esos datos (o marcará un error). No necesita saber si solo hay una o 27 fuentes redundantes de esos datos, o si se trata de una red o memoria compartida, o si es un programa C en Linux o un programa C # en Windows. Todas l

[1] [2] 下一页

Tecnología de Internet de las cosas

  1. Haga las preguntas adecuadas sobre la nube
  2. Sentir o no sentir:los beneficios de IIoT para su fábrica
  3. Fetch dice que todas las máquinas del IoT necesitan un agente realmente bueno
  4. Por qué Internet de las cosas necesita inteligencia artificial
  5. IIoT interrumpirá la industria de administración de instalaciones, ¡pero eso está bien!
  6. Democratizando el IoT
  7. El viaje de IIoT comienza con la telemetría remota
  8. Galería:Diez preguntas que debe hacerse al seleccionar una plataforma IIoT
  9. Las 10 mejores plataformas de IIoT
  10. ¿La computación perimetral y el IIoT están cambiando la forma en que pensamos sobre los datos?
  11. El futuro de los centros de datos