Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

NOSQL – Chave Valor (Redis) 
 
Nome: Joel Sousa Matricula : 201908181231. 
 
1. Banco de dados NOSQL Chave-Valor 
 
a. Breve histórico, Definição 
 
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. 
 
b. Principais características: consistência, transações, disponibilidade e 
escalabilidade 
 
Desempenho muito rápido: Todos os dados do Redis residem na memória 
principal do seu servidor, em contraste com a maioria dos sistemas de gerenciamento 
de banco de dados que armazenam dados em disco ou SSDs. 
Estruturas de dados na memória: O Redis permite que os usuários armazenem 
chaves que fazem o mapeamento para vários tipos de dados. 
Versatilidade e facilidade de uso: O Redis é disponibilizado com várias ferramentas 
que tornam o desenvolvimento e as operações mais rápidas e fáceis. 
Replicação e persistência: O Redis emprega uma arquitetura no estilo 
mestre/subordinado e é compatível com a replicação assíncrona em que os dados 
podem ser replicados para vários servidores subordinados. Isso pode disponibilizar 
desempenho de leitura melhorado e recuperação quando o servidor primár io passar 
por uma interrupção. 
Compatibilidade com a sua linguagem de desenvolvimento preferencial: As 
linguagens compatíveis incluem Java, Python, PHP, C, C++, C#, JavaScript, Node.js, 
Ruby, R, Go e muitas outras. 
 
c. Quando utilizar esse tipo de banco? 
 
Redis é altamente indicado para aplicações que exijam um processamento 
dinâmico, com acesso frequente a dados essenciais. O Redis é uma opção popular 
para armazenamento em cache, gerenciamento de sessões, jogos, tabelas de 
classificação, análises em tempo real, geoespaciais, veiculação de bate-papo, bate-
papo/mensagens, streaming de mídia e aplicativos de pub/sub. 
 
d. Percentual de utilização no mercado 
 
O Redis está entre os top's 10 SGBD's mais utilizados no mercado. 
O Redis é o banco de dados NoSQL do tipo chave-valor mais conhecido. No mercado 
podemos encontrar diversas outras soluções que também são mecanismos de 
armazenamento baseado em chave-valor, incluindo Memcached e Hazelcast. 
 
2. Estrutura 
Comentado [J.1]: Ian fica com item 1 
 
Comentado [J.2]: Kethelly item 2 
 
 
 
 
a. Estrutura de um par chave-valor (dê exemplo) 
 
 
 
 
STRING serve para identificar uma sequência de caracteres. Na prática, as strings são 
usadas para representar textos. 
 
HASH é qualquer algoritmo que mapeie dados grandes e de tamanho variável para 
pequenos dados de tamanho fixo. 
 
 LIST transforma uma string em uma lista onde os itens da lista correspondem aos 
caracteres da string. 
 
SET em Redis representam conjuntos de valores que não se repetem. 
 
SORTED SET similar ao set, por não permitir valores duplicados, mas cada elemento está 
associado para um valor flutuante, chamado de score. 
 
 
 
 
b. Comparação da terminologia SQL (relacional) com a de um banco de 
dados baseado em chave-valor 
 
SQL Relacional : Cada tabela em um banco de dados relacional contém um ou mais dados 
em colunas, e cada linha, também chamada de registro, contém uma instância exclusiva de 
dados ou chave para os dados definidos pelas colunas. Cada tabela normalmente possui uma 
coluna de chave primária, um registro único dentro da tabela para identificar os registros. O 
relacionamento entre tabelas pode ser definido através do uso de chaves estrangeiras – um 
campo em uma tabela que se vincula à chave primária de outra tabela. 
Podemos imaginar um banco de dados relacional como um excel, onde o banco é uma 
planilha, cada aba um tabela que contém suas colunas e linhas. 
 
 
 
 
 
 
Exemplo : 
 
 
• Chave-Valor: São um tipo mais “simples” de banco de dados, em que cada item 
contém chaves e valores. Esses valores podem ser qualquer tipo de dado, um texto, 
um número, um JSON e eles podem ser recuperados fazendo referência a sua chave, 
fazendo com que sua consulta seja muito simples. Esses bancos são ótimos para 
quando você precisa armazenar grandes quantidades de dados, mas não precisa 
executar consultas complexas neles. Os usos mais comuns são para armazenamento 
de dados em cache. Redis e DynanoDB são provavelmente os bancos mais populares 
desse tipo. 
 
