Toutefois, si vous avez besoin de fournir une recherche pour l`utilisateur, où vous auriez besoin de passer par toutes vos données et vous avez des milliers, voire des millions d`entrées. Cela dit, le traitement des transactions en ligne (OLTP) axée sur les systèmes SGBDR sont plus orientés ligne, tandis que le traitement analytique en ligne (OLAP) axée sur les systèmes sont un équilibre de ligne orientée et orienté colonne. Dans le système orienté colonne, la clé primaire est les données, qui sont mappées à partir de ROWIDs. Nous voyons que le stockage des données dans la manière orientée colonne peut apporter des avantages concernant l`emballage d`octet. L`espace de clé contient toutes les familles de colonnes (type de tables similaires dans le modèle relationnel), qui contiennent des lignes, qui contiennent des colonnes. C`est une très bonne solution pour la réduction de taille par l`emballage d`octet ou en évitant la répétition. Les disques durs sont organisés en une série de blocs d`une taille fixe, généralement assez pour stocker plusieurs lignes de la table. Par exemple, un disque dur Serial ATA (SATA) typique a un temps de recherche moyen entre 16 et 22 millisecondes [4] tandis que l`accès DRAM sur un processeur Intel Core i7 prend en moyenne 60 nanosecondes, près de 400 000 fois plus rapide. Toutefois, ces opérations en ligne entière sont généralement rares. Avant de répondre à ces questions, nous examinons les bases de données traditionnelles et l`approche axée sur les lignes. On ne peut toujours pas deviner l`adresse où on trouve Dieter. Comme le stockage de PC est optimisé pour l`accès de bloc, en stockant les données à côté de l`autre nous exploitons la localité de référence. C`est pourquoi les données doivent être alignées.

Dans cet exemple, le SGBD utilise des entiers courts pour stocker les ROWIDs. Pourquoi la plupart des bases de données sont orientées ligne? Par exemple, à l`aide d`index bitmap, le tri peut améliorer la compression par ordre de grandeur. Cela est encore plus vrai pour l`écriture de données dans la base de données, surtout si les données tendent à être «éparses» avec de nombreuses colonnes facultatives. Nous avons accès à la mémoire en «segments» de 8, 16, 32, 64 ou 128 bits, dépendant du type de processeur. Avec une telle représentation, nous devons encore ajouter le remplissage à la fin des messages, juste au cas où. Mais ce n`est pas cela. Toutefois, les systèmes orientés colonnes ont été développés comme des hybrides capables des opérations OLTP et OLAP, avec certaines contraintes OLTP orientées vers les systèmes orientés vers la face à l`aide (entre autres qualités) de stockage de données en mémoire. Regardez l`image ci-dessus, maintenant imaginer quels domaines ont besoin de lire lorsque vous effectuez une requête comme “prix moyen” pour toutes les dates. Dans ce cas, les enregistrements ont des ROWID séquentiels indépendants de l`EmpID assigné par l`utilisateur.

Notre JSON n`est plus un tableau d`objets, il devient un objet de tableaux. Pour calculer l`âge moyen, nous avons besoin de lire les données du fichier complet. Les systèmes orientés colonne adaptés aux rôles OLAP et OLTP réduisent efficacement l`empreinte totale des données en supprimant le besoin de systèmes distincts. Les enregistrements doivent non seulement être stockés dans la table principale, mais tous les index attachés doivent également être mis à jour. Si vous pensez que l`alignement de la mémoire est un sujet très ésotérique vous êtes un peu mal. Dans le pire des cas, il s`agit d`une erreur de bus ou d`un défaut de segmentation non gérée, ce qui entraîne un plantage de votre application. Dans les bases de données orientées ligne, nous devons lire sur de vastes zones, dans des bases de données orientées colonnes, les prix sont stockés sous la forme d`une seule région séquentielle et nous pouvons lire uniquement cette région. Les magasins de colonnes ou les fichiers transposés ont été mis en œuvre dès les premiers jours du développement de SGBD. Répéter le même type de données rend l`alignement simple. Bien que nous ne sommes intéressés par l`attribut d`âge. MonetDB a été libéré en vertu d`une licence Open-source le 30 septembre 2004 [19], suivi de près par le C-Store, maintenant disparu.