0% acharam este documento útil (0 voto)
21 visualizações38 páginas

Apache CouchDB

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
21 visualizações38 páginas

Apache CouchDB

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 38

Apache CouchDB

Introdução
O que é o Apache CouchDB?

O Apache CouchDB é um banco de dados NoSQL baseado em


documentos de código aberto desenvolvido pela Apache Software
Foundation e usado por grandes empresas como Apple, GenCorp
Technologies e Wells Fargo.

O CouchDB é semelhante ao MongoDB e usa JSON, também conhecido


como Javascript Object Notation, para armazenar dados, enquanto o
MongoDB armazena dados usando BSON, que significa Binary
Javascript Object Notation.
O que é o Apache CouchDB?

É um software de gerenciamento de banco de dados NoSQL (Não SQL)


de código aberto projetado para atender tecnologias web.
Implementações Apache CouchDB
O CouchDB implementa o controle de simultaneidade de várias versões
para garantir que não haja necessidade de bloquear os campos do
banco de dados durante a execução de gravações.
O CouchDB pode escalar facilmente e fornece um mecanismo de
replicação integrado e fácil de usar para sincronizar dados em bancos
de dados em várias máquinas. O CouchDB, independentemente de ser
um banco de dados NoSQL baseado em documento, segue as
propriedades ACID em que A significa Atomicidade, C significa
Consistência, I significa Isolamento e D significa Durabilidade. Para ler
mais sobre as propriedades ACID, consulte este artigo.
CouchDB, independente de ser
um banco de dados NoSQL,
baseado em documento, segue
as propriedades ACID em que A
significa Atomicidade, C
significa Consistência, I significa
Isolamento e D significa
Durabilidade. Para ler mais
sobre as propriedades ACID,
consulte este artigo.

Fontes: https://www.analyticsvidhya.com/blog/2022/07/introduction-to-apache-couchdb-using-python/
https://www.analyticsvidhya.com/blog/2022/07/understanding-transaction-management-in-sql/
Compreendendo o
gerenciamento de transações
em SQL
Introdução ao SQL

Uma transação é um conjunto de operações executadas como uma


unidade lógica de trabalho. É uma unidade de trabalho lógica que inclui
uma ou mais instruções SQL. Um sistema de banco de dados deve
garantir que as transações sejam executadas adequadamente, mesmo
que falhem total ou parcialmente. Uma transação é mais comumente
usada no setor bancário ou no setor de transações.
Introdução ao SQL
A representação pictórica abaixo explica o processo de transação:
Introdução ao SQL
Considere o caso de um banco com dois clientes, Cliente A e Cliente B.
Se o Cliente A deseja transferir dinheiro para o Cliente B, ele tem três
opções:

1. O débito da conta do Cliente A é bem-sucedido, assim como o


crédito na conta do Cliente B.
2. Não há débito da conta do Cliente A e nenhum crédito na conta do
Cliente B.
3. O débito da conta do Cliente A foi bem-sucedido, mas o crédito da
conta do Cliente B não.
Introdução ao SQL

A primeira condição indica uma transação bem-sucedida, enquanto a


segunda é menos importante. Não somos obrigados a retransmitir, mas a
terceira condição causará um problema se a primeira operação for bem-
sucedida, mas a segunda falhar devido a um problema técnico.

Como resultado, a conta do Cliente A será debitada, mas a conta do Cliente


B não será creditada. Isso implica que perderemos os dados. Podemos usar
o gerenciamento de transações para resolver todos esses problemas. Uma
transação garante que um débito ou um crédito será executado ou que
nada será executado.
Usando transação em SQL
O mecanismo de controle de transação usa os seguintes comandos:

• BEGIN: Para iniciar uma transação.

• COMMIT: Para salvar as alterações. Após o comando commit, a transação não


pode ser revertida.

• SAVEPOINT: Fornece pontos para onde a transação pode ser revertida.

• ROLLBACK: Para reverter para um estado salvo anteriormente.


Usando transação em SQL
• 1. Comece a transação - Begin transaction

• Denota o início de uma transação local ou explícita.

• Iniciar transação T1

• 2. Confirme a transação - Commit Transaction

• As modificações do banco de dados são refletidas permanentemente por meio de


confirmações. “COMMIT” é a instrução que inicia a transação.

• Comprometer-se;
Usando transação em SQL
• 3. Reversão - Rollback

• Rollback é usado para desfazer modificações, o que significa que o registro permanecerá em seu estado
original e não será modificado. “ROLLBACK” é a instrução que inicia a transação.

• reversão;

• 4. ponto de salvamento - savepoint

• Uma instrução de transação também inclui SAVEPOINT. Esta instrução foi usada para estabelecer um
ponto de armazenamento do sistema para que a operação ROLLBACK pudesse atingir o estado do
ponto de salvamento.

• ponto de salvamento s1; Fonte: https://www.analyticsvidhya.com/blog/2022/07/understanding-


transaction-management-in-sql/
O que é um banco de dados NoSQL?