Exemplo : 
 
 
 
 
 
 
 
 
 
 
3. Comandos para a definição da estrutura do banco de dados baseado em chave-valor 
 
a. comando para criar o Banco de dados 
Comentado [J.3]: Andressa e Joel item 3 
 
 
 
 
 
 (OBS: não existe tabelas em NOSQL chave valor redis) 
 
Nativamente, uma instância do Redis suporta 16 bancos de dados lógicos. 
 Esses bancos de dados são efetivamente isolados um do outro e, quando 
 você executa um comando em um banco de dados, ele não afeta nenhum 
 dado armazenado em outros bancos de dados na sua instância do Redis. 
 
Os bancos de dados Redis são numerados de 0 a 15 e, por padrão, você se 
 conecta ao banco de dados 0 quando se conecta à sua instância Redis. No 
 entanto, você pode alterar o banco de dados que está usando com o 
 comando select após conectar-se: 
 
<> select 15 
 
 
b. comando para criar a tabela 
 
Uma chave só pode conter uma lista, embora qualquer lista possa conter mais de 
 quatro bilhões de elementos. Redis lê listas da esquerda para a direita, e você 
pode adicionar novos elementos de lista à cabeça de uma lista (a extremidade 
"esquerda") com o comando lpush ou a cauda (a extremidade "direita") com rpush. 
Você também pode usar lpush ou rpush para criar uma nova lista: 
 
<> lpush chave valor 
 
c. comando para alterar a tabela 
 
Não é possível converter chaves Redis de um tipo de dados para outro, então para 
transformar key_philosophy3 em uma lista você precisaria excluir a chave e começar 
de novo com um comando lpush ou rpush 
 
d.comando para exclusão da tabela 
 
Em uma lista você precisaria excluir a chave e começar de novo com um comando 
lpush ou rpush 
 
 
4. Comandos para o CRUD 
a. Inclusão de registros 
<> set key:() value()new 
b. Consulta de registros 
<> get key:() 
c. Atualização de registros 
 <> set key:() NovoRegistro 
d. Exclusão de registros 
Comentado [J.4]: (Ian responsável pelo item 4) 
 
 
 
 
<> del key:() 
 
5. Operadores para uso no modelo baseado em chave-valor 
Os operadores são utilizados nas nossas querys para buscar, inserir, deletar ou alterar os 
dados nos registros do nosso banco de dados, por exemplo, para alterar/inserir valores 
temos o SET, para realizar consulta temos o GET ou podemos utilizar o GETSET onde 
vamos consultar o valor e automaticamente atribuir um novo valor em seguida, para excluir 
temos o DEL ou podemos utilizar o GETDEL onde vamos consultar o valor e 
automaticamente excluir em seguida. 
 
6. Funções para manipulação dos dados 
 
− para extrair um valor específico a partir de uma chave 
 
Logo quando damos um 
GETSET valor “NOVO ESPECIFICO” 
 buscando um valor especifico dará null 
 
Logo em seguida damos um GET valor 
“NOVO ESPECIFICO” 
 irá aparecer, pois assim conseguimos extrair um valor 
espeficico. 
 
- concatenação de valores 
<> set nome “Urbano” 
<>getnome 
<>“Urbano” 
<> set disciplina “Banco de Dados ” 
<>append disciplina “Avançados” 
<>mget nome disciplina 
1. “Urbano” 
2. “Banco de Dados Avançados” 
 
- conversão de valores 
 
Não é possível converter chaves Redis de um tipo de dados 
para outro, 
 
 
Referências Bibliográficas 
 
Sanfilippo, Salvatore, “Redis Labs”. Lançamento dez (10) de maio de 2009. 
 
 
Comentado [J.5]: Italo responsável pelo item 5 
Comentado [J.6]: Vinicius responsável pelo item 6

Mais conteúdos dessa disciplina