Couche 2 de la grosse pile de données: bases de données opérationnelles

À la base de tout grand environnement de données, et la couche 2 de la grande pile de données, sont les moteurs de base de données contenant les collections d'éléments pertinents pour votre entreprise de données. Ces moteurs doivent être rapides, évolutive et solide comme le roc. Ils ne sont pas tous créés égaux, et certains environnements grands de données obtiendront de meilleurs résultats avec un moteur à l'autre, ou plus probablement avec un mélange de moteurs de base de données.

Par exemple, bien qu'il soit possible d'utiliser des systèmes de gestion de base de données relationnelles (SGBDR) pour toutes vos grandes implémentations de données, il est pas possible de le faire en raison de la performance, de l'échelle, ou même coût. Un certain nombre de technologies de bases de données différentes sont disponibles, et vous devez prendre soin de choisir judicieusement.

Pas le choix unique droit existe en matière de langues de base de données. Bien que SQL est le langage de requête de base de données la plus répandue en usage aujourd'hui, d'autres langues peuvent fournir un moyen plus efficace ou plus efficace de résoudre vos grands défis de données. Il est utile de penser à les moteurs et les langues comme outils dans un “ la boîte à outils exécutant ”. Votre travail est de choisir le bon outil.




Par exemple, si vous utilisez un modèle relationnel, vous devrez probablement utiliser SQL pour interroger. Cependant, vous pouvez également utiliser les langues alternatives comme Python ou Java. Il est très important de comprendre quels types de données peuvent être manipulées par la base de données et si elle soutient vrai comportement transactionnel. Les concepteurs de bases décrivent ce comportement avec l'acronyme ACID. Ça signifie

  • Atomicité: Une transaction est “ tout ou rien ” quand il est atomique. Si une partie de la transaction ou du système sous-jacent tombe en panne, l'ensemble de la transaction échoue.

  • Cohérence: Seules les transactions avec des données valides seront effectuées sur la base de données. Si les données est corrompue ou incorrecte, la transaction ne sera pas terminée et les données ne seront pas écrites dans la base de données.

  • Isolation: Plusieurs opérations simultanées, ne pas interférer avec l'autre. Toutes les transactions valides exécuter jusqu'à leur achèvement et dans l'ordre elles ont été soumises pour le traitement.

  • Durabilité: Après les données de la transaction est écrite dans la base de données, il y reste “ jamais ”.

    MoteurQuery LanguageMapReduceTypes de donnéesTransactionsExemples
    RelationnelSQL, Python, CNonTypéACIDEPostgreSQL, Oracle, DB / 2
    ColonnesRubisHadoopPrédéfini et typéOui, si elle est activéeHBase
    GraphiqueMarcher, Recherche, CypherNonUntypedACIDENeo4j
    DocumentCommandesjavascriptTypéNonMongoDB, CouchDB
    Valeur-cléLucene, les commandesjavascriptBLOB, semitypedNonRiak, Redis

Après vous comprenez vos besoins et comprendre ce que les données que vous recueillez, où le mettre, et ce qu'il faut faire avec elle, vous avez besoin d'organiser de sorte qu'il peut être consommé pour l'analyse, le reporting, ou des applications spécifiques.


» » » » Couche 2 de la grosse pile de données: bases de données opérationnelles