Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Banco de dados vs. banco de dados:as 6 perguntas que todo desenvolvedor de IIoT precisa fazer


A Internet das Coisas Industrial (IIoT) está cheia de termos confusos. Isso é inevitável; apesar de sua reutilização de conceitos familiares em computação e sistemas, a IIoT é uma mudança fundamental na forma como as coisas funcionam. Mudanças fundamentais requerem conceitos fundamentalmente novos. Um dos mais importantes é o conceito de "databus".

A versão 2 da arquitetura de referência IIC a ser lançada em breve contém um novo padrão denominado padrão de "barramento de dados em camadas". Não posso dizer muito mais agora sobre o lançamento da IIC, mas passar pelo processo de documentação foi ótimo para gerar definições nítidas.

A definição do barramento de dados é:

Um barramento de dados é uma tecnologia de compartilhamento de informações centrada em dados que implementa um espaço de dados global e virtual. Os aplicativos de software leem e atualizam entradas em um espaço de dados global. As atualizações são compartilhadas entre os aplicativos por meio de um mecanismo de comunicação publicar-assinar.

As principais características de um barramento de dados são:
  1. os participantes / aplicativos fazem interface direta com os dados,
  2. a infraestrutura entende e pode, portanto, filtrar seletivamente os dados e
  3. a infraestrutura impõe regras e garantias de parâmetros de qualidade de serviço (QoS), como taxa, confiabilidade e segurança do fluxo de dados.

Claro, novos conceitos geram perguntas. Algumas das melhores perguntas vieram de um arquiteto de uma grande empresa de banco de dados. Geralmente tentamos explicar o conceito de barramento de dados da perspectiva de um arquiteto de rede ou de software. Porém, a ciência de dados talvez seja uma abordagem melhor. Afinal, bancos de dados e dados são conceitos de ciência de dados.

Vejamos as 6 perguntas mais comuns.

Pergunta 1:Como um barramento de dados difere de um banco de dados (de qualquer tipo)?


Resposta curta:Um banco de dados implementa armazenamento centrado em dados. Ele salva antigos informações que você pode pesquisar posteriormente relacionando propriedades dos dados armazenados. Um bus de dados implementa interação centrada em dados. Gerencia o futuro informações, permitindo que você filtre por propriedades dos dados de entrada.

Resposta longa:a centralização dos dados pode ser definida por estas propriedades:

Um banco de dados relacional é uma tecnologia de armazenamento centrada em dados. Antes dos bancos de dados, os sistemas de armazenamento eram arquivos com estrutura definida pelo aplicativo (ad hoc). Um banco de dados também é um arquivo, mas é um arquivo muito especial. Um banco de dados sabe como interpretar os dados e impõe o controle de acesso. Um banco de dados, portanto, define "verdade" para o sistema; os dados do banco de dados não podem ser corrompidos ou perdidos.

Ao aplicar regras simples que controlam o modelo de dados, os bancos de dados garantem a consistência. Ao expor os dados para pesquisa e recuperação por todos os usuários, os bancos de dados facilitam muito a integração do sistema. Ao permitir a descoberta de dados e esquemas, os bancos de dados também permitem ferramentas genéricas para monitoramento, medição e mineração de informações.

Como um banco de dados, o middleware centrado em dados (um barramento de dados) entende o conteúdo dos dados transmitidos. O barramento de dados também envia mensagens, mas envia mensagens muito especiais. Ele envia apenas mensagens especificamente necessárias para manter o estado. Regras claras governam o acesso aos dados, como os dados no sistema são alterados e quando os participantes obtêm atualizações. É importante ressaltar que apenas a infraestrutura envia mensagens. Para os aplicativos, o sistema parece um espaço de dados global controlado. Os aplicativos interagem diretamente com dados e propriedades de "Qualidade de Serviço" (QoS), como idade e taxa. Não há consciência no nível do aplicativo ou conceito de "mensagem". Os programas que usam um barramento de dados leem e gravam dados, eles não enviam e recebem mensagens.
Um banco de dados substitui arquivos por armazenamento centrado em dados que encontra o dados antigos corretos por meio de pesquisa. Um barramento de dados substitui mensagens com conectividade centrada em dados que encontra os dados futuros corretos por meio de filtragem. Ambas as tecnologias tornam a integração do sistema muito mais fácil, suportando uma escala muito maior, melhor confiabilidade e interoperabilidade de aplicativos.

