Índice:
Vídeo: Curso MySQL #03 - Criando o primeiro Banco de Dados 2024
Você encontra dois tipos de bancos de dados de documentos para grandes projetos de dados. Um é muitas vezes descrito como um repositório para conteúdo completo em estilo de documento. O outro é um banco de dados para armazenar componentes de documentos para armazenamento permanente como uma entidade estática ou para montagem dinâmica das partes de um documento. A estrutura dos documentos e suas partes é fornecida pela Notação de Objeto JavaScript (JSON) e / ou JSON Binário (BSON).
Os bancos de dados de documentos são mais úteis quando você tem que produzir muitos relatórios e eles precisam ser montados dinamicamente a partir de elementos que mudam com freqüência.
No seu núcleo, o JSON é um formato de intercâmbio de dados, baseado em um subconjunto da linguagem de programação JavaScript. Embora seja parte de uma linguagem de programação, é de natureza textual e muito fácil de ler e escrever. Ele também tem a vantagem de ser fácil para os computadores serem manipulados. Existem duas estruturas básicas no JSON e são suportadas por muitas, ou não, linguagens de programação modernas.
A primeira estrutura básica é uma coleção de pares nome / valor, e eles são representados de forma programática como objetos, registros, listas com chave, e assim por diante. A segunda estrutura básica é uma lista ordenada de valores, e eles são representados de forma programática como arrays, listas ou seqüências. BSON é uma serialização binária de estruturas JSON projetadas para aumentar o desempenho e escalabilidade.
MongoDB para dados grandes
MongoDB é o nome do projeto para o sistema "hu (mongo) us database". É mantida por uma empresa chamada 10gen como fonte aberta e está disponível gratuitamente no GNU AGPL v3. 0 licença. Licenças comerciais com suporte total estão disponíveis no 10gen.
MongoDB é composto por bancos de dados contendo "coleções". "Uma coleção é composta de" documentos ", e cada documento é composto de campos. Assim como em bancos de dados relacionais, você pode indexar uma coleção.
Ao fazê-lo, aumenta o desempenho da pesquisa de dados. Ao contrário de outros bancos de dados, o MongoDB retorna algo chamado "cursor", que serve como ponteiro para os dados. Esta é uma capacidade muito útil porque oferece a opção de contar ou classificar os dados sem extraí-lo. NORMALMENTE, o MongoDB suporta BSON, a implementação binária de documentos JSON.
O MongoDB também é um ecossistema que consiste nos seguintes elementos:
-
Serviços de alta disponibilidade e replicação para dimensionamento em redes locais e de área ampla.
-
Um sistema de arquivos baseado em grade, permitindo o armazenamento de objetos grandes, dividindo-os entre vários documentos.
-
MapReduce para suportar análises e agregação de diferentes coleções / documentos.
-
Um serviço de corte que distribui um único banco de dados em um cluster de servidores em um único ou em vários centros de dados. O serviço é conduzido por uma chave de corte. A chave de corte é usada para distribuir documentos de forma inteligente em múltiplas instâncias.
-
Um serviço de consulta que suporta consultas ad hoc, consultas distribuídas e pesquisa de texto completo.
Implementações de MongoDB efetivas incluem
-
Gerenciamento de conteúdo de alto volume
-
Redes sociais
-
Arquivamento
-
Análise em tempo real
CouchDB para dados grandes
Outro banco de dados não muito popular é CouchDB. Como o MongoDB, o CouchDB é de código aberto. É mantida pela Apache Software Foundation e está disponível sob a Licença Apache v2. 0. Ao contrário do MongoDB, o CouchDB foi projetado para imitar a web em todos os aspectos.
Por exemplo, o CouchDB é resiliente para abandonar a rede e continuará a operar lindamente em áreas onde a conectividade de rede é irregular. Também está em casa em um smartphone ou em um data center. Tudo isso vem com alguns trade-offs. Devido ao imitador da Web subjacente, o CouchDB é de alta latência, resultando em uma preferência pelo armazenamento de dados locais.
O CouchDB não é adequado para implementações menores. Você deve determinar se esses trade-offs podem ser ignorados à medida que você inicia sua grande implementação de dados.
Os bancos de dados do CouchDB são compostos de documentos que consistem em campos e anexos, bem como uma "descrição" do documento na forma de metadados que é mantida automaticamente pelo sistema. A tecnologia subjacente possui todas as capacidades ACID. A vantagem no CouchDB sobre relacional é que os dados são embalados e prontos para manipulação ou armazenamento em vez de dispersos em linhas e tabelas.
O CouchDB também é um ecossistema com as seguintes capacidades:
-
Compactação: Os bancos de dados são compactados para eliminar o espaço desperdiçado quando um certo nível de vazio é atingido. Isso ajuda o desempenho e a eficiência para a persistência.
-
Ver modelo: Um mecanismo para filtrar, organizar e reportar dados utilizando um conjunto de definições que são armazenadas como documentos no banco de dados. Você encontra uma relação de banco de dados de um para muitos, para que você possa criar muitas formas diferentes de representar os dados que você cortou e cortou. "
-
Replicação e serviços distribuídos: O armazenamento de documentos foi projetado para fornecer replicação bidirecional. As réplicas parciais podem ser mantidas para suportar a distribuição baseada em critérios ou a migração para dispositivos com conectividade limitada. A replicação nativa é baseada em pares, mas você pode implementar mestre / escravo, mestre / mestre e outros tipos de modalidades de replicação.
As implementações eficazes do CouchDB incluem
-
Gerenciamento de conteúdo de alto volume
-
Escala do smartphone para o centro de dados
-
Aplicativos com conectividade de rede limitada ou lenta