Bases de dados de documentos em um ambiente de dados Big

Você encontra dois tipos de bancos de dados de documentos para projetos de big data. Um é frequentemente descrito como um repositório para conteúdo completo de estilo 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 é fornecida pelo javascript Object Notation (JSON) e / ou JSON binário (BSON).

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 frequentemente.

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. Tem também 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, fechado listas, e assim por diante. A segunda estrutura básica é uma lista ordenada de valores, e eles são representados por meio de programação como matrizes, listas ou seqüê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 # 147-hu (mongo) nos banco de dados # 148- sistema. É mantido por uma empresa chamada 10gen como código aberto e está disponível gratuitamente sob a licença GNU AGPL v3.0. licenças comerciais com suporte completo estão disponíveis a partir 10gen.

MongoDB é composto de bases de dados que contêm # 147-coleções. # 148- A coleção é composta por # 147 documentos, # 148- e cada documento é composto de campos. Assim como em bancos de dados relacionais, você pode indexar uma coleção.

Fazer isso aumenta o desempenho de pesquisa de dados. Ao contrário de outros bancos de dados, no entanto, MongoDB retorna uma coisa chamada # 147-cursor, # 148-, 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-os entre os vários documentos.

  • MapReduce para suportar análise e agregação de diferentes colecções / documentos.

  • Um serviço de fragmentação que distribui um único banco de dados em um cluster de servidores em uma única ou em vários centros de dados. O serviço é accionado por uma chave de estilhaço. 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 do MongoDB, CouchDB foi projetado para imitar a web em todos os aspectos.

Por exemplo, CouchDB é resistente a desistências de rede e vai 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 da web subjacente, CouchDB é alta latência resultando em uma preferência para o armazenamento local de dados.

CouchDB não é bem adequado para implementações menores. Você deve determinar se estes trade-offs podem ser ignorados, como você começar a sua aplicação de dados grande.

CouchDB bases de dados são compostos de documentos que consistem em campos e ligações, bem como um # 147 # 148- Descrição do documento sob a forma de metadados que é mantido automaticamente pelo sistema. A tecnologia subjacente possui todas as capacidades ACID. A vantagem no CouchDB mais relacional é que os dados são embalados e prontos para a manipulação ou 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 comprimidos para eliminar o 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 tem # 147-fatiado e picado # 148.;

  • Replicação e distribuídos serviços: armazenamento de documentos é projetado para fornecer replicação bidirecional. réplicas parciais pode ser mantido para suportar distribuição baseada em critérios ou migração para dispositivos com conectividade limitada. replicação nativa é de pares base, mas você pode implementar Master / Slave, Mestre / Mestre, e outros tipos de modalidades de replicação.

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

menu