Conhecendo a estrutura e as demandas de dados, a infraestrutura do barramento de dados pode fazer coisas como filtrar informações, selecionar quando ou mesmo se deseja fazer as atualizações. A infraestrutura em si pode controlar QoS, como taxa de atualização, confiabilidade e notificação garantida de animação entre pares. A infraestrutura pode descobrir fluxos de dados e oferecê-los a aplicativos e ferramentas genéricas. Este conhecimento do status dos dados, em um sistema distribuído, é uma definição nítida de "verdade". Como nos bancos de dados, a infraestrutura expõe os dados, tanto a estrutura quanto o conteúdo, para outros aplicativos. Esta fonte acessível da verdade facilita muito a integração do sistema. Ele também ativa ferramentas e serviços genéricos que monitoram e visualizam o fluxo de informações, roteiam mensagens e gerenciam o armazenamento em cache.

Pergunta 2:"Os aplicativos de software leem e atualizam entradas em um espaço de dados global. As atualizações são compartilhadas entre os aplicativos por meio de um mecanismo de comunicação publicar-assinar." Isso significa que este é um banco de dados com o qual você interage por meio de uma interface pub-sub?


Resposta curta:Não, não há banco de dados. Um banco de dados implica armazenamento:os dados residem fisicamente em algum lugar. Um barramento de dados implementa um conceito puramente virtual denominado "espaço de dados global".

Resposta longa:o espaço de dados do barramento de dados define como interagir com as informações futuras. Por exemplo, se "você" for um controlador de interseção, você pode se inscrever para receber atualizações de veículos dentro de 200 m de sua posição. Essas atualizações serão entregues a você, caso um veículo se aproxime. A entrega é garantida de várias maneiras (começa em 0,01 segundos, atualizado 100x / s, confiável, etc.). Observe que os dados podem nunca ser armazenados. (Embora algumas configurações de QoS, como confiabilidade, possam exigir algum armazenamento local.) Você pode pensar em um espaço de dados como um conjunto de objetos de dados especialmente controlados que serão preenchidos com informações da maneira exata que você especificar, embora essas informações não sejam (em geral) salvo pelo barramento de dados ... acabou de ser entregue.

Pergunta 3:"Os participantes / aplicativos fazem interface direta com os dados." Você poderia explicar o que isso significa?


Com o middleware "centrado na mensagem", você escreve um aplicativo que envia dados, agrupados em mensagens, para outro aplicativo. Você pode fazer isso fazendo com que os clientes enviem dados aos servidores, por exemplo. Ambas as extremidades precisam saber algo sobre a outra extremidade, geralmente incluindo coisas como o esquema, mas também provavelmente propriedades assumidas dos dados como "tem menos de 0,01 segundo", ou "virá 100x / segundo", ou pelo menos que existe um outro fim vivo, por exemplo o servidor está funcionando. Todas essas propriedades assumidas estão completamente ocultas no código do aplicativo, tornando a reutilização, a integração do sistema e a interoperabilidade muito difíceis.

Com um barramento de dados, você não precisa saber nada sobre os aplicativos de origem. Você deixa claro suas necessidades de dados e, em seguida, o barramento de dados os entrega. Assim, com um barramento de dados, cada aplicativo interage apenas com o espaço de dados. Como um aplicativo, você simplesmente grava no espaço de dados ou lê no espaço de dados com uma interface CRUD. Claro, você pode exigir alguma QoS desse espaço de dados, por exemplo, você precisa que seus dados sejam atualizados 100x por segundo. O próprio espaço de dados (o barramento de dados) garantirá que você obtenha esses dados (ou sinalizará um erro). Você não precisa saber se há apenas uma ou 27 fontes redundantes desses dados, ou se eles vêm por uma rede ou memória compartilhada, ou se é um programa C no Linux ou um programa C # no Windows. Todas as interações são com sua própria visão do espaço de dados. Também faz sentido, por exemplo, gravar dados em um espaço sem destinatários. Nesse caso, o barramento de dados pode não fazer absolutamente nada ou pode armazenar informações em cache para entrega posterior, dependendo das configurações de QoS.

Observe que as tecnologias de banco de dados e barra

[1] [2] 下一页

Tecnologia da Internet das Coisas

  1. Faça as perguntas certas sobre a nuvem
  2. Para sentir ou não sentir:os benefícios da IIoT para sua fábrica
  3. Fetch diz que cada máquina na IoT precisa de um agente realmente bom
  4. Por que a Internet das Coisas precisa de Inteligência Artificial
  5. A IIoT interromperá o setor de gerenciamento de instalações, mas tudo bem!
  6. Democratizando a IoT
  7. A jornada IIoT começa com telemetria remota
  8. Galeria:10 perguntas a serem feitas ao selecionar uma plataforma IIoT
  9. As 10 principais plataformas IIoT
  10. A computação de borda e IIoT estão mudando a maneira como pensamos sobre os dados?