Oracle présente son option « Oracle In Memory » sur la version 12.1.0.2 disponible sur toutes les plateformes y compris Exadata.
A l’origine les données issues des tables sont stockées en mémoire buffer cache comme elles le sont sur disque : sous forme de lignes. Tandis que le format de stockage en ligne est adapté aux requêtes qui ramènent peu de lignes et beaucoup de colonnes, il l’est beaucoup moins pour l’inverse (peu de colonnes et beaucoup de lignes).
Aujourd’hui Oracle In Memory donne pour la première fois la possibilité d’utiliser les deux formats sur les tables d’une même base : ligne et colonne. Oracle nomme cette nouveauté le DUAL FORMAT database.
Pourquoi le choisir ?
⎫ Un stockage ligne et colonne pour la même table
⎫ Les 2 formats de stockage sont actifs simultanément et restent cohérents lors des mises à jour
⎫ Les traitements analytiques et reporting bénéficient de la vitesse du format Colonne
⎫ Les traitements transactionnels continuent à utiliser le format ligne classique et éprouvé
Pourquoi le format colonne peut accélérer certaines requêtes ?
Pour les requêtes analytiques qui lisent typiquement de nombreuses lignes et peu de colonnes, le gain de performance est impressionnant et peut atteindre 100x comparé au buffer cache classique, sans modifier une seule ligne de code applicatif.
Ce Dual Format a-t-il un impact sur les applications existantes et notamment les mises à jour et nécessite-il une grande quantité de mémoire ?
Contre toute attente, non !
- Pas de journalisation supplémentaire : c’est un format « pur mémoire », non persistent, qui n’ajoute aucune journalisation. Rman, Asm, Golden Gate, Data Guard fonctionnent à l’identique avec In Memory ou sans.
- La mise en mémoire des données est faite de manière asynchrone avec un impact limité sur les mises à jour ce qui permet l’utilisation de In Memory dans toute application y compris de type OLTP
- La mémoire utilisée par In Memory peut être maitrisée grâce à de nouveaux algorithmes de compression permettant un gain de 2x à 20x par rapport à l’espace occupé sur disque (une table de 100 Go peut n’occuper que 5 Go de mémoire une fois mise en colonne)
- In memory est activable au niveau table ou partition.
Des questions ? Contactez-nous à contact@setra-conseil.com ou au +33 4 84 25 11 28.
Suivez-nous aussi sur nos comptes Twitter, Viadeo et LinkedIn !