Bem-vindo/a!

Conceitos de NoSQL

Miriam Antona

Software engineer

Tópicos abordados

  • Capítulo 1: NoSQL vs bancos relacionais / bancos chave-valor
  • Capítulo 2: Bancos de documentos
  • Capítulo 3: Bancos de colunas
  • Capítulo 4: Bancos de grafos
Conceitos de NoSQL

Sobre o curso

  • Curso conceitual (sem código)

Logotipo da Datazy

Conceitos de NoSQL

NoSQL vs bancos relacionais

Bancos relacionais

  • Usam tabelas/linhas/colunas
  • Precisam de esquema pré-definido/mudar é complicado
  • Consultas lentas ao juntar várias tabelas
  • Escalam verticalmente
    • escalam adicionando mais recursos (ex.: CPU, RAM...)
    • mais caro
  • Garantem transações ACID
  • Geralmente código fechado

NoSQL

  • Originalmente não-SQL/não relacional
  • Not only SQL
  • Bancos não relacionais
  • Não usam tabelas/linhas/colunas
  • Sem esquema/mudanças fáceis
  • Consultas rápidas
  • Escalam horizontalmente/mais barato
  • A maioria não dá suporte a transações ACID
  • Código aberto
Conceitos de NoSQL

NoSQL vs bancos relacionais

  • São complementares
  • Podem coexistir
Conceitos de NoSQL

Tipos de bancos NoSQL

  • Bancos chave-valor
  • Bancos de documentos
  • Bancos de colunas
  • Bancos de grafos
Conceitos de NoSQL

Bancos chave-valor

  • Os NoSQL mais simples
  • Get/Set de valores por chave associada

Um exemplo visual de dois pares chave-valor. A primeira chave é K1 e o primeiro valor é Hello. A segunda chave é K2 e o segundo valor é Goodbye.

Conceitos de NoSQL

Chave

  • Exemplos:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Qualquer sequência binária
  • Única
  • Pode ser gerada por algoritmos
  • Evitar chaves longas
Conceitos de NoSQL

Valor

  • Associada a uma chave
  • Buscar, definir, apagar por chave
  • Números, strings, JSON, imagens...
  • Restrições de tamanho
Conceitos de NoSQL

Valor

  • Associada a uma chave
  • Buscar, definir, apagar por chave
  • Números, strings, JSON, imagens...
  • Restrições de tamanho

$$

key value
dataCampCourses:123:name Cleaning data in a SQL Server database
dataCampCourses:123:softLaunchDate 10/01/2020
user:12:address ('123 Sesame Street', 'NY')
user:125:address {"street" : "123 Sesame Street" , "city" : "NY"}
Conceitos de NoSQL

Exemplo Datazy

Preferências de usuário

key value
user:457:preferences {"language" : "en_US" , "color" : "green" , "timezone" : "GTM-4"}
user:458:preferences {"language" : "es_US" , "color" : "blue" , "timezone" : "GTM+2"}

 

  • Convenção (:)
    • user:id:preferences
Conceitos de NoSQL

Bancos chave-valor populares

Logotipos de alguns bancos chave-valor populares.

Conceitos de NoSQL

Vamos praticar!

Conceitos de NoSQL

Preparing Video For Download...