Juste pour ma curiosité puisque je ne suis pas un grand expert Oracle mais c'est quoi la différence avec le "Row cache" ?
Juste pour ma curiosité puisque je ne suis pas un grand expert Oracle mais c'est quoi la différence avec le "Row cache" ?
Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
Ceylon : Installation - Concepts de base - Typage - Appels et arguments
ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
Une solution vous convient ? N'oubliez pas le tag
Signature par pitipoisson
Bonjour,
Le 'row cache' cache des lignes un peu comme une table de hachage clé->valeur. C'est une techno d'il y a au moins 20 ans.
Le storage In-Memory qui va sortir stocke des colonnes, dans le but de les scanner rapidement avec des opérations CPU qui travaillent sur des vecteurs de données.
Il n'y a pas vraiment de point communs. In-Memory n'est pas un cache d'ailleurs. C'est un stockage redondant.
On ne peut pas encore trop parler de l'option In-Memory car elle est encore en beta. Elle devrait sortir d'ici quelques jours. Voici ce que j'avais écrit dessus avant d'avoir la beta: http://www.dbi-services.com/index.ph...ting-for-12102 (in english...)
Cordialement,
Franck.
Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot
Merci pour cet article, je prends beaucoup mieux ;-)
Effectivement le stockage en colonne est très important. Je ne pensais pas qu'il ferait un retour arrière sur le "fixed size" qui était pour moi l'élément le plus déterminant pour optimiser les accès (l'âge d'or des fichiers séquentiels indexés).
Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
Ceylon : Installation - Concepts de base - Typage - Appels et arguments
ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
Une solution vous convient ? N'oubliez pas le tag
Signature par pitipoisson
Disons que le cache c'est une structure dont on a besoin de toute façon pour accéder aux données, mais qu'on garde un peu plus longtemps que nécessaire au cas où on ait besoin d'accéder aux même données peu de temps après. Par exemple, pour lire un bloc d'un datafile, et encore plus pour le mettre à jour, il faudra de toute façon un buffer. Le buffer cache, c'est seulement le fait que ces buffers sont partagés et gardés même lorsque l'écriture sur disque est faite.
Par contre, l'option In-Memory c'est un stockage supplémentaire, dont la mise à jour se fait en parallèle. C'est un nouveau segment, redondant car il peut être reconstruit à partir de la table, un peu comme un index ou une vue matérialisée. Sauf qu'il est en mémoire, et qu'il a un format 'colonne'. Ca ressemble plus à de la réplication qu'à un cache. et l'optimiseur choisit d'aller lire l'un ou l'autre.
Alors qu'avec le buffer cache, l'optimiseur n'a pas le choix. Il y aura toujours un buffer get, qu'il faille faire un disk read ou non pour alimenter ce buffer.
Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot
Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager