Baixe o app para aproveitar ainda mais
Prévia do material em texto
2021.1 BANCO DE DADOS NOSQL CCT0617 PRO FESSOR: HE NRIQUE TAVARES 1 2021.1 CONTEÚDO 2 ➢ REVISÃO o Sistemas de Informação o Conceitos sobre Dados o Armazenamento de Dados o Definição de Banco de Dados o Gerenciamento e Desenvolvimento de Banco de Dados o Consultas e Manutenção em Bancos de Dados o Aplicações de Bancos de Dados o Modelagem Conceitual o Modelos de Bancos de Dados 2021.1 REVISÃO 3 2021.1 Relembrando Introdução aos Sistemas de Informação... • A transformação de dados em informação é um processo, ou seja, uma série de tarefas logicamente relacionadas e executadas para atingir um resultado definido. • Por exemplo: • com os dados de peças em estoque, pedidos e vendedores pode- se obter informações tão diferentes quanto: lista de peças que estão em falta no estoque, a média de venda por peça, os melhores e piores vendedores da companhia, e ainda relacionar os piores e melhores vendedores com as horas trabalhadas por cada um deles. 2021.1 Relembrando Introdução aos Sistemas de Informação... • Os dados descrevem os fatos em sua forma primária, como por exemplo: • um nome de um empregado • o número de horas trabalhadas em uma semana • números de peças em estoque • pedidos de vendas. • Quando estes fatos estão organizados ou arranjados de maneira significativa, eles se tornam uma informação. • Informação, portanto, é um conjunto de fatos organizados de tal forma que adquirem um valor adicional, além do valor do fato em si. 2021.1 Conceitos básicos sobre os dados • Os dados podem assumir diversas formas, entre as quais: • dados alfanuméricos tradicionais, composta de números e caracteres alfabéticos e outros que descrevem transações de negócios e outros eventos, • dados de texto, que consistem de orações e parágrafos utilizados nas comunicações escritas, • dados de imagem, como formas e cifras gráficas, • dados auditivos, como a voz humana e outros sons. 2021.1 Armazenamento do recurso de dados • Armazenamento é um componente básico dos Sistemas de Informação. • É a atividade dos sistemas de informação na qual os dados e informações são guardados de uma maneira organizada para uso posterior. • Isto facilita seu uso posterior no processamento ou sua recuperação como saída, quando requisitadas pelos usuários de um sistema. 2021.1 Armazenamento do recurso de dados • Os dados são organizados logicamente em: • Caracter – um caracter é o elemento de lógico mais básico dos dados. Consiste em um único símbolo alfabético, numérico ou outro. • Campo– um campo consiste em um grupamento de caracteres. Identifica uma característica ou propriedade do objeto representado. • Registro – campos de dados relacionados agrupados para formarem um registro. 2021.1 Armazenamento do recurso de dados • Arquivo • Dizemos que um arquivo é um conjunto de informações relacionadas em forma de registros. • Exemplos: arquivo de folha de pagamento, arquivo de estoque, arquivo de documento ou arquivo de imagem gráfica. • Banco de Dados • Um banco de dados é um conjunto integrado de registros ou objetos logicamente afins. • Um banco de dados consolida registros previamente armazenados em arquivos separados em uma fonte comum de registros de dados que fornece dados para muitas aplicações. 2021.1 Armazenamento do recurso de dados Elementos Lógicos dos Dados Elementos Lógicos dos Dados Banco de Dados de Pessoal Funcionário Registro 2 Funcionário Registro 1 Funcionário Registro 3 Funcionário Registro 4 Nome PS Salário Nome PS Salário Nome PS Salário Nome PS Salário Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados Arquivo de Folha de Pagamento Arquivo de Benefícios 2021.1 Definições de Banco de Dados • “É uma coleção de dados relacionados. Dados, por sua vez são uma coleção de fatos que podem ser guardados e que tem um significado implícito. Como exemplo, considere o nome, o endereço e o telefone das pessoas que você conhece. Você pode guardar esses dados num caderno de telefone, ou pode guardar num disquete usando um software como ACCESS ou EXCEL. Isto é uma coleção de dados relacionados com significado explicito” (Navathe, 1994) • “É uma coleção organizada de fatos e informações” (Stair, 1996) • “É uma coleção de fatos registrados que refletem o estado de certos aspectos de interesse do mundo real. “(Machado e Abreu, 1995) 2021.1 Sistema Gerenciador de Banco de Dados (SGBD) • “É uma coleção de programas que permite ao usuário criar e manter um banco de dados. ” (Navathe, 1994) • “É um sistema computadorizado de armazenamento de dados , ou seja, um sistema cujo objetivo geral é manter informações e fazer com que estas informações estejam disponíveis quando solicitado” (Date, 1987) • “ É uma coleção de programas e utilitários para organizar, armazenar, atualizar e recuperar dados “ ( Hackathorn, 1993) 2021.1 Sistema Gerenciador de Banco de Dados (SGBD) 2021.1 Sistema Gerenciador de Banco de Dados (SGBD) Os quatro maiores usos de um SGBD incluem: • Desenvolvimento de Bancos de Dados • Consulta de Bancos de Dados • Manutenção de Bancos de Dados • Aplicações de Bancos de Dados 2021.1 Desenvolvimento de Bancos de Dados • Pacotes de gerenciamento de bancos de dados permitem aos usuários finais desenvolverem seus próprios bancos de dados, através de uma linguagem de definição de dados para: • desenvolver e especificar o conteúdo, • relações e estruturas dos dados em cada banco de dados e • modificar as especificações desses bancos de dados sempre que necessário. • Essas informações são catalogadas e armazenadas em um banco de dados de definições e especificações de dados chamado dicionário de dados. 2021.1 A capacidade de consulta aos bancos de dados é um benefício maior de um sistema de gerenciamento de bancos de dados. Os usuários finais podem utilizar um SGBD pedindo informações de um banco de dados utilizando uma linguagem de consulta ou um gerador de relatórios. Um dicionário de dados é um catálogo ou diretório baseado no computador contendo software de metadados (dados sobre dados) para gerenciar um banco de definições sobre a estrutura dos dados 2021.1 Consulta ao Banco de Dados • Características de uma linguagem de consulta: • Os usuários recebem uma resposta imediata na forma de telas de vídeo ou relatórios impressos. • Não é necessária nenhuma programação complexa. • Os usuários podem obter respostas imediatas a pedidos específicos. • Características de um gerador de relatórios: • Os usuários recebem uma resposta imediata na forma de telas de vídeo ou relatórios impressos. • Não é necessária nenhuma programação complexa. • Os usuários podem especificar um formato de relatório para as informações que desejam apresentadas como relatório. 2021.1 Manutenção de Bancos de Dados • Os gerentes precisam de informações precisas para tomarem decisões eficazes. Quanto mais precisa, relevante e oportuna for a informação, melhor será o gerenciamento informado ao se tomar decisões. • Dessa forma, os bancos de dados de uma organização precisam ser constantemente atualizados para refletirem as novas transações empresariais e outros eventos. • Este processo de manutenção de bancos de dados é acompanhado por programas de processamento de transações e outros pacotes de aplicativos para o usuário final, com o apoio do SGBD. 2021.1 Desenvolvimento de Aplicações • Os pacotes SGBD desempenham um papel importante no desenvolvimento de aplicações. O desenvolvimento de aplicações se torna mais fácil por meio de formulações em linguagem de manipulação de dados (DML) que podem ser incluídas em programas de aplicativos para permitir que o SGBD realize as atividades necessárias de manipulação de dados. 2021.1 SGBD X Sistemas de Gerenciamento de Arquivos • A melhor maneira de entender a natureza geral e as características dos bancos de dados de hoje é olharpara as características dos sistemas que antecederam o uso da tecnologia de banco de dados: Sistemas de Gerenciamento de Arquivos (SGA) vs. Sistemas Gerenciadores de Bancos de Dados (SGBD) 2021.1 Sistemas de Gerenciamento de Arquivos (SGA) • Cada usuário define e implementa os arquivos necessários para uma aplicação específica, acarretando repetição dos dados gerando inconsistência nas informações. • O acesso aos dados está escrito nos programas que o manipulam, subordinando os programas aos arquivos. • A manipulação dos dados contidos nos arquivos pelas aplicações específicas dificulta o desenvolvimento de novos sistemas e torna a manutenção dos aplicativos difícil e cara. • Tomemos como exemplo a necessidade de inclusão de um novo campo em um arquivo, esta alteração implica na alteração de todos os programas que utilizam este arquivo. dados separados e isolados. • O sistema possibilita uma redundância não controlada de dados e inconsistência ao permitir que em um sistema um dado seja alterado e esse mesmo dado não seja alterado em outro. • A responsabilidade sobre os procedimentos de backup e recuperação esta a cargo da aplicação. 2021.1 Sistemas Gerenciadores de Bancos de Dados (SGBD) • Um arquivo (tabela) é definido uma única vez e atende a várias aplicações • Armazena-se junto com os dados toda as informações referentes à forma como foram estruturados os dados e onde eles estão armazenados fisicamente. Essas informações estão armazenadas em um catálogo que é chamado de meta-data. • Há separação entre programas e dados. No SGBD os acessos são escritos no banco de dados e os programas enviam comandos solicitando o acesso aos dados. • São permitidas visões diferenciadas sobre a mesma base de dados para aplicações diferentes. • É permitido acesso simultâneo de vários usuários ao mesmo dado. Essa simultaneidade é tratada através do gerenciamento da concorrência. 2021.1 Aplicações de Bancos de Dados • Avanços contínuos na informática e suas aplicações empresariais têm resultado na evolução de diversos tipos principais de bancos de dados. • Cinco categorias conceituais importantes de bancos de dados que podem ser encontradas nas organizações usuárias de computadores incluem: • Bancos de Dados Operacionais • Data Warehouse • Bancos de Dados Distribuídos • Bancos de Dados Externos 2021.1 Bancos de Dados Operacionais • Esses bancos de dados armazenam dados detalhados necessários para apoiar as operações da organização como um todo. Eles também são chamados bancos de dados de transações ou bancos de dados de produção. • São exemplos: os bancos de dados de clientes, bancos de dados de pessoal, bancos de dados de estoque e outros bancos de dados contendo dados gerados pelas operações empresariais. 2021.1 Data Warehouse • Um data warehouse armazena dados do ano em curso e anos anteriores que foram extraídos dos vários bancos de dados operacionais e gerenciais de uma organização. • É uma fonte central de dados que foram classificados, editados, padronizados e integrados de tal forma que podem ser utilizados por gerentes e outros profissionais usuários finais ao longo de toda uma organização. • Os data warehouse podem ser subdivididos em mercados de dados [data marts], que guardam subconjuntos específicos de dados a partir do depósito. 2021.1 Bancos de Dados Distribuídos • Muitas organizações reproduzem e distribuem cópias ou partes de bancos de dados para servidores de rede em uma multiplicidade de locais. Esses bancos de dados distribuídos podem residir em servidores de rede na Rede Mundial de Computadores, em intranets ou extranets , ou em outras redes da empresa. • Os bancos de dados distribuídos podem ser cópias de bancos de dados operacionais ou analíticos, bancos de dados em hipermídia ou de discussão, ou qualquer outro tipo de banco de dados. A reprodução e distribuição de bancos de dados é feita para melhorar o desempenho e a segurança do banco de dados. 2021.1 Bancos de Dados Externos • O acesso a bancos de dados ou bases de dados on-line, particularmente adquiridas e externas, é disponível mediante uma taxa para usuários finais e organizações em serviços comerciais on-line, e com ou sem tarifas de muitas fontes na Internet, particularmente na Rede Mundial de Computadores. • Exemplos: • Amazon Redshift • MongoDB Atlas • Banco de Dados SQL do Microsoft Azure • Oracle Cloud Database • Cloud Couchbase 2021.1 - Principais Tipos de Bancos de Dados Principais Tipos de Bancos de Dados Servidor de Rede Servidor de Rede Bancos de Dados Externos na Internet e Serviços Online PC ou NC do Cliente Bancos de Dados Operacionais da Organização Bancos de Dados Analíticos dos Dados Críticos da Organização Bancos de Dados do Usuário Final Bancos de Dados Distribuídos em Intranets e Outras Redes Depósito de Dados 2021.1 Usuários de BD • Administrador de dados (AD): responsáveis por identificar os dados a serem armazenados no BD e por escolher as estruturas apropriadas para representar e armazenar esses dados. Comunicação c/ usuários p/ identificação de visões (esquemas conceituais), desenvolve e mantém o dicionário de dados, garante as necessidade corporativas de dados • Administradores do BD (DBA): desenvolve os esquemas internos através da construção das tabelas, índices, etc., autoriza o acesso ao banco de dados, de modo a coordenar e monitorar seu uso, garante a segurança dos dados, bem como seu backup e recuperação em caso de falhas, garante a performance do banco de dados e desenvolve visões que atendam ao esquema externo 2021.1 Usuários de BD • Analistas de sistemas : determinam os requisitos dos usuários finais e desenvolvem especificações de transações que satisfaçam esses requisitos • Programadores de aplicação : implementam as especificações das transações como programas, testando-os, corrigindo-os e documentando-os. • Usuários finais: utilizam os sistemas projetados pelo analista de sistemas cuja base de dados é mantida e monitorada pelo DBA e cuja integração com o conjunto da corporação é garantido pelo esquema conceitual mantido pelo AD. • Pessoal de Suporte. 2021.1 MODELAGEM CONCEITUAL 31 2021.1 Percepção do mundo real: Níveis de Abstração Modelo Conceitual Modelo Logico Modelo FisicoBD MINIMUNDO Realidade Nebulosa observa Analista organiza ideias descreve 2021.1 Percepção do mundo real Toda realidade é sempre, em princípio, bastante nebulosa e informal. Através da observação podemos extrair desta realidade fatos que nos levam a conhece-la de uma forma mais organizada. Realidade Nebulosa observa Analista Em um negócio, existem fatos observados e modelados, que dizem algo a respeito do funcionamento deste negócio. Estes fatos estão ligados diretamente ao funcionamento da realidade, a qual temos interesse em compreender e manter. 2021.1 Percepção do mundo real O que se quer criar é uma ABSTRAÇÃO da realidade, que seja capaz de registrar os acontecimentos nela existentes, de modo que se possa implementar um sistema automatizado que atenda às reais necessidades de informação MINIMUNDO Analista organiza ideias 2021.1 Percepção do mundo real MINIMUNDO Analista organiza ideias Ao coletar e relacionar os fatos relevantes, devemos identificar os elementos geradores de informação, as leis que regem esta realidade, bem como as operações que incidem sobre os elementos básicos (dados). 2021.1 Percepção do mundo real MINIMUNDO Analista organiza ideias Para que possamos retratar estes fatos, para que possam nos levar a futuras decisões e ações, é preciso registra-los. Este registro é feito através da criação de um MODELO, isto é, algo que nos mostre como as informações estão relacionadas. Modelo Conceitual descreve 2021.1 Percepção do mundo real: elementos de abstração • Minimundo: Porção específica da realidade,captada pelo analista, objeto de observação detalhada. Caso a análise do minimundo torne-se muito complexa, o analista pode subdividi-lo em pontos menores, chamados de “visões”. • Banco de Dados: Coleção de fatos registrados que refletem certos aspectos de interesse do mundo real. Cada mudança em algum item do banco de dados reflete uma mudança ocorrida na realidade. 2021.1 Percepção do mundo real: Níveis de Abstração Modelo Conceitual Modelo Logico Modelo FisicoBD MINIMUNDO Realidade Nebulosa observa Analista organiza ideias descreve 2021.1 Percepção do mundo real: elementos de abstração Modelo Conceitual MINIMUNDO • Modelo Conceitual : • Representa e/ou descreve a realidade do ambiente, constituindo uma visão global dos principais dados e relacionamentos (estruturas de informação), independente das restrições de implementação. • Descreve as informações contidas em uma realidade, que estarão armazenadas em um banco de dados Analista organiza ideias descreve 2021.1 Percepção do mundo real: elementos de abstração Modelo Conceitual Modelo Lógico MINIMUNDO • Modelo Lógico: • Descreve as estruturas que estarão contidas no banco de dados, sem considerar nenhuma característica específica de um Sistema Gerenciador de Banco de Dados (SGBD) • Tem seu início a partir do Modelo Conceitual e resulta em um esquema lógico de dados. 2021.1 Percepção do mundo real: elementos de abstração Modelo Conceitual Modelo Lógico Modelo Físico MINIMUNDO • Modelo Físico: • Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc... • Tem origem no Modelo Lógico e detalha o estudo dos métodos de acesso ao SGBD 2021.1 Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação dados ?! Desenvolver um projeto de sistema de informação consiste em traduzir um “problema” do mundo real numa “solução” que envolve a organização, pessoas e tecnologia (hardware e software). SISTEMA DE INFORMAÇÃO Mundo Real 2021.1 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Requisitos Funcionais Análise Funcional Projeto Funcional Programação Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação dados Mundo Real 2021.1 Modelo de Dados • Forma de representação gráfica do conhecimento que se tem sobre um ambiente qualquer • Mostra uma arrumação das informações de interesse e dos vínculos existentes entre elas, num determinado momento • O Modelo de Dados é definido pelo arranjo dos dados, uma forma de arrumação, para melhor representá-los • O Modelo de SGBD é definido pelo Modelo de Dados adotado 2021.1 Conceitos de Negócio CLIENTE PEDIDO PRODUTO faz contem 2021.1 Entidades • Define-se entidade como sendo o conceito existente no mundo real com identificação distinta e com significado próprio. • São as conceitos envolvidos no próprio negócio, ou ainda, descrevem o negócio em si. CLIENTE PRODUTO 2021.1 Atributos • As propriedades caracterizadas por atributos e valores que descrevem as ocorrências de uma entidade. • O que descreve CLIENTE ? Cliente é descrito por: • um código de identificação, • nome, • endereço, • telefone de contato, • CNPJ ou CPF, etc.... CPF NOME CÓDIGO 2021.1 - Estruturas de Banco de Dados Modelos de Banco de Dados Depto. A B C Nº. Func. Depto. 1 A 2 B 3 C Modelo Relacional Modelo em Rede Modelo Hierárquico 2021.1 Evolução dos Modelos de SGBD’s • Modelo Hierárquico, • Modelo em Rede, • Modelo Relacional • Modelo Relacional-Objeto • Modelo Orientado a Objetos • Modelo NoSQL 2021.1 Modelo Hierárquico • Os primeiros pacotes SGBD para computador central utilizavam o modelo hierárquico, no qual: • As relações entre os registros formam uma hierarquia ou estrutura de tipo árvore. • Os registros são dependentes e dispostos em estruturas de níveis múltiplos (ou segmentos), que consistem em um registro raiz e qualquer número de níveis subordinados. • As relações entre os registros são de um-para-muitos, já que cada elemento de dados se relaciona apenas com um elemento acima dele. • O elemento de dados ou registro no nível mais alto da hierarquia é chamado de elemento raiz. Todo elemento de dados pode ser acessado passando-se progressivamente para baixo a partir da raiz e ao longo dos ramos da árvore até que o registro desejado seja localizado. 2021.1 Modelo Hierárquico 2021.1 Modelo em Rede • Pode representar relações lógicas mais complexas e ainda é utilizada por muitos pacotes SGBD de computador central. • Permite relações de muitos registros para muitos registros. • Em outras palavras, o modelo em rede pode acessar um elemento de dados seguindo um dentre vários caminhos, porque qualquer elemento ou registro de dados pode ser relacionado com qualquer número de outros elementos de dados. 2021.1 Modelo em Rede 2021.1 Modelo Relacional • Tornou-se a mais popular das seis estruturas de bancos de dados • Os elementos dos dados dentro do banco de dados são armazenados na forma de tabelas simples. • Os pacotes SGBD baseados no modelo relacional podem vincular elementos de dados de várias tabelas para fornecer informações para os usuários. 2021.1 Modelo Relacional 2021.1 Modelo Relacional-Objeto • É uma variação do modelo relacional que utiliza estruturas multidimensionais para armazenar dados e relações entre os dados • Um benefício maior dos bancos de dados multidimensionais é a maneira compacta e inteligível de visualizar e manipular elementos de dados que possuem muitas inter-relações. • Os bancos de dados multidimensionais se tornaram a estrutura mais popular para os bancos de dados analíticos que suportam aplicações de processamento analítico on-line (OLAP). 2021.1 Modelo Relacional-Objeto 2021.1 Modelo em Objetos • Em uma estrutura baseada em objetos, um objeto consiste em valores de dados que descrevem os atributos de uma entidade, mais as operações que podem ser executadas sobre tipos mais complexos de dados (gráficos, voz, texto) do que outras estruturas de bancos de dados. • Suporta herança, ou seja, novos objetos podem ser automaticamente criados mediante a reprodução de algumas ou todas as características de um ou mais objetos pais. • As capacidades e herança dos objetos tornaram populares os sistemas de gerenciamento de bancos de dados orientados a objetos (SGBDOO) 2021.1 Modelo em Objetos 2021.1 Avaliação dos Modelos dos SGBD’s Modelo Vantagens Desvantagens Hierárquico Facilidade com que os dados podem ser armazenados e recuperados em tipos estruturados e rotineiros de transações. Facilidade com que os dados podem ser extraídos para fins de apresentação de relatórios. Os tipos estruturados e rotineiros de processamento de transações são rápidos e eficientes. Relações hierárquicas um- para-muitos devem ser estipuladas de antemão e não são flexíveis. Não pode manipular facilmente requisições de informação específica. A modificação de uma estrutura hierárquica de bancos de dados é complexa. Exige conhecimento de uma linguagem de programação. 2021.1 Avaliação dos Modelos dos SGBD’s Modelo Vantagens Desvantagens Rede Mais flexível que o modelo hierárquico. Capacidade de fornecer relações lógicas sofisticadas entre os registros. As relações muitos-a-muitos em rede devem ser estipuladas de antemão. O usuário está limitado a recuperar dados que podem ser acessados utilizando os links estabelecidos entre os registros. Não pode manipular facilmente requisições de informação específica. Exige conhecimento de uma linguagem de programação. 2021.1 Avaliação dos Modelos dos SGBD’s Modelo Vantagens Desvantagens Multidimensional Forma compacta e de fácil compreensão para visualização e manipulação de elementosde dados que possuem muitas inter- relações. Suporta aplicações OLAP na qual respostas rápidas para consultas empresarias complexas são requisitadas. Não desenvolvida atualmente para amplo uso de aplicações empresariais. 2021.1 Avaliação dos Modelos dos SGBD’s Modelo Vantagens Desvantagens Relacional Flexível uma vez que pode manipular requisições de informação específica. Não pode processar grandes quantidades de transações empresariais tão depressa e com tanta eficiência como os modelos hierárquico e em rede. 2021.1 Avaliação dos Modelos dos SGBD’s Modelo Vantagens Desvantagens Baseado em Objetos Manipula tipos complexos de dados (gráficos, imagens, voz e texto) melhor do que outras estruturas. Relativamente fácil de utilizar. Tecnologia chave sendo utilizada em aplicações de multimídia baseadas na rede para a Internet e intranets e extranets empresariais. Suporta herança – novos objetos podem ser automaticamente criados mediante a reprodução de algumas ou de todas as características de um ou mais objetos pais. Não desenvolvida atualmente para amplo uso empresarial. 2021.1 TIPOS DE DADOS ✓DADO ESTRUTURADO ✓DADO SEMIESTRUTURADO ✓DADO NÃO ESTRUTURADO 65 2021.1 Tipos de Dados 2021.1 Dados Estruturados • Dados estruturados são aqueles organizados e representados com uma estrutura rígida, a qual foi previamente planejada para armazená-los. • Em outras palavras, os dados estruturados de um mesmo bloco (registro) possuem uma relação. • Alguns exemplos de dados estruturados: • Planilhaseletrônicas (Excel) • Esquema estruturante de Bancos de dados • Arquivos CSV 2021.1 Pense em um formulário de cadastro com os campos... 2021.1 Pense em uma planilha eletrônica com suas células... 2021.1 Dados Semiestruturados • Dados semiestruturados apresentam uma representação estrutural heterogênea, não sendo nem completamente não-estruturados nem estritamente tipados. • Dados Web se enquadram nessa definição: • em alguns casos os dados possuem uma descrição uniforme (um catálogo de produtos), • em outros, algum padrão estrutural pode ser identificado (um conjunto de documentos no formato de artigo) 2021.1 Dados semiestruturados (exemplo) 2021.1 Características principais de dados semiestruturados • Definição à posteriori: • esquemas para dados semiestruturados são usualmente definidos após a existência dos dados, com base em uma investigação de suas estruturas particulares e da análise de similaridades e diferenças. • Isto não significa que sempre existe um esquema associado a um dado semiestruturado; 2021.1 Esquema Flexível 2021.1 Esquema Flexível 2021.1 Características principais de dados semiestruturados • Diferentemente dos bancos de dados SQL, nos quais você deve determinar e declarar o esquema de uma tabela antes de inserir dados, documentos XML e/ou JSON, por padrão, não exigem que seus documentos tenham o mesmo esquema. • Isto é, para alterar a estrutura dos documentos XML e/ou JSON (como adicionar novos campos, remover campos existentes ou alterar os valores dos campos para um novo tipo), basta atualizar os documentos para redefinir a estrutura: O documento determina a estrutura, não o contrário! 2021.1 Características principais de dados semiestruturados • Coleções extensas de dados semanticamente similares estão organizados de maneiras diferentes, podendo algumas ocorrências terem informações incompletas ou adicionais em relação a outras. • Em suma, não existe um esquema padrão para esses dados, pois as estruturas são irregulares • Exemplo: curriculum vitae possui várias formatações 2021.1 Dado Não Estruturado 2021.1 Common MIME types for video... 2021.1 2021.1 Entendendo os 5 Vs do Big Data 2021.1 Entendendo os 5 Vs do Big Data #1º V: V de Volume • O primeiro grande desafio para utilizar o Big Data é justamente o volume de dados disponíveis: estamos falando em uma cifra que hoje gira em torno de 250 exabytes por ano, sendo cerca de 2,5 quintilhões de bytes por dia. • Até 2020, a estimativa é que esse número chegue a 44 zetabytes (ou o mesmo que 44 trilhões de gigabytes) anuais. Em outros termos: o volume hoje já é grande, mas a tendência é que continue a crescer ainda mais! 2021.1 Entendendo os 5 Vs do Big Data #2º V: V de Velocidade • Não apenas o volume de dados é gigantesco, mas a velocidade em que esses dados são produzidos e em que se tornam desatualizados é vertiginosa. • Por isso, o segundo desafio do Big Data é o tempo necessário para processamento desses dados. O objetivo, portanto, é alcançar formas de trabalhar o processamento dessas informações em tempo real. 2021.1 Entendendo os 5 Vs do Big Data #3º V: V de Variedade • Os dados de que dispomos atualmente são provenientes das mais diversas fontes: • redes sociais, • aplicativos, • cookies, • IoT – Internet das Coisas... • e-mails • processamento de áudios e imagens. 2021.1 Entendendo os 5 Vs do Big Data #3º V: V de Variedade Isso significa que não seguem um único padrão e nem fornecem todos o mesmo tipo de informações, tornando a tarefa de compilar esses dados em um banco de dados tradicional impossível. 2021.1 Entendendo os 5 Vs do Big Data #4º V: V de Veracidade • Dentre a grande massa dos dados que circulam, é preciso estabelecer quais os dados que são verídicos e que ainda correspondem ao momento atual. • Dados desatualizados podem ser considerados inverídicos porque não correspondem mais à realidade, levando à tomada de decisões equivocadas. • Big Data deve, portanto, determinar a relevância dos dados disponíveis, de forma que essas informações possam servir de guia para o planejamento mais seguro. 2021.1 Entendendo os 5 Vs do Big Data #5º V: V de Valor • O quinto desafio posto pelo Big Data pelas empresas é o de definir a abordagem que será feita dessa massa de dados que está circulando. • Nem toda informação que está circulando é relevante ou útil para os objetivos específicos da sua empresa. • Uma abordagem bem feita permite agregar valor à sua empresa, colocando-a à frente da concorrência no mercado. 2021.1 Big Data: Structure + Unstructure 2021.1 2021.1 Introdução aos Sistemas NoSQL 2021.1 Introdução aos Sistemas NoSQL ⚫ Por que BD relacionais se tornaram dominantes? − Capacidade de armazenar grandes quantidades de dados persistentes ⚫ Permite acessar partes do BD de maneira rápida e fácil − Controle de concorrência por meio de transações ⚫ Provê acesso concorrente de múltiplas aplicações ou vários usuários − Recuperação após falhas ⚫ Restaura o BD para um estado anterior ao estado da falha − Integração compartilhada de BD ⚫ Aplicações armazenam seus dados em uma única BD − Uso de um modelo de dados padrão ⚫ Dialetos SQL usados por diversos fornecedores são similares 2021.1 Introdução aos Sistemas NoSQL ⚫ Por que existe uma ascensão de BD NoSQL? − Incompatibilidade de impedância entre o modelo relacional e as estruturas de dados na memória principal ⚫ Valores de uma tupla relacional têm de ser simples ⚫ Para armazenar dados em disco, é preciso traduzir a estrutura de dados não atômica da memória para a ⚫ representação relacional ⚫ Incompatibilidade de impedância: duas representações diferentes que requerem tradução Modelo Relacional 2021.1 Introdução aos Sistemas NoSQL ⚫ Exemplo de Incompatibilidade de Impedância − Um pedido que aparenta ser uma estrutura única na GUI é dividido em muitas linhas de muitas tabelas relacionais 2021.1 Introdução aos Sistemas NoSQL ⚫ SGBD relacionais dominaram o mercado na década de 2000, mas alguns problemas começaram a surgir em seu domínio − Desvantagens do BD de integração: ⚫ Uma estrutura projetada para integrar muitas aplicações acaba se tornando mais complexa do que qualquer necessidade de uma única aplicação ⚫ Se uma aplicação precisar modificar seu armazenamento de dados precisará coordenar essamodificação com as demais que usam o BD ⚫ Aplicações diferentes possuem requisitos estruturais e de desempenho diferentes − Um índice requerido por uma aplicação pode causar problemas nas inserções da outra ⚫ Como cada aplicação pertence a uma equipe diferente significa que o SGBD precisa assumir a responsabilidade de manutenção da integridade dos dados 2021.1 Introdução aos Sistemas NoSQL ⚫ BD de integração x BD de aplicativos − Por que SGBDR prevaleceram sobre SGBDOO? ⚫ Uso de SQL como mecanismo de integração entre as aplicações ⚫ BD de integração: várias aplicações desenvolvidas por equipes distintas armazenam seus dados num único local − Melhora a comunicação porque as aplicações operam sobre um conjunto consistente de dados persistentes − Possui algumas desvantagens.... 2021.1 BD de integração x BD de aplicativos ⚫ BD de aplicativos: só é acessado diretamente por uma única aplicação que é gerenciada por apenas uma equipe − Facilidade de manutenção e desenvolvimento de esquema porque apenas uma equipe precisará conhecer sua estrutura − Uma vez que essa equipe controla o BD e o código da aplicação, a responsabilidade pela integridade do BD é dada a esse código ⚫ Há um movimento na direção ao uso de BD de aplicativos − Defende-se o encapsulamento de BD em aplicativos e a integração por meio de serviços ⚫ Uso de serviços web como mecanismo de integração: − Desacopla o BD e os serviços responsáveis pela comunicação com o mundo exterior − Não importa aos serviços como os dados são armazenados, permitindo que opções não relacionais sejam consideradas 2021.1 Evolução 2021.1 Evolução 2021.1 Arquitetura de Banco de Dados Centralizado 2021.1 Arquitetura de Banco de Dados Distribuído 2021.1 2021.1 Escalabilidade Performance aumenta proporcionalmente ao aumento dos recursos envolvidos (expectativa...) 2021.1 Escalabilidade Vertical 2021.1 Escalabilidade Horizontal 2021.1 Escalabilidade Vertical 2021.1 Escalabilidade Vertical 2021.1 Particionamento (Sharding) 2021.1 Particionamento (Sharding) 2021.1 Sharding (exemplo) 2021.1 Pontos chave... ⚫ Há um movimento na direção contrária à utilização de bancos de dados como pontos de integração. ⚫ Em vez disso, defende-se o encapsulamento de bancos de dados em aplicativos e a integração por meio de serviços…. NoSQL Essencial (Pramod Sadalage & Martin Fowler) https://s3.novatec.com.br/capitulos/capitulo-9788575223383.pdf 2021.1 Pontos chave... ⚫ O fator vital para uma mudança no armazenamento de dados foi a necessidade de suporte a grandes volumes de dados por meio da execução em clusters. ⚫ Bancos de dados relacionais não são projetados para serem executados eficientemente neles... NoSQL Essencial (Pramod Sadalage & Martin Fowler) https://s3.novatec.com.br/capitulos/capitulo-9788575223383.pdf 2021.1 2021.1 Padrões NoSQL de Arquitetura dos dados 2021.1 NoSQL: “Not Only SQL” 2021.1 2021.1 Classificações dos Bancos de Dados NoSQL ⚫ Armazenamento chave-valor ⚫ Orientado a documentos ⚫ Armazenamento orientado a colunas ⚫ Banco de dados baseado em grafos 2021.1 Armazenamento chave-valor Cada item é armazenado como uma “chave” (identificador exclusivo) junto com seu valor. Esta é a versão mais simples de um banco de dados NoSQL. Exemplos incluem Redis e Aerospike. 2021.1 Orientado a Documentos • Cada “chave” é combinada com um "documento" de dados estruturados (estrutura de dados). • Os documentos podem conter muitos pares de valores-chave diferentes em um formato hierárquico aninhado, como Javascript Object Notation (JSON). 2021.1 Armazenamento orientado a colunas Projetado para lidar com grandes consultas de conjuntos de dados. Os dados são armazenados em colunas, em vez de linhas, o que torna mais eficiente consultar dados em colunas frequentemente referenciadas e armazenar dados esparsos (onde as linhas podem ter apenas alguns valores de dados espalhados pelas várias colunas). Exemplos incluem Apache Cassandra, HBase e Scylla. 2021.1 Baseado em grafos • Bancos deste tipo empregam conceitos da teoria de grafos para a representação de relacionamentos entre diferentes conjuntos de dados, tais como conexões sociais e outras redes de informações de dados. • Exemplos: Neo4J e Giraph. 2021.1 Banco de dados NoSQL Orientados a Documentos 120 2021.1 Sistemas monousuários e multiusuários 2021.1 2021.1 Transação ➢Transação: • Execução completo e integral que forma uma unidade lógica de processamento no BD • Inclui uma ou mais operações de acesso ao BD: • inserção, • exclusão, • alterações ou • consultas 2021.1 Transações no SGBD Na execução de uma transação o SGBD deve garantir: (1) Todas as operações na transação foram completadas com sucesso e seu efeito será gravado permanentemente no BD (2) Transação NÃO terá nenhum efeito sobre o BD ou outras transações (TRANSAÇÃO FALHAR DURANTE EXECUÇÃO) 2021.1 Propriedades ACID das transações • Atomicidade • Consistência • Isolamento • Durabilidade 2021.1 Propriedades ACID • Atomicidade • uma transação é uma unidade atômica • todas as operações das transações são finalizadas e refletidas no BD ou nenhuma delas é finalizada e refletida • Consistência • transformações preservam a consistência • a execução correta de uma transação leva o BD de um estado consistente a outro estado consistente 2021.1 Propriedades ACID • Isolamento • transações são isoladas umas das outras • cada transação assume que está sendo executada sozinha no sistema, e o SGBD garante que os resultados intermediários da transação são escondidos de outras transações executando concorrentemente • Durabilidade • os valores dos dados alterados durante a execução de uma transação devem persistir após a finalização desta 2021.1 Cluster Cluster é um sistema que compreende dois ou mais computadores ou sistemas, denominados nodos, os quais trabalham em conjunto para executar aplicações ou realizar tarefas 2021.1 2021.1 Teorema CAP • Propriedades • consistência (Consistency) • disponibilidade (Availability) • tolerância à partição (Partition Tolerance) • Teorema • é impossível garantir essas três propriedades ao mesmo tempo • é possível garantir quaisquer duas dessas propriedades ao mesmo tempo 2021.1 2021.1 Teorema CAP 2021.1 Consistency (Consistência) • O sistema garante a leitura do dado mais atualizando. • Isso significa que o cliente pode ler o mesmo dado no mesmo nó que este dado foi escrito, ou de um nó diferente, retornado para a aplicação cliente. • Mesmo que alguém tenha mudado o estado do domínio da aplicação com novas informações, o comportamento de consistência garantirá que o cliente não verá dados velhos, apenas os novos dados serão visualizados. 2021.1 Availability (Disponibilidade) • O que aconteceria (ou acontece) na maioria dos sistemas quando algum nó esteja momentaneamente indisponível? • Na maioria dos sistemas, surgem mensagens de erro do tipo: • O sistema encontra-se indisponível no momento. • Retorne mais tarde! • São exemplos de frases interessantes e que dá uma satisfação para o usuário final da aplicação.....Porém não é algo que o usuário tem que se preocupar, certo? 2021.1 Partition Tolerance (Tolerância a Partição de Rede / Tolerância a Falhas) • Significa que o sistema continua operando, mesmo que aconteça alguma falha na rede (quebra de conectividade). • Exemplo: • Um banco de dados distribuído em alguns nós da rede (Ex.: 10 NÓS) e, estes nós, estão ligados através de um cluster. • Caso uma das partes do cluster falhe, o sistema continuaria operando sem aparentar problema, porque a outra parte que se encontra operacional do cluster garantirá que pelo menos as operações de leitura continuem funcionando normalmente. 2021.1 Exemplo.... 2021.1 Relacional versus NoSQL ✓Bancos de dados Relacionais • dados estruturados• esquema bem definido • ... garantem as propriedades ACID ✓Bancos de dados NoSQL • dados semiestruturados ou não estruturados • esquema flexível ou nenhum esquema • ... relaxam as propriedades ACID ✓teorema CAP e propriedades BASE 2021.1 Banco de Dados Relacional vs. Orientado a Documentos • Bancos de Dados Relacionais • Cada coluna continua reservado no BD aguardando um valor • Bancos de Dados Orientados a Documentos • Cada documento pode ser inserido na mesma Coleção com número de campos distintos 2021.1 Modelo de Dados: Relacional para Documentos 2021.1 Modelo de Dados: Relacional para Documentos 2021.1 Modelo de Dados: Relacional para Documentos 2021.1 Formação de Documentos Estratégia Composição de Informações através da formação de Agregados 2021.1 Modelo Relacional 2021.1 Modelo de Documento 2021.1 MongoDB • Sintaxe • [Database].[coleção].[ação]( ); • Criando um Banco de Dados • Use [NomeBanco] • Cria e já comença a usar o Banco • DB – retorna o banco utilizado no momento • Show DBS – Retorna a lista de Banco de Dados • Mongod: Inicia o serviço (No servidor) • Mongo: Inicia o client 2021.1 MongoDB Insert • Exemplo 1 //Inserindo – com parâmetros db.teste.insert({a: true}); • Exemplo 2 //Inserindo – com declaração de variável var json = {b: 'TESTE'} db.teste.insert(json) db.teste.find() { "_id": ObjectId("546142385b9f2b586cb31d06"), "a": true }, { "_id": ObjectId("546142665b9f2b586cb31d07"), "b": "TESTE" } 2021.1 MongoDB: ObjectId • ObjectId • Insert • Insert de um objeto: var disciplina = { 'descricao':‘Banco de Dados NoSQL', 'Categoria':‘Banco de Dados', ‘Professor’: ‘Henrique Tavares' } db.disciplinas.insert(disciplina) db.disciplinas.find() 2021.1 MongoDB: Coleções • Insert • Coleções var pessoas = [ {‘nome’:’pessoa 1’,’idade’:27}, {‘nome’:’pessoa 2’,’idade’:29}, {‘nome’:’pessoa 3’,’idade’:40} ] db.pessoas.insert(pessoas) db.pessoas.find() 2021.1 MongoDB • Save – Insere e altera valores var pessoa = {‘nome’:’pessoa 5’,’idade’:27}; db.pessoas.save(pessoa) db.pessoas.find() var query = {‘nome’: ‘Pessoa 5’} var p = db.pessoas.findOne(query) //É possível imprimir os valores do objeto Ex : p p.nome ou p.idade p.nome = ‘Novo nome’ db.pessoas.save(p) 2021.1 MongoDB • Find • Retorna um cursor que é convertido em array var query = {idade:27} var campos = {nome: 1, idade: 0} //Nos campos o valor determina que o propriedade será exibida no select db.pessoas.find(query,campos) 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 2021.1 Bancos de Dados Chave-Valor o Redis o Riak o Berkeley DB o DynamoDB Definição de banco de dados de chave-valor • Um banco de dados de chave-valor é um tipo de banco de dados não relacional que usa um método de chave-valor simples para armazenar dados. • Um banco de dados de chave-valor armazena dados como um conjunto de pares de chave-valor em que uma chave funciona como um identificador exclusivo. • A chave e os valores podem ser qualquer coisa, desde objetos simples até objetos compostos complexos. • Bancos de dados de chave-valor são altamente particionáveis e permitem escalabilidade horizontal que outros tipos de bancos de dados não conseguem alcançar. • Por exemplo, o Amazon DynamoDB alocará partições adicionais a uma tabela se uma partição existente for preenchida até o limite de capacidade e mais espaço de armazenamento for necessário. Definição de banco de dados de chave-valor https://aws.amazon.com/dynamodb/ O diagrama a seguir mostra um exemplo de dados armazenados como pares de chave-valor no DynamoDB 2021.1 1. Um aplicativo orientado por sessão, como um aplicativo da Web, começa uma sessão quando o usuário faz login e fica ativo até que o usuário se desconecte ou a sessão expire. 2. Durante esse período, o aplicativo armazena todos os dados relativos à sessão na memória principal ou em um banco de dados. 3. Os dados da sessão podem incluir informações de perfil do usuário, mensagens, dados e temas personalizados, recomendações, promoções direcionadas e descontos. 4. Cada sessão de usuário tem um identificador exclusivo. Os dados de sessão nunca são consultados por nada além de uma chave primária, então um armazenamento de chave-valor rápido é mais adequado para dados de sessão. 5. Em termos gerais, os bancos de dados de chave-valor podem proporcionar menor sobrecarga por página do que bancos de dados relacionais. Casos de uso: Armazenamento de sessões 2021.1 • Na temporada de compras de fim de ano, um site de comércio eletrônico pode receber bilhões de pedidos em questão de segundos. • Bancos de dados de chave-valor podem lidar com a escalabilidade de grandes quantidades de dados e volumes extremamente altos de mudanças de estado enquanto atendem a milhões de usuários simultâneos por meio do processamento e armazenamento distribuído. • Bancos de dados de chave-valor também têm redundância incorporada, que podem lidar com a perda de nós de armazenamento. Casos de uso: Carrinho de compras Redis • O Redis é um armazenamento de estrutura de dados de chave-valor de código aberto e na memória. • O Redis oferece um conjunto de estruturas versáteis de dados na memória que permite a fácil criação de várias aplicações personalizadas. • Os principais casos de uso do Redis incluem cache, gerenciamento de sessões, PUB/SUB e classificações. É o armazenamento de chave-valor mais conhecido atualmente: http://db-engines.com/en/ranking/key-value+store http://db-engines.com/en/ranking/key-value+store http://db-engines.com/en/ranking/key-value+store 2021.1 • Utilizado • Session Cache: • Lojas online para carrinho de vendas • Cache de Página • Diversos plugin para lojas virtuais • Wordpress • Majento • Filas • Análise em tempo real de eventos • Estatísticas (Contagem/Scores) • Exemplos de projetos que utilizam redis • https://redislabs.com/solutions Redis https://redislabs.com/solutions 2021.1 • Basicamente um Dicionário chave-valor. • C#: Dictionary • Java: HashMap • O Redis armazena em memória RAM os dados, e de tempos em tempos transfere o conteúdo da memória para o disco. Redis 2021.1 • Porque usar? • Insanamente rápido • Leve e pequeno • Dados armazenados em memória/disco • É OpenSource Redis 2021.1 • Vantagens • Acesso aos dados é realizado de forma ágil, sem acesso ao disco. • Desvantagens • Não permite JOINS do SQL • Necessário ter o mesmo espaço de memória do mesmo tamanho do dado que deseja armazenar Redis 2021.1 • Tipos de dados • Strings • Integers • Hash • Lists • Sets • Sorted Sets Redis 2021.1 • Armazena dados simples • Strings • Números • Dados complexos • Lists • Sets • Hashes • Sorted Sets Redis 2021.1 • Exemplo: • redis> set disciplina “Banco de Dados NoSQL” • redis> get disciplina • “Banco de Dados NoSQL” Redis 2021.1 • Operações • get/set • push/pop • add/remove • union/intersect/diffs • e muito mais, incluindo opções de ordenação. Redis 2021.1 • Download • https://github.com/MSOpenTech/redis/releases • http://redis.io/commands • Avançar... Avançar... • Abrir redis-cli.exe Ou • CMD = redis-cli Redis https://github.com/MSOpenTech/redis/releases http://redis.io/commands 2021.1 • Trabalhando com strings e inteiros • set key = definie um valor a uma chave • get key = retorna o valor de uma chave • append key = concatena um novo valor ao valor atual de uma chave e altera o valor atual da chave • mget key [key...] = retorna o valor de várias chaves • substr key args args = retorna um intervalo do valor de uma chave • Incr key = incrementa valor 1 a uma chave do tipo inteiro • incrby num arg = incrementa valor especificado a uma chave do tipo inteiro • decr num = decrementa valor 1 a uma chave do tipo inteiro Redis 2021.1 • Trabalhando com strings einteiros • set nome “Niterói” • get nome • “Niterói” • set disciplina “Banco de Dados ” • append disciplina “NoSQL” • mget nome disciplina • 1. “Niterói” • 2. “Banco de Dados NoSQL” • substr nome 2 6 • “erói” Redis 2021.1 • Trabalhando com strings e inteiros • set num 1 • incr num • (interger) 2 • incrby num 8 • (interger) 10 • decr num • (interger) 9 • get num • “9” Redis 2021.1 • Trabalhando com Listas • rpush key = insere um item a direita da lista (final) • lpush key = insere um item a esquerda da lista (início) • lrangekey arg arg = retorna parte da lista definido pelo intervalo • lpop key = retorna um elemento a esquerda da lista e o remove • rpop key = retorna um elemento a direita da lista e o remove Redis 2021.1 • Trabalhando com Listas • rpush lista 1 • rpush lista 2 • lpush lista 0 • lrange lista 0 2 • 1) “0” • 2) “1” • 3) “3” • lrange lista 0 1 • 1) “0” • 2) “1” Redis 2021.1 • Trabalhando com Listas • lpop lista • “0” • lrange lista 0 -1 • 1) “1” • 2) “2” • rpop lista • “2” • lrange lista 0 -1 • 1) “1” Redis 2021.1 • Trabalhando com SET - Coleções de String – Não Ordenadas • sadd key = adiciona um item a uma coleção • smembers key = retorna os itens de uma coleção • sunion key [key...] = realiza a união de duas ou mais coleções • sinterkey [key...] = retorna intercessão entre coleções • sdiff key [key...] = retorna a diferença entre coleções • srem key arg = remove um item específico de uma coleção Redis 2021.1 • Trabalhando com SET - Coleções de String – Não Ordenadas • sadd usuarios “bené” • sadd usuarios “odilon” • sadd usuarios “fernando” • smembers usuarios • 1) “odilon” • 2) “bené” • 3) “fernando” Redis 2021.1 • Trabalhando com SET - Coleções de String – Não Ordenadas • sadd log “bené” • sinter usuarios log • 1) “bené” • sdiff usuarios log • 1) “odilon” • 2) “fernando” • sunion usuarios log • sremusuarios “fernando” • smembers usuarios • 1) “odilon” • 2) “bené” Redis 2021.1 • Trabalhando com SORTED SET - Coleções de String – Ordenadas • zadd nomes 1 “Fulano” • zadd nomes 2 “Cicrano” • zrangenomes 0 -1 • 1) “Fulano” • 2) “Cicrano” • zrevrangenomes 0 -1 • 1) “Cicrano” • 2) “Fulano” • zremnomes 1 Redis 2021.1 • Trabalhando com HASH • hset pessoa nome “Niterói” • hmset pessoa email “nosql at estacio.br” senha “123” • hkeys pessoa • 1) “nome” • 2) “email” • 3) “senha” • hvals pessoa • 1) “Niterói” • 2) “nosql at estacio.br” • 3) “123” Redis 2021.1 • Trabalhando com HASH • hgetall pessoa • 1) “nome” • 2) “email” • 3) “senha” • 4) “Niterói” • 5) “nosql at estacio.br” • 6) “123” • hdel pessoa senha • hmget pessoa nome email • 1) " Niterói“ • 2) “nosql at estacio.br” Redis 2021.1 • Documentação • http://redis.io/documentation • Comandos • http://redis.io/commands Redis http://redis.io/documentation http://redis.io/commands
Compartilhar