Comme attendu, l'option in-memory de la base de données 12c d'Oracle a été détaillée par Larry Ellison, PDG de la société, au premier soir de la conférence OpenWorld 2013. Elle ne nécessite pas de modifier les applications existantes, assure le dirigeant.
En direct de San Francisco - Tout juste remis de ses émotions sur la Coupe de l'America, l'équipe Oracle ayant remporté deux régates ce dimanche et réduit l'écart qui la sépare des concurrents néo-zélandais, le PDG d'Oracle a comme prévu ouvert OpenWorld 2013 sur l'option in-memory de sa base de données. Celle-ci a été développée pour la toute récente version 12c, qui s'illustre par ses fonctions multitenant. Pour présenter cette option, Larry Ellison est revenu sur les notions couramment évoquées à propos du in-memory. L'objectif visé en plaçant les données en mémoire est d'accélérer la vitesse des requêtes. Dans le cas présent, on va 100 fois plus vite sur les requêtes analytiques, non seulement sans ralentir les opérations transactionnelles, mais en les exécutant deux fois plus vite, a assuré Larry Ellison.
Le PDG a admis que, si la base d'Oracle avait depuis toujours recours au stockage en lignes, adapté aux charges transactionnelles, les universitaires et les chercheurs en base de données avaient remis en avant ces dernières années l'intérêt du stockage en colonnes pour l'analytique. Un format conçu spécifiquement pour accélérer les requêtes. On sait que cet avantage n'avait pas échappé à SAP. L'éditeur allemand professe ces vertus depuis quatre années maintenant et les exploite dans sa base de données en mémoire HANA.
Les deux formats stockés simultanément
Oracle vient donc aussi au stockage en colonnes. Mais il n'abandonne pas le stockage en ligne. « Nous avons une meilleure idée », assure Larry Ellison. La base Oracle 12c stockera simultanément dans les deux formats pour une même table. « Nous avons déjà le format ligne et ce que nous ajoutons, ce sont les mêmes données, mais réarrangées au format colonnes. Et nous plaçons les colonnes et les lignes dans la mémoire. Quand vous mettez les unes à jour, vous mettez aussi les autres à jour. » Les données sont cohérentes entre les deux formats.
Il est beaucoup plus rapide de balayer les données stockées en colonnes qu'en lignes, rappelle Larry Ellison. Donc, avec le stockage en colonnes, les requêtes s'exécutent 100 fois plus vite. Mais, paradoxalement, lorsque l'on maintient ces deux formats, les transactions s'exécutent aussi plus vite, a souligné le fondateur d'Oracle. Plus vite que lorsque l'on ne maintient que le seul format en lignes.
Pas de réécriture des applications
Sur OpenWorld, Larry Ellison a ensuite détaillé un peu la technologie de stockage en colonnes mise en oeuvre. Des explications comme il aime à donner généralement lors de ses keynotes, en prenant son temps. Les colonnes en mémoire sont hautement compressées et il n'y a pas besoin de journal de transactions, qui se fait déjà sur le stockage en lignes. Cela coûte en réalité extrêmement peu en ressources de conserver ce stockage en mémoire, a assuré le PDG. « Une fois que l'on a fait cela, chaque coeur de processeur d'un serveur peut balayer des milliards de valeurs ou de lignes par seconde ».
En fait, indique le dirigeant, les opérations OLTP sont ralenties par les index nécessaires aux requêtes analytiques. Insérer une ligne dans une table demande de mettre à jour 10 à 20 index. Le stockage en colonnes vient remplacer les index analytiques. Aux clients Oracle rassemblés devant lui, Larry Ellison a indiqué qu'il leur était possible de tirer parti de cette option in-memory sans avoir à réécrire leurs applications. Pas de restrictions concernant SQL, pas de migrations de données et une technologie prête à être utilisée dans le cloud, a conclu le CEO
Suivez-nous