Bases de dados de documentos em um ambiente de dados grande
Você encontra dois tipos de bancos de dados de documentos para projetos de big data. Um é frequentemente descrito como um repositório de conteúdo full-estilo do documento. A outra é uma base de dados para o armazenamento de componentes de um documento para o armazenamento permanente, tal como uma entidade estática ou dinâmica para a montagem das partes de um documento. A estrutura dos documentos e dos seus componentes é fornecido por Notação javascript Object (JSON) e / ou JSON binário (BSON).
Conteúdo
bases de dados de documentos são mais úteis quando você tem que produzir uma grande quantidade de relatórios e eles precisam ser montadas dinamicamente a partir de elementos que mudam com freqüência.
Na sua essência, JSON é um formato de intercâmbio de dados, com base em um subconjunto da linguagem de programação javascript. Embora parte de uma linguagem de programação, é textual na natureza e muito fácil de ler e escrever. Ele também tem a vantagem de ser fácil para computadores de manusear. Existem duas estruturas básicas em JSON, e eles são suportados por muitos, se não todos, linguagens de programação modernas.
A primeira estrutura básica é uma coleção de pares nome / valor, e eles são representados por meio de programação como objetos, registros, introduzidos listas, e assim por diante. A segunda estrutura de base é uma lista ordenada de valores, e que são representados por meio de programação como matrizes, listas, ou sequências. BSON é uma serialização binária de estruturas JSON projetados para aumentar o desempenho e escalabilidade.
MongoDB para big data
MongoDB é o nome do projeto para o “hu (mongo) nos banco de dados” do sistema. É mantido por uma empresa chamada 10gen como código aberto e está disponível gratuitamente sob a licença v3.0 GNU AGPL. licenças comerciais com suporte completo estão disponíveis a partir 10gen.
MongoDB é composto de bases de dados contendo “coleções”. A coleção é composta de “documentos”, e cada documento é composto de campos. Assim como em bancos de dados relacionais, você pode indexar uma coleção.
Este procedimento aumenta o desempenho de pesquisa de dados. Ao contrário de outras bases de dados, no entanto, MongoDB retorna algo chamado um “cursor”, que serve como um indicador para os dados. Esta é uma capacidade muito útil porque oferece a opção de contar ou classificar os dados sem extraí-lo. Nativamente, MongoDB suporta BSON, a implementação binária de documentos JSON.
MongoDB é também um ecossistema que consiste dos seguintes elementos:
De alta disponibilidade e serviços de replicação para o dimensionamento através de redes locais e em toda a área.
Um sistema de arquivos baseado em grid, permitindo o armazenamento de grandes objetos, dividindo-as entre vários documentos.
MapReduce para apoiar análises e agregação de diferentes coleções / documentos.
Um serviço de fragmentação 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 é impulsionado por uma chave caco. A chave caco é usado para distribuir documentos de forma inteligente em várias instâncias.
Um serviço de consulta que suporta consultas ad hoc, consultas distribuídas e pesquisa de texto completo.
implementações eficaz MongoDB incluem
gerenciamento de conteúdo de alto volume
Rede social
arquivamento
análises em tempo real
CouchDB para big data
Outro banco de dados não relacional é muito popular CouchDB. Como MongoDB, CouchDB é open source. Ele é mantido pela Apache Software Foundation e está disponível sob a licença Apache v2.0. Ao contrário MongoDB, CouchDB foi concebida para mimetizar a teia em todos os aspectos.
Por exemplo, CouchDB é resistente a desistências de rede e continuará a operar muito bem em áreas onde a conectividade de rede é irregular. É também em casa em um smartphone ou em um centro de dados. Isso tudo vem com alguns trade-offs. Por causa do mimetismo folha subjacente, CouchDB é alta latência resultando em uma preferência para o armazenamento de dados local.
CouchDB não é bem adequado para implementações menores. Você deve determinar se esses trade-offs podem ser ignorados, como você começar a sua implementação de dados grande.
Video: Resolver erro de importação de banco de dados muito grande no PhpMyAdmin
bancos de dados 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 em CouchDB sobre relacional é que os dados são empacotados e pronta para manipulação ou de armazenamento em vez de espalhadas por fileiras e tabelas.
CouchDB também é um ecossistema com as seguintes capacidades:
compactação: As bases de dados são compactados para eliminar espaço desperdiçado quando um certo nível de vazio é atingido. Isso ajuda o desempenho e eficiência para persistência.
Ver modelo: Um mecanismo para filtrar, organizar e elaborar relatórios sobre os dados utilizando um conjunto de definições que são armazenados como documentos no banco de dados. Você encontra um relacionamento um-para-muitos dos bancos de dados para pontos de vista, assim você pode criar muitas maneiras diferentes de representar os dados que você “fatiado e picado.”
Replicação e distribuídos serviços: armazenamento documento é concebido para fornecer replicação bidireccional. réplicas parciais podem ser mantidos para suportar distribuição com base em critérios determinados ou a migração para dispositivos com conectividade limitada. replicação nativa é de pares base, mas você pode implementar Master / Slave, Mestre / Master, e outros tipos de modalidades de replicação.
Video: Aula de Banco de Dados 2 - Mala Direta com Word usando Banco de Dados
implementações CouchDB eficazes incluem
gerenciamento de conteúdo de alto volume
Dimensionamento de smartphone para data center
Aplicações com conectividade de rede limitada ou lenta