NoSQL, também conhecido como “não apenas SQL”, “não-SQL”, é


uma abordagem de design de banco de dados que permite o
armazenamento e a consulta de dados fora das estruturas tradicionais
encontradas em bancos de dados relacionais.

Embora ainda possa armazenar dados encontrados em sistemas de


gerenciamento de banco de dados relacional (RDBMS), ele apenas os
armazena de maneira diferente em comparação com um RDBMS.
O que é um banco de dados NoSQL?
• A decisão de usar um banco de dados relacional versus um banco de
dados não relacional é amplamente contextual e varia dependendo do
caso de uso.
• Em vez da estrutura tabular típica de um banco de dados relacional, os
bancos de dados NoSQL armazenam dados em uma estrutura de
dados, como um documento JSON.
• Como esse design de banco de dados não relacional não requer um
esquema, ele oferece escalabilidade rápida para gerenciar conjuntos de
dados grandes e normalmente não estruturados.
O que é um banco de dados NoSQL?
• O NoSQL também é um tipo de banco de dados distribuído, o que
significa que as informações são copiadas e armazenadas em vários
servidores, que podem ser remotos ou locais. Isso garante a
disponibilidade e confiabilidade dos dados. Se alguns dos dados
ficarem off-line, o restante do banco de dados poderá continuar em
execução.
• Hoje, as empresas precisam gerenciar grandes volumes de dados em
alta velocidade com a capacidade de escalar rapidamente para executar
aplicativos da Web modernos em quase todos os setores.
O que é um banco de dados NoSQL?
• Nesta era de crescimento em nuvem, big data e aplicativos móveis e
da web, os bancos de dados NoSQL fornecem essa velocidade e
escalabilidade, tornando-os uma escolha popular por seu desempenho
e facilidade de uso.
Tipos de bancos de dados NoSQL

• O NoSQL fornece outras opções para organizar dados de várias


maneiras. Ao oferecer diversas estruturas de dados, o NoSQL pode
ser aplicado à análise de dados, gerenciamento de big data, redes
sociais e desenvolvimento de aplicativos móveis.
• Um banco de dados NoSQL gerencia informações usando qualquer
um destes modelos de dados primários:
Armazenamento de valor-chave
• Isso normalmente é considerado a forma mais simples de bancos de
dados NoSQL. Esse modelo de dados sem esquema é organizado em
um dicionário de pares chave-valor, onde cada item possui uma chave
e um valor. A chave pode ser algo semelhante encontrado em um
banco de dados SQL, como um ID de carrinho de compras, enquanto
o valor é uma matriz de dados, como cada item individual no carrinho
de compras do usuário. É comumente usado para armazenar em
cache e armazenar informações de sessão do usuário, como carrinhos
de compras. No entanto, não é ideal quando você precisa extrair
vários registros de uma vez. Redis e Memcached são exemplos de
bancos de dados chave-valor de código aberto.
Armazenamento de documentos
• Conforme sugerido pelo nome, os bancos de dados de documentos armazenam dados
como documentos. Eles podem ser úteis no gerenciamento de dados semiestruturados,
e os dados geralmente são armazenados nos formatos JSON, XML ou BSON. Isso
mantém os dados juntos quando são usados ​em aplicativos, reduzindo a quantidade de
tradução necessária para usar os dados. Os desenvolvedores também ganham mais
flexibilidade, pois os esquemas de dados não precisam corresponder entre os
documentos (por exemplo, nome x primeiro_nome). No entanto, isso pode ser
problemático para transações complexas, levando à corrupção de dados. Casos de uso
populares de bancos de dados de documentos incluem sistemas de gerenciamento de
conteúdo e perfis de usuário. Um exemplo de banco de dados orientado a documentos
é o MongoDB , o componente de banco de dados da pilha MEAN .
• Quer saber mais sobre o MongoBD? Confira o tutorial da IBM sobre introdução ao uso
do IBM Cloud Databases for MongoDB.
Exemplos de bancos de dados NoSQL
• Muitas empresas entraram no cenário NoSQL. Além dos mencionados
acima, aqui estão alguns bancos de dados NoSQL populares:
• Apache CouchDB , um banco de dados baseado em documento JSON
de software livre que usa JavaScript como linguagem de consulta.
• Elasticsearch , um banco de dados baseado em documentos que
inclui um mecanismo de pesquisa de texto completo.
• Couchbase , um banco de dados de valores-chave e documentos que
capacita os desenvolvedores a criar aplicativos responsivos e flexíveis
para computação em nuvem, móvel e de ponta.
Visão Geral CouchDB

CouchDB foi desenvolvido


usando a linguagem ERLANG.

Os dados (registros) do
CouchDB são armazenados
como documentos no formato
JSON.
Visão Geral CouchDB
Visão Geral CouchDB

Ele utiliza CRUD e essas


operações são realizadas
via HTTP.

Essa implementação é
feita por meio de uma API
Restfull.
Características do CouchDB
• CouchDB possui um Dashboard para administração chamado Fauxton.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy