Bases de données de documents dans un environnement grand de données

Vous trouverez deux types de bases de données documentaires pour les grands projets de données. On est souvent décrit comme un référentiel pour contenu le document de style. L'autre est une base de données pour stocker des composants du document pour le stockage permanent comme une entité statique ou dynamique pour l'assemblage des parties d'un document. La structure des documents et de leurs parties est assurée par javascript Object Notation (JSON) et / ou JSON (Binary BSON).

Sommaire

Bases de données de documents sont les plus utiles lorsque vous devez produire beaucoup de rapports et ils ont besoin pour être assemblé dynamiquement à partir d'éléments qui changent fréquemment.

À sa base, JSON est un format de données échange, basé sur un sous-ensemble du langage de programmation javascript. Bien que faisant partie d'un langage de programmation, il est dans la nature textuelle et très facile à lire et à écrire. Il a également l'avantage d'être facile pour les ordinateurs à gérer. Deux structures de base existent dans JSON, et ils sont pris en charge par de nombreux, sinon la totalité, des langages de programmation modernes.

La première structure de base est une collection de paires nom / valeur, et ils sont représentés par programmation comme des objets, documents, listes calées, et ainsi de suite. La deuxième structure de base est une liste ordonnée de valeurs, et ils sont représentés par programmation comme des tableaux, des listes ou des séquences. BSON est une sérialisation binaire des structures JSON conçus pour augmenter les performances et l'évolutivité.

MongoDB pour Big Data

MongoDB est le nom du projet pour le “ hu (Mongo) nous base de données ” système. Il est maintenu par une compagnie appelée 10gen en open source et est librement disponible sous la licence GNU AGPL v3.0. Les licences commerciales avec le plein appui sont disponibles à partir de 10gen.

MongoDB est composé de bases de données contenant “ n ° 148 collections. Une collection est composée de “ documents, n ° 148; et chaque document est composé de champs. Tout comme dans les bases de données relationnelles, vous pouvez indexer une collection.

Cela augmente les performances de recherche de données. Contrairement à d'autres bases de données, toutefois, MongoDB retourne quelque chose appelé un “ le curseur, ” qui sert de pointeur vers les données. Ceci est une fonctionnalité très utile, car il offre la possibilité de compter ou de classer les données sans l'extraire. Nativement, MongoDB supporte BSON, la mise en œuvre binaire de documents JSON.

MongoDB est également un écosystème consistant en les éléments suivants:

  • Haute disponibilité et des services de réplication pour mise à l'échelle à travers des réseaux locaux et étendus.




  • Un système de fichiers basé sur une grille, permettant le stockage de gros objets en les divisant entre plusieurs documents.

  • MapReduce pour soutenir l'analyse et l'agrégation des différentes collections / documents.

  • Un service de sharding qui distribue une seule base de données sur un cluster de serveurs dans un seul ou dans plusieurs centres de données. Le service est commandé par une clé de fragment. La clé de fragment est utilisé pour distribuer des documents intelligemment sur plusieurs instances.

  • Un service d'interrogation qui prend en charge les requêtes ad hoc, les requêtes distribuées et la recherche plein texte.

Implémentations efficaces comprennent MongoDB

  • Gestion de contenu à haut volume

  • Le réseautage social

  • Archivage

  • Analyses en temps réel

CouchDB pour les Big Data

Une autre base de données non relationnelle très populaire est CouchDB. Comme MongoDB, CouchDB est open source. Il est maintenu par l'Apache Software Foundation et est disponible sous la licence Apache v2.0. Contrairement MongoDB, CouchDB a été conçu pour imiter le web à tous les égards.

Par exemple, CouchDB est résiliente aux décrocheurs de réseau et continuera à fonctionner admirablement dans les régions où la connectivité réseau est inégale. Il est également à la maison sur un smartphone ou dans un centre de données. Tout cela vient avec quelques compromis. En raison de la mimique Web sous-jacente, CouchDB est une latence élevée résultant en une préférence pour le stockage de données local.

CouchDB est pas bien adapté aux petites implémentations. Vous devez déterminer si ces compromis peuvent être ignorés que vous commencez votre grand mise en œuvre de données.

Bases de données CouchDB sont composées de documents comprenant des champs et des pièces jointes ainsi que d'un “ Description ” du document sous la forme de métadonnées qui est automatiquement mis à jour par le système. La technologie sous-jacente dispose de toutes les capacités ACID. L'avantage dans CouchDB plus relationnelle est que les données sont emballés et prêts pour la manipulation ou le stockage plutôt que dans des rangées et des tables.

CouchDB est également un écosystème avec les fonctionnalités suivantes:

  • Compactage: Les bases de données sont compressés pour éliminer espace gaspillé lorsqu'un certain niveau de vide est atteint. Cela permet de performance et d'efficacité pour la persistance.

  • Voir le modèle: Un mécanisme de filtrage, l'organisation, et les rapports sur les données en utilisant un ensemble de définitions qui sont stockés sous forme de documents dans la base de données. Vous trouverez une relation one-to-many de bases de données à vue, de sorte que vous pouvez créer différentes façons de représenter les données que vous avez “ en tranches et en dés ”.

  • Services de réplication et distribués: Stockage de document est conçu pour fournir une réplication bidirectionnelle. Répliques partielles peuvent être maintenus pour soutenir la distribution basée sur des critères ou la migration vers les appareils à connectivité limitée. Réplication native est basée pairs, mais vous pouvez mettre en œuvre Maître / Esclave, Maître / Maître, et d'autres types de modalités de réplication.

Implémentations efficaces comprennent CouchDB

  • Gestion de contenu à haut volume

  • Mise à l'échelle de smartphone pour centre de données

  • Applications avec connectivité réseau limitée ou lente


» » » » Bases de données de documents dans un environnement grand de données