O aplicativo Internet das Coisas (IoT) traz uma nova dimensão para a carga de trabalho do banco de dados. O que faz a IoT se destacar é a disponibilidade de dados dos dispositivos de borda nos gateways, servidores para análise instantânea, rollups etc. Os dados gerados são heterogêneos em termos de esquema e estão sempre em evolução. Por exemplo, cada câmera ou smartphone produz metadados de fotos de forma diferente. A própria câmera ou smartphone altera o esquema para várias versões. Isso é verdadeiro para os vários tipos de dispositivos. A representação JSON dos dados é autodescritiva e, portanto, o modelo é flexível. Portanto, faz sentido modelar a representação de dados básicos em JSON.
Os sistemas que geram os dados para a IoT podem usar RDBMS, sistemas NoSQL, JSON simples, XML ou formato proprietário. Com os dados heterogêneos de todas as fontes e dispositivos, a Internet das Coisas se torna a Internet dos Dados.
Uma arquitetura para o gerenciamento de dados de IoT
Os dados dos sensores podem ser agregados, filtrados e analisados no sensor ou no próprio dispositivo. Por exemplo, um sensor de temperatura para ligar ou desligar o aquecedor. Os gateways coletam os dados de vários sensores e tentam dar sentido a eles. Eles agregam os dados ao longo do tempo, embora por um período limitado - diário ou semanal. Esses dados são enviados para a nuvem para manter os dados completos e fazer uma análise mais profunda. Exemplo: temporada a temporada, ano a ano, etc.
As cargas de trabalho tradicionais (representadas pelo TPC-C, TPC-E) tendem a ser cargas de trabalho de leitura pesada em um esquema OLTP. A geração e o uso de dados da IoT são de gravação intensa. O gateway obtém todos os dados dos sensores. Ele gera a primeira rodada de inteligência imediata e, opcionalmente, filtra e agrega os dados antes de enviá-los ao backend. Portanto, o TPC Council criou um novo benchmark, TPCx-IOT para medir o preço-desempenho dos sistemas de gateways de IoT para casos de uso de IoT.
Esboço do TPCx-IOT:

Arquitetura de IoT com sensores, gateways e sistemas de back-end. (Fonte: TPC.org)
O TPCx-IOT fornece um kit completo para implementar o benchmark para um banco de dados. Ele inclui uma estrutura para gerar os dados, emitir consultas, medir o desempenho e, em seguida, calcular a relação preço-desempenho. O conjunto de dados é baseado em dados de sensores de subestações de energia elétrica modernas. Os dados são carregados continuamente no gateway e as consultas analíticas em tempo real são executadas continuamente.
Aqui está uma descrição do diagrama de blocos do cenário e como os gateways atuam na estrutura da IoT.
A carga de trabalho em si é simples. A estrutura básica deve ser familiar para as pessoas que já trabalharam com o YCSB. A operação e a distribuição da carga de trabalho foram personalizadas para o caso de uso da IoT. As operações de inserção/carga e de varredura são executadas em paralelo.
TPCx-IOT executado com o Couchbase.
O driver de carga de trabalho, as operações de inserção (carga) e varredura foram implementadas com sucesso pela Cisco e pelo Couchbase para criar um driver de carga de trabalho para Couchbase. O Couchbase é um banco de dados NoSQL distribuído de alto desempenho baseado em JSON para oferecer suporte a aplicativos dimensionáveis para Web, dispositivos móveis e IoT. Aqui estão os resultados da pré-auditoria do Couchbase no hardware Cisco M4. Veja mais detalhes em https://www.couchbase.com/benchmarks e para números comparativos, consulte o Site da TPCx-IoT. Agradecemos à equipe da Cisco por sua liderança no TPCx-IoT e pela colaboração na portabilidade dos drivers de benchmark para o Couchbase e na execução do benchmark.
Ótimas informações. Obrigado, autor, por compartilhar conosco suas valiosas informações sobre a iot. As pessoas que estão lendo este blog podem continuar com o conhecimento que adquiriram conosco e saber como aplicá-lo na prática, juntamente com nosso Treinamento em IoT