Como eu faço pra pegar os dados do Real Time database e colocar em uma tela HTML?
Olá Brenda,
Existem diversas formas para você fazer isso, mas, infelzmente, não existe nenhuma ferramenta pronta gratuíta que faça isso, somente pagas e são proprietárias.
O que vou fazer aqui é descrever o processo e te dar a base e os termos para que você possa fazer sua própria pesquisa, tudo bem?
Antes de começar, precisamos saber o seguinte:
1 - Qual banco de dados você quer fazer a leitura? Ex: SQL Server, MySQL, Oracle, Postgres, RavenDB, Prometheus, HBase, Cassandra e etc.
2 - Qual paradigma esse banco de dados utiliza? Ex: Relacional, Relacional com suporte a ACID, NOSQL (documento, grafo, key/value, column ...), Stream (kafka por exemplo) e etc.
3 - Qual o protocolo de comunicação que você tem disponível com esse banco de dados? Ex: TCP, AMQP, ProtoBuf, Http, OData e etc.
4 - Qual o volume de registros que são gerados por segundo, minuto, hora e etc? Ex: mil inclusões e alterações por minuto.
Após saber essas respostas, teremos alguns cenários:
1 - Se for um banco de dados relacional como SQL Server, MySQL, Postres e etc, podemos criar TRIGGERS que irão capturar as operações de escrita e irão copiar para uma tabela especifica que servirá para um LOG na qual você lerá depois para gerar esse HTML.
2 - Se for um banco de dados relacional, verifique se tem suporte para CDC (Change Data Capture) que é um recurso onde o banco de dados captura todas as modificações que ocorreram nas tabelas.
3 - Se for relacional e você não tem acesso a criar as triggers ou ativar um CDC por falta de recurso computacional, financeiro, permissão de usuário, problemas de performance (esses recursos diminuem o desempenho do banco de dados ACID) e etc. Você pode criar algum JOB por meio de procedures ou qualquer scheduler que execute uma consulta em um determinado intervalo de tempo para verificar o que foi modificado e registrar em uma tabela para ser lida depois ou até mesmo já gerar o HTML
4 - Se sua aplicação utiliza o paradigma de Event Driven, você pode usar o kafka como event store e ler como um stream contínuo para fazer real time, criar um consumer para gerar esses reports ou alguma abordagem parecida.
5 - Pode-se fazer grandes processos de ingestão de dados real time com apache spark + kafka, haddop, flume ou qualquer framework de big data para disponibilizar em um data lake
Conclusão
Como observado, existem muitas variáveis que vão influenciar na solução de um Real Time database. Esse é basicamente o supra sumo do analytics, mas como visto, existem infinitos cenários tecnológicos, financeiros, conhecimento técnico do time, trade-off entre complexidade, produtividade, real necessidade e etc. Não é uma questão simples e essa resposta é a resposta de 1 milhão de dólares rsrs caso seja feita de uma forma econoomicamente viável.
Dei vários cenários para tentar abrir sua mente um pouco e te dar um bom material de termos para você fazer suas pesquisas e evoluir sozinha.
Obrigado por colcoar sua dúvida, espero que consiga evoluir nos estudos!
Att,
Marcelo Castelo Branco
Olá Brenda,
Prazer em te conhecer! Meu nome Martim.
Bem eu não sei a resposta em termos técnicos para sua pergunta.
Entretanto, eu sei resolver o que eu não sei, às vezes só precisamos de uma mão amiga,
para tomar as melhores decisões.
Tenho o meu site https://playglobo.com.br/ se fosse incluir uma nova (ferramenta) tipo essa que me permitiria
colocar um sistema de cadastro de usuário com um DOM de incluir, desativar, alterar, e enviar mensagens eletrônicas.
Buscaria um tutorial que fosse compatível ao meu objetivo.
Temos que ter foco no alvo, sugiro dar uma olhada nos resumos destes cursos.
https://www.udemy.com/pt/topic/firebase/
Que fiz pesquisa para Você tentar achar a chave da vitória. Sou um amante da programação
seria muito útil também conhecer mais profundamente essa tecnologia.
Vamos trocar uma ideia sobre sites e ferramentas.
Posso te dar uma aula gratuita explicando os selos de qualidade W3C,
Que conquistei na programação que estão no rodapé do meu site ao clicar nos selos de HTML5, CSS3, RSS.
Verá, que estão validados e que o código está em perfeito funcionamento.
Site pessoal como programador: https://playglobo.com.br/
Com certeza abriria novas ideias que lhe permitiram ter um código limpo.
E com melhor desempenho e visibilidade motores do Google.
#Semeador
Você precisa criar uma API no seu banco de dados. Depois de criada a API, você criar um fluxo de coleta de dados real time usando um GET para ficar batendo nessa API coletando os dados no seu HTML.