Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Oracle ajoute l'option "in-memory database" à Oracle Database 12c
Pour une exécution des requêtes 100 fois plus rapide

Le , par Stéphane le calme

0PARTAGES

5  0 
Oracle ajoute l'option « in-memory database » à Oracle Database 12c,
pour une exécution des requêtes 100 fois plus rapide

La conférence annuelle OpenWorld d'Oracle a débuté ce dimanche à San Francisco et se tiendra jusqu'au 26 septembre au Moscone Center. Larry Ellison, fondateur et PDG de la structure, annonce l'option « in-memory database » pour Oracle Database 12c. L'objectif est d'exécuter des requêtes 100 fois plus vite mais aussi de multiplier par deux l’activité transactionnelle sans modifier le code applicatif.

Pour parvenir à ces prouesses, Oracle ajoute au stockage en ligne le stockage dans une nouvelle zone mémoire dans un format « columnar » (base de données en colonnes) qui apporte le gain de performance et réduit le temps de réponse de façon significative.

« Tout ce qui fonctionne aujourd’hui, s’enclenche lorsqu’on appuie sur on. Vous pouvez doubler la vitesse des mises à jour de toute base de données Oracle, en appuyant sur un bouton », explique Larry Ellison.

Cette initiative vise surtout son concurrent SAP, chez qui l’in-memory est déjà disponible depuis deux ans sur HANA. Rappelons qu'Oracle utilisait, jusqu'à aujourd'hui, la technologie HANA. Pour l'instant, aucune information n'a filtré quant au prix et à la disponibilité de cette solution.

Source : Forbes

Et vous ?

Qu'en pensez-vous ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de pachot
Expert éminent https://www.developpez.com
Le 07/07/2014 à 18:19
Citation Envoyé par Nemek Voir le message
Juste pour ma curiosité puisque je ne suis pas un grand expert Oracle mais c'est quoi la différence avec le "Row cache" ?
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.
3  0 
Avatar de pacmann
Membre émérite https://www.developpez.com
Le 24/09/2013 à 9:00
Enfin le paramètre d'init "fast=true", hourra !
2  0 
Avatar de Waldar
Modérateur https://www.developpez.com
Le 24/09/2013 à 15:26
Quelqu'un avait regardé Oracle TimesTen, qui est la DB in-memory d'Oracle depuis quelques années ?
1  0 
Avatar de ojo77
Membre expérimenté https://www.developpez.com
Le 25/06/2014 à 11:15
Oracle propose du "In memory" avec times ten depuis des années.

La nouvelle option "In memory" à sortir propose du stockage colonne en mémoire avec plus ou moins de compression.

L'argument commercial qu'il y a derrière est la simplicité de mise en place

Code : Sélectionner tout
alter table toto in memory
C'est fini ça fonctionne, non seulement les DBAs vont trouver ça 'trop simple' mais les développeurs n'auront rien à faire et tout est là : pas d'adaptation de code et des gains de performance annoncés pouvant aller jusqu'à 99,9% ...

Ca c'est la brochure publicitaire.

Forcément les tests révèlent des limites à l'outil. La première est évidente : pour faire du in memory, il faut avoir de la mémoire : beaucoup de mémoire. Mais j'ai aussi vu des requêtes d’agrégation sur des tables de quelques GigasOctets passer de quelques dizaines de secondes avec la table pourtant déjà en cache à quelques centièmes de secondes avec la table en zône de stockage colonne sans changer le code et surtout sans avoir besoin de faire appel à des procédures spécifiques (d'où l'inutilité, du point de vue oracle, d'en développer).

Alors certes Oracle décline ... mais en fait c'est plus, de mon point de vue, le paradigme de base de données relationnelles qui est en perte de vitesse face à l'arrivée des bases de données non structurées, en mémoire, en colonne, partitionnées sur n serveurs, hiérarchiques ... bref toutes ces choses regroupées sous les noms de NoSQL et de big Data que la montée de telle ou telle base concurrente
1  0 
Avatar de pachot
Expert éminent https://www.developpez.com
Le 08/07/2014 à 17:50
Citation Envoyé par doc malkovich Voir le message
Merci de préciser. Par nature un cache est un stockage redondant non ?
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.
1  0 
Avatar de Carhiboux
Expert éminent sénior https://www.developpez.com
Le 24/09/2013 à 8:25
Certains gros clients vont apprécier.

Mais c'est quoi la limitation?

Il doit y en avoir une puisque sinon, cela serait mis par défaut pour toute requête executée, non?
0  0 
Avatar de LSMetag
Expert confirmé https://www.developpez.com
Le 24/09/2013 à 8:52
Ho la limitation va être bien simple.

Il faudra vider le portefeuille pour avoir accès à l'option. C'est comme ça chez Oracle.
0  0 
Avatar de Baldrick
Membre averti https://www.developpez.com
Le 24/09/2013 à 11:30
Citation Envoyé par Stéphane le calme Voir le message

Pour l'instant, aucune information n'a filtré quant au prix et à la disponibilité de cette solution.
À en croire ce document qui date du 19 septembre, il faut débourser 23000$ par processeur pour l'option "in-memory database cache"...
0  0 
Avatar de chaporon
Membre du Club https://www.developpez.com
Le 27/09/2013 à 9:44
Citation Envoyé par Waldar Voir le message
Quelqu'un avait regardé Oracle TimesTen, qui est la DB in-memory d'Oracle depuis quelques années ?
Je travaille avec la machine Exalytics d'Oracle ou Timesten est installe.

C'est du decisionnel et Timesten vient plus de l'OLTP.

J'ai encore aucune connaissance des prix pour pouvoir verfiier qu'elle configuration est la meilleure (Oracle database ou Timesten)

Il a tout ce qui lui faut a part le query parallelisme. Nous attendons avec impatience cette ajout.

Apres ca reste de l'in-memory et souvent il n'est pas possible de tout charger en memoire. Il faut donc faire des choix de data a charger ce qui revient a creer des aggregations.
0  0 
Avatar de doc malkovich
Responsable Approche théorique du décisionnel https://www.developpez.com
Le 27/09/2013 à 10:02
Citation Envoyé par chaporon Voir le message
Apres ca reste de l'in-memory et souvent il n'est pas possible de tout charger en memoire. Il faut donc faire des choix de data a charger ce qui revient a creer des aggregations.
Sur une machine standard oui. Mais sur une appliance ou un serveur bien taillé non.
Si on prend le futur SPARC M6-32 il y a 32 To de Ram, de quoi héberger une belle petite base .
C'est ce qui se passe avec Hana, où tout est en mémoire.
0  0