vendredi mai 25, 2012

Stratégie Systèmes Oracle

Pour ce poste, l'écrit est substitué par la parole. Je profite en fait d'une interview réalisée le mois dernier lors de l'évènement de la Mêlée Numérique de Toulouse, pour vous livrer une synthèse de notre stratégie de développement des systèmes au sein d'Oracle.


ITW Eric Bezille - Mêlée Numérique 2012 by lamelee

mercredi janv. 11, 2012

Big Data : opportunité Business et (nouveau) défi pour la DSI ?

Translate in English

Ayant participé à quelques conférences sur ce thème, voici quelques réflexions pour commencer l'année 2012 sur le sujet du moment...

Big Data : Opportunités Business

Comme le souligne une étude de McKinsey (« Big Data: The next frontier for innovation, competition, and productivity » ), la maîtrise des données (dans leur diversité) et la capacité à les analyser à un impact fort sur l’apport que l’informatique (la DSI) peut fournir aux métiers pour trouver de nouveaux axes de compétitivité. Pour ne citer que 2 exemples, McKinsey estime que l'exploitation du Big Data pourrait permettre d'économiser plus de €250 milliards sur l'ensemble du secteur public Européen (identification des fraudes, gestion et mesures de l'efficacité des affectations des subventions et des plans d'investissements, ...). Quant au secteur marchand, la simple utilisation des données de géolocalisation pourrait permettre un surplus global de $600 milliards, opportunité illustrée par Jean-Pierre Dijcks dans son blog : "Understanding a Big Data Implementation and its Components".

Volume, Vélocité, Variété...

Le "Big Data" est souvent caractérisé par ces 3x V :

  • Volume : pour certains, le Big Data commence à partir du seuil pour lequel le volume de données devient difficile à gérer dans une solution de base données relationnelle. Toutefois, les avancées technologiques nous permettent toujours de repousser ce seuil de plus en plus loin sans remettre en cause les standards des DSI (cf: Exadata), et c'est pourquoi, l'aspect volume en tant que tel n'est pas suffisant pour caractériser une approche "Big Data".
  • Vélocité : le Big Data nécessite donc également une notion temporelle forte associée à de gros volumes. C'est à dire, être capable de capturer une masse de données mouvante pour pouvoir soit réagir quasiment en temps réel face à un évènement ou pouvoir le revisiter ultérieurement avec un autre angle de vue.
  • Variété : le Big Data va adresser non seulement les données structurées mais pas seulement. L'objectif essentiel est justement de pouvoir aller trouver de la valeur ajoutée dans l'ensemble des données accessibles à une entreprise. Et à l'heure du numérique, de la dématérialisation, des réseaux sociaux, des fournisseurs de flux de données, du Machine2Machine, de la géolocalisation,... la variété des données accessibles est importante, en perpétuelle évolution (qui sera le prochain Twitter ou Facebook, Google+ ?) et rarement structurée.

""

...Visualisation et Valeur

A ces 3x V qui caractérisent le "Big Data" de manière générale j'en ajouterai 2 : visualisation et valeur !

Visualisation, car face à ce volume de données, sa variété et sa vélocité, il est primordial de pouvoir se doter des moyens de naviguer au sein de cette masse, pour en tirer (rapidement et simplement) de l'information et de la Valeur, afin de trouver ce que l'on cherche mais aussi,... bénéficier d'un atout intéressant au travers de la diversité des données non structurées couplées aux données structurées de l'entreprise : la sérendipité ou, trouver ce que l'on ne cherchait pas (le propre de beaucoup d'innovations) !

Les opportunités pour le Business se situent évidemment dans les 2 derniers V : savoir visualiser l'information utile pour en tirer une valeur Business ...

(nouveau) Défi pour la DSI

Le défi pour la DSI est dans la chaîne de valeur globale : savoir acquérir et stocker un volume important de données variées et mouvantes, et être capable de fournir les éléments (outils) aux métiers pour en tirer du sens et de la valeur. Afin de traiter ces données (non-structurées), il est nécessaire de mettre en oeuvre des technologies complémentaires aux solutions déjà en place pour gérer les données structurées des entreprises. Ces nouvelles technologies sont initialement issues des centres de R&D des géants de l'internet, qui ont été les premiers à être confrontés à ces masses d'information non-structurées. L'enjeu aujourd'hui est d'amener ces solutions au sein de l'entreprise de manière industrialisée avec à la fois la maîtrise de l'intégration de l'ensemble des composants (matériels et logiciels) et leur support sur les 3 étapes fondamentales que constitue une chaîne de valeur autour du Big Data : Acquérir, Organiser et Distribuer.

  1. Acquérir : une fois les sources de données identifiées (avec les métiers), il faut pouvoir les stocker à moindre coût avec de forte capacité d'évolution (de part la volumétrie concernée et la rapidité de croissance) à des fins d'extraction d'information. Un système de grille de stockage évolutif doit être déployé, à l'instar du modèle Exadata. La référence dans ce domaine pour le stockage en grille de données non-structurées à des fins de traitement est  HDFS (Hadoop Distributed Filesystem), ce système de fichiers étant directement lié aux algorithmes d'extraction permettant d'effectuer l'opération directement là où les données sont stockées.

  2. Organiser : associer un premier niveau d'index {clé,valeur} sur ces données non-structurées avec NoSQL (pour Not Only SQL) . L'intérêt ici, par rapport à un modèle SQL classique étant de pouvoir traiter la variété (modèle non prédéfinie à l'avance), la vélocité et le volume. En effet, la particularité du NoSQL est de traiter les données sur un modèle CRUD (Create, Read, Update, Delete) et non pas ACID (Atomicity, Consistency, Isolation, Durability), avec ses avantages de rapidité (pas besoin de rentrer les données dans un modèle structuré) et ses inconvénients (accepter pour des raisons de capacité d'acquisition de pouvoir être amené à lire des données "périmées", entre autres). Et ensuite pouvoir également extraire de l'information au travers de l'opération MapReduce s'effectuant directement sur la grille de données non-structurées (pour éviter de transporter les données vers des noeuds de traitement).

    L'information ainsi extraite de cette grille de données non-structurées devient une partie du patrimoine de l'entreprise et a toute sa place dans les données structurées et donc fiables et à "haute densité" d'information. C'est pourquoi, l'extraction d'information des données non-structurées nécessite également une passerelle vers l'entrepôt de données de l'entreprise pour enrichir le référentiel. Cette passerelle doit être en mesure d'absorber d'importants volumes d'information dans des temps très courts.

    Ces 2 premières étapes ont été industrialisées aussi bien sur la partie matérielle (grille/cluster de stockage) que logicielle (HDFS, Hadoop MapReduce, NoSQL, Oracle Loader for Hadoop) au sein de l'Engineered System d'Oracle : Oracle Big Data Appliance, le référentiel de données structurées pouvant quant à lui être implémenté au sein d'Exadata.


  3. Distribuer : la dernière étape consiste à rendre disponible l'information aux métiers, et leur permettre d'en tirer la quintessence : Analyser et Visualiser. L'enjeu est de fournir les capacités de faire de l'analyse dynamique sur un gros volume de données (cubes décisionnels) avec la possibilité de visualiser simplement sur plusieurs facettes.

    Un premier niveau d'analyse peut se faire directement sur les données non-structurées au travers du langage R, directement sur le Big Data Appliance.

    L'intérêt réside également dans la vision agrégée au sein du référentiel enrichi suite à l'extraction, directement au travers d'Exadata par exemple... ou via un véritable tableau de bord métier dynamique qui vient s'interfacer au référentiel et permettant d'analyser de très gros volumes directement en mémoire avec des mécanismes de visualisation multi-facettes, pour non seulement trouver ce que l'on cherche mais aussi découvrir ce que l'on ne cherchait pas (retour sur la sérendipité...). Ceci est fait grâce à l'identification (visuelle) d'axes de recherches que les utilisateurs n'avaient pas forcément anticipés au départ.

    Cette dernière étape est industrialisée au travers de la solution Exalytics, illustrée dans la vidéo ci-dessous dans le monde de l'automobile, où vous verrez une démonstration manipulant dynamiquement les données des ventes automobiles mondiales sur une période de 10 ans, soit environ 1 milliard d'enregistrements et 2 TB de données manipulées en mémoire (grâce a des technologies de compression embarquées).



HSM (Hierachical Storage Management) et Big Data

Pour terminer la mise en place de l'éco-système "Big Data" au sein de la DSI, il reste un point fondamental souvent omis : la sécurisation et l'archivage des données non-structurées. L'objectif est de pouvoir archiver/sauvegarder les données non-structurées à des fins de rejeu éventuel, et pour faire face à la croissance des volumes en les stockant sur un support approprié en fonction de leur "fraîcheur".  En effet, une grille de type Hadoop base sa sécurité sur la duplication de la données, mais si une donnée est corrompue, ses copies le sont aussi. En outre, cette grille est là pour permettre un traitement à un instant t (vélocité) sur les données, une fois ce traitement effectué, les données sur la grille sont souvent remplacées par des données plus récentes (voir l'exemple : "⁞Understanding a Big Data Implementation and its Components" qui traite bien du cas d'usage des données liées à un contexte temporel) . Dans certains cas d'usage, il peut être intéressant de pouvoir revisiter des données capturées ultérieurement avec un autre angle d'analyse, ou pour des besoins de vérification, et dans tous les cas pour pouvoir restaurer en cas d'incident de corruption. C'est là où le couplage avec une solution de stockage hiérarchique (HSM) est indispensable pour la capture initiale des données non-structurées et leur archivage à moindre coût face aux volumétries à traiter. C'est ce que nous couvrons au travers de notre solution Storage Archive Manager (SAM), solution d'ailleurs utilisée dans un projet "Big Data" français pour pouvoir archiver 1 PB de données non-structurées.

Pour aller plus loin :

lundi oct. 10, 2011

Oracle Open World 2011 : Very Big (again) !

Translate in English 

Oracle Open World continue a battre des records aussi bien en terme d'audience avec plus de 45000 personnes que de contenus, avec plus de 2000 sessions, sans parler des annonces majeures qui ont eu lieu cette année et sur lesquelles je vais revenir dans ce poste, jour par jour.

Premier jour : Engineered Systems

L'évènement a été lancé avec une "key notes" 100% matériel, autour des Engineered Systems, avec un rappel du succès d'Exadata et d'Exalogic, et du pourquoi : massivement parallèle à tous les niveaux, avec en plus la compression des données pour pouvoir bouger beaucoup de données, beaucoup plus vite qu'une architecture traditionnelle, le tout basé sur un coeur infiniband... Conception poussée jusqu'au processeur avec le T4 et Solaris côté système d'exploitation, qui aboutissent a un nouvel "Engineered Systems", le Supercluster, pour proposer la solution la plus adaptée (intégrée) sur le terrain des applications utiles à l'Entreprise (Java/Database). Pour le partie calcul géométrique, ce sera la prochaine étape...


""Cette première "key notes" s'est conclue toujours sur du "Hardware and Software Engineered to work together", pour délivrer des résultats "plus vite que la pensée" avec l'Exalytics, qui s'interface de préférence avec un Exadata, mais pas seulement... pourquoi pas votre SAP, pour en tirer des analyses très rapide sur une volumétrie de données importante, que l'on arrive à faire tenir dans 1 TB de RAM, grâce à des technologies de... [Read more][Read More]

dimanche oct. 02, 2011

Oracle Open World - Hands-on Lab : Configuring ASM and ACFS on Solaris - Part 2

Oracle Open World - Hands-on Lab - Participant Guide

Content and Goal

"Oracle Automatic Storage Management gives database administrators a storage management interface that is consistent across all server and storage platforms and is purpose-built for Oracle Database.

Oracle Automatic Storage Management Cluster File System is a general-purpose file system for single-node and cluster configurations. It supports advanced data services such as tagging and encryption.

This hands-on lab shows how to configure Oracle Automatic Storage Management and Oracle Automatic Storage Management Cluster File System for installation of an Oracle Database instance on Oracle Solaris 10 8/11.

You'll learn how to install the software, build Oracle Automatic Storage Management volumes, and configure and mount Oracle Automatic Storage Management Cluster File System file systems."

Overview

This tutorial covers the installation of Oracle Grid Infrastructure for a standalone server. In the Oracle 11g Release 2, the Grid Infrastructure contains, amongst other software:

  • Automatic Storage Managment (ASM)

  • ASM Dynamic Volume Manager (ADVM)

  • ASM Cluster File System (ACFS)

This lab is divided into 4 exercises.

Exercise 1: We install the ASM binaries and grid infrastructure. As part of the install we create a diskgroup of three disks called DATA. DATA will later be used to store the database data files.

Exercise 2: We use ASM Configuration Assistant (ASMCA) to create a second diskgroup called MYDG. From MYDG we create a ADVM volume called MYVOL and from that we create a ACFS file system called u02.

Exercise 3: We use the installer to install the Oracle database binaries into our new ACFS filesystem (u02).

Exercise 4: We then use the database configuration assistant to create a database with the tablespaces populating the DATA ASM diskgroup.

In our setup we use "External" redundancy for our disks. This implies ... Read more...[Read More]

vendredi sept. 30, 2011

Oracle Open World - Hands-on Lab : Configuring ASM and ACFS on Solaris - Part 1

A quick introduction

I have been invited by Dominic Kay, Product Manager for Solaris Storage sub-systems, for an hands-on lab at OOW. For those of you who will assist at this session, next Monday, at 11:00am, in Marriott Marquis - Salon 5/6, here are the gory details to get you through this lab. For the others that won't have the opportunity to be there, we hope it will be usefull for you to set it up on your own environment. 

The reasoning behind this lab

I already posted on this blog many times, about ZFS, and all its benefits, including the deployment of Oracle Database. And Dominic found very valuable to develop the knowledge of ASM (and ACFS) deployment on Solaris, as you can look at ASM in a way, as the "ZFS" from a DBA perspective, with another interesting benefit : the ability to deploy an Oracle Database in a shared multi-nodes environment with Oracle RAC, which is what's is running on Solaris on Exadata and on this week's new Engineered System announced, SPARC Supercluster... Read more...


[Read More]

samedi sept. 25, 2010

Oracle OpenWorld : BIG !

Translate in English

Gigantesque est bien le mot. Je suis dans l'avion qui me ramène d'oracle openworld avec Christophe Talvard et nous voulions vous livrer quelques impressions "à chaud" et un chiffre : 41000 personnes ! Evidemment vous n'avez sûrement pas manqué les nombreux articles sur le sujet, avec bien entendu l'annonce majeure sur la solution Exalogic Elastic Cloud, qui vient s'adosser à l'offre Exadata pour couvrir le tier applicatif de façon très efficace : 12 fois plus performante qu'une architecture traditionnelle en grille de serveurs d'application. Un niveau de performance permettant de supporter la charge du trafic mondial de Facebook sur seulement deux configurations! Ce qui démontre en soi la stratégie d'Oracle : "Hardware and Software engineered to work together". Une stratégie qui va bien au delà de l'extraordinaire gain en performance et qui s'attache également à faciliter la gestion de l'ensemble des composants logiciels et matériels de l'Exalogic avec la possibilité de les mettre à jour avec un unique fichier, pré-testé et validé par Oracle.

Avec Exalogic et Exadata, tous les éléments sont présents pour déployer un Cloud public ou privé : les performances, l'intégration des logiciels et des matériels mais également la tolérance aux pannes, la flexibilité et l'évolutivité.

Mais ce n'est pas tout, SPARC et Solaris disposaient également d'une place de choix avec la présentation de la roadmap à 5 ans et l'annonce du processeur T3, ses 16 cœurs et quelques records du monde à la clé, ainsi que l'arrivée prochaine de Solaris 11, non seulement de façon générale mais aussi en option au sein d'Exalogic et de la nouvelle version d'Exadata. A ce titre de nombreuses sessions d'échanges sur des retours d'expérience de mises en œuvre d'Exadata ont fait salles combles, notamment celles de Jim Duffy et Christien Bilien sur la solution déployée chez BNP Paribas (voir précédent poste). A noter également plusieurs témoignages sur l'utilisation d'Exadata en consolidation de bases de données. Un modèle qui devrait s'accélérer avec la nouvelle machine x2-8, ses nœuds très capacitifs de 64 cores et 2 To de RAM et ses unités de stockage Exadata Storage server ultra performantes et optimisées pour vos données structurées. Sans oublier l'annonce de la nouvelle gamme ZFS Storage Appliances pour l'ensemble de vos données non structurées et le stockage de vos environnements virtualisés au meilleur coût et avec une sécurité maximum (triple parité).

Toutes ces infrastructures matérielles et logiciels conçues pour travailler ensemble, sont les fondations des applications supportant les métiers de votre entreprise. Et dans ce domaine, l'annonce de l'arrivée de Fusion Applications, l'un des plus gros projet de développement de l'histoire d'Oracle, est majeure. En effet, Fusion Application apporte à vos applications métiers (CRM, ERP, RH,...) un socle standard et non plus un moteur propriétaire comme c'était le cas jusqu'ici. Or, nous le savons tous, ces moteurs propriétaires liés aux développements spécifiques sont les causes de la complexité des systèmes d'informations actuellement en place et de leur non agilité à répondre aux changements des métiers toujours plus rapide. Fusion Application change radicalement les perspectives, car non seulement il fournit une souche standard mais il a été également conçu pour découpler les besoins spécifiques du socle et donc pour ne pas freiner les évolutions et l'agilité de l'entreprise.

En bref, nous disposons de solutions technologiques ouvertes, qui, tout en s'intégrant de manière évolutive dans votre système d'information vont en révolutionner les opérations avec un alignement sur les besoins métiers et une agilité incomparable. Et nous sommes tous prêts à travailler à vos côtés pour les mettre en application dès aujourd'hui.

Translate in English

mardi avr. 13, 2010

ZFS pour base de données Oracle : Best Practices

Translate in English

Le mois dernier, Alain Chéreau, expert Solaris et Oracle du Sun Solution Center, a partagé son retour d'expérience sur l'optimisation des bases Oracle sur ZFS. C'est donc avec un peu de retard, à la veille de la prochaine conférence du GUSES sur DTrace, que je vous livre les points clés de son intervention.

Les quelques bases de tuning de ZFS restent bien entendu d'actualité :

  • taille de la mémoire utilisé par ZFS

  • dévalidation du mécanisme de flush des caches disques sur baie de disques sécurisés

  • taille du record size, de grande importance dans un contexte Oracle, pour éviter de lire plus de données que nécessaire (du fait du mécanisme de Copy on Write), car les performances d'Oracle sont surtout sensibles aux temps de réponse des écritures et aux débits de lecture

    • Ajuster le recordsize= db_block_size = 8k pour index et tables (très important car supprime énormément de lecture)

    • Garder 128k (défaut) pour redo, undo, temporaire et archivelog

    • Ajuster le recordsize des filesystems des bases DW ayant plus des contraintes de lectures que de batch de mise à jour : recordsize = db_block_size = 16k ou 32k

  • une attention sur le prefetch (en fonction du type de charge).

    A cela Alain a ajouté un certain nombre d'éléments d'optimisation très pertinents.

Gestion des écritures synchrones

Oracle ouvre tout ses fichiers en O_DSYNC et demande de ce fait à ZFS d'écrire en mode synchrone. ZFS va donc écrire dans son ZIL (ZFS Intent Log), qui n'est utilisé que pour des écritures de type synchrone. Une fois l'écriture dans le ZIL effectuée, la transaction peut être acquitté côté Oracle. Il est donc important d'aller vite (privilégier la latence). Si on dispose d'une baie disque externe, on mettra le ZIL dans la baie de stockage (ou, sinon sur SSD). 15 secondes de flux d'écriture suffisent comme volume pour le log device de ZFS (ZIL). En outre, si la baie voit que l'on réécrit toujours les mêmes blocks, elle ne va pas l'écrire sur disque et elle va le garder en cache. Un petit ZIL sera donc à préférer à un gros (utilisation d'une slice (64Mo) dans un LUN si les LUN des baies sont trop gros)

Cache Disques, cache ZFS et cache Oracle
Caches à tous les niveaux : c'est la règle générale en transactionnel ! Une fois que le cache hit ratio Oracle est bon, il n'y a plus besoin d'agrandir le cache Oracle et il faut mieux laisser la mémoire restante au cache ZFS car les politiques de cache sont différentes et se complètent.

Ecritures et lectures séquentielles

ZFS écrit en séquentiel (en Copy on Write) : toutes les écritures logiquement aléatoires deviennent séquentielles. Il a donc un comportement optimisé pour des baies de disques (et pas uniquement des disques locaux), et aussi pour les indexes (indexes que l'on va également mettre en générale sur SSD). Par contre, il faut faire attention au comportement de tout ce qui est full scan/range scan (lecture séquentielle) qui du fait du Copy On Write (COW) de ZFS auront été éparpillées. ZFS va quand même regrouper au mieux ses I/Os sur ce type de lecture. Cela aura également un impact sur le comportement des sauvegardes. C'est pourquoi l'utilisation de snapshots peut-être intéressant à ce niveau, ainsi que les fonctions zfs send/receive.

Throughput vs. latency
Il peut être utile lors de grosses écritures séquentielles d'éviter une double écriture (ZIL, puis disques), pour cela il est possible d'indiquer à ZFS en mode « throughput » (mais attention, ensuite il s'applique à toute la machine). Ainsi, si on positionne dans /etc/system zfs_immediate_write_sz à 8000 sur Sparc (sur intel il faut mettre en dessous de 4096 (taille de pagesize et de db_block_size)), toutes les écritures dépassant les 8000 octets seront écrites directement sur le disque (utile pour les processus db writers)

Sur les redolog, la base Oracle aime bien que l'on écrive très vite, il faut donc privilégier le mode latence. Pour cela il faut déclarer un log device (ZIL) séparé sur un ZPOOL des redologs pour ignorer le paramètre « throughput » et garder une bonne latence sur les redologs (vitesse des commits)

Cache ZFS « SSD aware » : adapté pour beaucoup de lectures aléatoires (SGA trop petite, cache primaire (RAM) ZFS trop petit, et beaucoup de lecture aléatoire sur disques). Base avec 'sequential read' très important (>  40%) dans le top 5 des événements Oracle (Statpack ou Awr). Faites attention au warm up du cache secondaire sur SSD... Et c'est bien entendu sans intérêt pour les redologs (écritures).

Mettre les index sur SSD permet également de gagner en bande passante sur les I/O baies qui deviennent dédiées au flux des données.

Optimisation en fonction des profiles de bases
1. Base avec un flux de modification important
utiliser un zpool séparé pour les redologs avec log device séparé (même sur la même LUN en utilisant des slices)

  • une slice pour le ZIL
  • une slice pour le redolog
  • une slice pour les Données (tous les datafiles)
  • Archivelog : n'importe quel disque, même interne

2. Base très active et très importante (volume et activité de l'application)
La séparation des IO sur des disques physiques différents est toujours une optimisation valide : définir des structures disques (zpool/ZFS filesystems) pour séparer redo, tables, index, undo, temp.
Plus le comportement est de type transactionnel (OLTP) plus ce découpage est efficace.
Si le profile est plutôt décisonnel, vous pouvez choisir une approche de type « stripe everything »

Bien entendu, tout cela doit être mis en perspective en fonction de la vie de la baie et est lié à la problématique de mutualisation de bases sur une baie consolidée et des politiques d'évolutions associées.

3. Serveur multi-bases (consolidation)
Utilisez un zpool par usage (redo, datafiles,...) puis ensuite, créez des systèmes de fichiers ZFS par base dans les zpools correspondants.

Gestion des ZPOOL
Garder 20% de place libre dans chaque zpools avec écritures et utilisez l'autoextend des datafiles car la pré-allocation en général utile sur UFS pour jouer sur l'aspect contiguë des données n'a pas d'intérêt avec ZFS (du fait du COW).

ZFS Compression
Sur les Archivelog : allez y !
Sur les datafiles : cela semble une bonne idée... Il faut prévoir 10% à 15% de CPU, mais le gain de place est important. Si vous hésitez à le passer directement sur la production, allez y par contre dans vos environnements de développement et intégration. Et aussi, bénéficiez des capacités de gestion de compression dynamique de ZFS. En effet, à la création de la base, mettez par défaut la compression à « on » : vous allez gagner en place et en temps de création (compression du vide). Ensuite vous pouvez remettre la compression à « off » : ainsi les blocs de données réelles ne seront pas compressés (du fait du mécanisme de COW).

ZFS Clones
Bénéficier du mécanisme de Copy on Write, pour récupérer instantanément un ou des clone(s) de vos bases de données : un moyen simple de fournir de multiple copies modifiables sur même jeu de disques pour développement, recette, intégration...

Checksum Oracle + ZFS : gardez tout ! Plus de sécurité pour un coût CPU faible.

Oracle RAC et ZFS : ils sont incompatibles, car ZFS gère ses méta-data localement.

Les autres points à prendre en compte sur l'optimisation des performances Oracle

  • Mauvais SQL, Contention applicatives
  • Manque de puissance CPU
  • Configuration mémoire (SGA, caches)
  • Contention réseau
  • Débit et capacité en nombre d'IO des disques

Comme le précisait Alain en conclusion de cette session d'optimisation des bases Oracle sur ZFS, « pour aller plus loin, à l'ère des processeurs multi-cores, multi-thread, pensez au parallèlisme !!! » : les statistiques, les sauvegardes, la construction d'index en parallèle sont déjà des bonnes choses en standard à mettre en oeuvre.

J'espère que ces notes vous seront utiles dans la mise en oeuvre de vos bases Oracle sur ZFS.

Merci encore à Alain Chéreau pour son retour d'expérience fouillé sur le sujet. Et n'oubliez pas, demain à Supinfo, la conférence du groupe des utilisateurs Solaris autour de Dtrace, pour vous permettre d'appréhender au mieux son usage et gagner en efficacité sur l'identification et la correction de vos incidents de production.

Translate in English

vendredi févr. 19, 2010

Oracle Extreme Performance Data Warehousing

Translate in English

Mardi dernier a eu lieu un évènement portant sur la probématique de performance des environnements Data Warehouse et organisé par Oracle. A cette occasion, Sun a été invité à présenter les infrastructures et solutions adressant les exigences toujours plus fortes dans ce domaine. Et BNP Paribas CIB, en la personne de Jim Duffy, Head of Electronic Market DW, a apporté un témoignage très intéressant sur les phases d'évolution de leur Data Warehouse de gestion des flux financiers sur lequel je vais revenir également dans ce post, en vous parlant infrastructure évidement, socle majeur pour atteindre l'"Extreme Performance".

Explosion des données numériques = fort impact sur les infrastructures

Les chiffres parlent d'eux même. Nous assistons à l'explosion des données numériques. De 2006 à 2009, les données numériques ont pratiquement quintuplé pour atteindre pratiquement 500 Exabytes, et IDC prédit la même croissance d'ici 2012, soit 2500 Exabytes de données numériques dans le monde (source: IDC, Digital Universe 2007 et 2009).

En tant que fournisseur de stockage et numéro #1 de la protection de la données, nous le vivons tous les jours à vos côtés. Cette tendance à des impacts à plusieurs niveaux :

  • Sur la capacité à stocker et sauvegarder les données

  • Sur la capacité de traiter les informations pertinentes parmi une masse de données toujours plus conséquente

  • Sur la capacité de gérer l'évolution des unités de calculs et de stockage nécessaires tout en restant “vert”, c'est à dire en maîtrisant également l'impact sur l'énergie, les capacités de refroidissement, et l'encombrement dans vos Datacenter

Les besoins sur les infrastructures des Data Warehouse

Tout cela induit de nombreux enjeux techniques à couvrir pour les entrepôts de données. D'autant plus que cette fonction est devenue une fonction capitale et critique pour le pilotage de l'entreprise.

Le premier enjeu est la capacité de faire croitre l'ensemble de l'infrastructure pour faire face à la croissance des données et des utilisateurs. Ce que Jim Duffy a illustré clairement dans la présentation des phases d'évolutions du projet d'analyse des flux financiers chez BNP. Après un démarrage avec quelques dizaines de Giga Octets en alimentation par jour, ils ont vu la tendance évoluer fortement pour atteindre pratiquement 500 Giga Octects sur 2010. Grâce aux différentes options de la base de données Oracle (partitionnements, compressions) explicitées d'ailleurs lors de ce séminaire par Bruno Bottereau, avant-ventes technologies Oracle, la BNP a pu contrôler l'explosion des données au sein de son Data Warehouse. En outre, compte-tenu de la tendance d'une augmentation importante des données à traiter, les fonctions avancées disponibles dans la solution Sun Oracle Database Machine (Exadata) comme l'Hybride Columnar Compression s'avéraient indispensables à évaluer pour contrôler au mieux cette croissance. Comme l'expliquait Jim Duffy, l'évolution paraissait naturelle et simplifiée, car restant sur des technologies Oracle, ils ont validé en réel lors d'un Proof of Concept la simplicité de passage de la solution actuelle sur Oracle RAC 10g vers la solution Exadata en Oracle RAC 11gR2 en un temps record, avec un gain de performance important.

L'enjeu suivant est la performance avec la nécessité de prendre des décisions intelligentes souvent dans des temps de plus en plus courts et sur une masse de données plus importante. Ce qui impacte à la fois les unités de traitement et la bande passante pour traiter les données. Ce point a été clairement illustré par Jim dans son intervention, où il cherche a effectuer des analyses "quasi" en temps réel (minutes, voir secondes !) sur la masse de données collectée.

Avec une économie mondialisée, et un besoin de réajuster la stratégie presque en temps réel, les entrepôts de données ont vu leur besoin en disponibilité s'accroitre de façon très importante. C'est d'ailleurs ce qui a poussé la BNP à l'origine du projet à déployer un cluster Oracle RAC sur Solaris x86 pour supporter leur entrepôt de données.

Les entrepôts de données conservant les informations de l'entreprise, la sécurité est un élément incontournable dans le traitement de l'information qui y est stockée : qui à le droit d'accéder à quoi ? Quel niveau de protection est en place (cryptographie,...) ? Fonctions évidement couvertes par la base Oracle, mais également dans l'ADN du système d'exploitation Solaris : un double avantage.

Les solutions doivent évidement être rapide à mettre en place, pour ne pas être obsolètes une fois le projet d'entrepôt de données réalisé. Et évidemment, elles doivent répondre à une problématique de coût d'infrastructure optimisé aussi bien en terme de puissance de traitement, de capacité de stockage et de consommation énergétique associée. Tout en couvrant l'ensemble des critères évoqués jusqu'ici : scalabilité, performance, disponibilité, sécurité... Finalement, en s'appuyant sur des standards ouverts, à tous les niveaux, elles doivent permettent d'intégrer les nouvelles évolutions technologiques sans tout remettre en cause. En bref : être flexible.

L'approche des Systèmes Oracle Sun

Pour répondre à tous ces besoins, l'approche de Sun a toujours été de maîtriser l'ensemble des développements des composants de l'infrastructure, ainsi que leur intégration. Afin de concevoir des systèmes homogènes et évolutifs du serveur au stockage en incluant le système d'exploitation... et même jusqu'à l'application... au travers d'architectures de références testées et validées avec les éditeurs, dont Oracle ! En clair, fournir un système complet, homogène et pas uniquement un composant.

La solution Sun Oracle Database Machine (Exadata) en est une bonne illustration, en solution "prêt à porter". Cette philosophie s'applique à l'ensemble de la gamme des systèmes, tout en permettant de couvrir également des besoins "sur mesure", comme par exemple la sauvegarde.

A titre d'exemple de solution "sur mesure", voici une illustration d'un entrepôt de données, réalisé pour un de nos clients, avec des contraintes très fortes de volumétrie  à traiter et de disponibilité. Plus de 300 To de volumétrie pour le Data Warehouse et les Data Marts.

Cette implémentation s'appuie sur 3x serveurs Sun M9000, pouvant contenir chacun jusqu'à 64 processeurs quadri-coeurs, soit 256 coeurs, jusqu'à 4 To de mémoire et 244 Go/s de bande passante E/S: de la capacité pour évoluer en toute sérénité. Le coeur de l'entrepôt tourne sur 1x M9000, les DataMarts étant répartis sur 2 autres M9000. La disponibilité est assurée par le serveur M9000 en lui-même et sa redondance totale sans aucun point de rupture unique.

Le passage sur la nouvelle architecture a permis d'améliorer par 2 le temps de réponse de la plupart des requêtes, sur des données toujours croissantes. Cette infrastructure supporte plus de 1000 utilisateurs DW concurrents et la disponibilité a été améliorée de part la redondance interne des serveurs M9000 et des capacités d'intervention à chaud sur les composants.

En outre, en entrée et milieu de gamme, la gamme Oracle Sun T-Series, bien que limitée à 4 processeurs maximum offre une capacité de traitement parallèle unique  de part son processeur 8 coeurs/8 threads, couplé à des unités d'E/S et de cryptographie intégrées au processeur, et détient le record du nombre d'utilisateurs concurrents Oracle BI EE sur un serveur.

Quelle solution choisir : du "sur mesure" au "prêt à porter" ?

4 critères majeurs vous aideront à sélectionner le serveur répondant le mieux à vos besoins :

  1. le volume de données à traiter,
  2. le type de requêtes,
  3. le niveau de service attendu,
  4. le temps de mise en oeuvre

N'hésitez pas à nous contacter pour que nous vous guidions vers la solution la plus adaptée à vos besoins.

Translate in English

mercredi déc. 16, 2009

La virtualisation Solaris pour quels gains ?

Translate in English

Hier soir, nous nous sommes retrouvés avec une vingtaine d'utilisateurs Solaris pour la soirée du GUSES dont je vous avais parlé la semaine dernière. Bruno Philippe, expert Solaris d'une grande banque française, nous a brillamment exposé son retour d'expérience sur l'adoption de la technologie de virtualisation incluse dans Solaris, et les bénéfices associés. Des bénéfices qui font que le projet a largement débordé du cadre initial de rafraichissement d'un parc vieillissant et s'applique maintenant aux nouveaux projets, non seulement SPARC, mais également x64. La méthode une fois mise en oeuvre étant applicable dans les 2 environnements, car Solaris est le seul UNIX d'entreprise multi plate-formes.

La maturité !

Comme Bruno le rappelait en introduction, la virtualisation incluse dans Solaris (à coût 0€) est très mature car présente dès l'origine de Solaris 10 (janvier 2005) et déployée dans des environnements très variés comme  oracle, sybase, sap, avec les outils d'administration associés : $u, cft, mqm, netbackup.... pour n'en citer que quelques uns. En outre, c'est une solution qui s'enrichit tous les jours pour pouvoir offrir une virtualisation sans limites (ou presque) et des gains substantiels !

La virtualisation Solaris pour quels gains ?

Avec une économie de plus de 100K€/an, l'intérêt du projet était évident (!) pour cette grande institution financière et ne s'arrête pas là ! A cela s'ajoute une optimisation des opérations avec un ratio de 30j/h vs. 125 h/j précédemment, ainsi qu'un niveau de service amélioré : pas au niveau d'un cluster, mais très correcte du fait de l'architecture permettant de déplacer les containers Solaris très rapidement d'un serveur à un autre. D'ailleurs, pour les environnements plus exigeants, cette grande banque a déployé 2x Solaris Cluster 3.2 gérant la bascule automatique des containers Solaris en cas d'incident : l'un en SPARC et l'autre en x86/x64.

Les détails du projet

Pour ceux qui souhaitent se lancer dans l'aventure, voici les détails du projet tels que je les ai retenu hier. Je compte sur Bruno pour apporter les corrections nécessaires le cas échéant.

Les objectifs recherchés étaient les suivants :

  1. Réduction des coûts.
    Plus il y a de machines, plus il y a de jours/hommes d'administration : patches, etc...
  2. Flexibilité.
    Cibler des serveurs plus capacitifs (notamment en mémoire) et partager les ressources de façon plus efficace au travers de la virtualisation
  3. Optimisation des coûts opérationnels de déploiement et mise à jour.
    Installation d'une seule version qui est déployée ensuite dans plusieurs containers, donc une seule mise à jour pour les DBA.
D'autres besoins importants des administrateurs UNIX et des DBA ont également été adressés au travers de ce projet. J'en ai retenu 2 principaux : la reprise d'activité simplifiée dans le cadre d'un DRP et la capacité de rafraîchir les données facilement (envisagé via snapshot/clone ZFS).

Un vrai ROI

Une étude préalable a été menée afin de définir la bonne architecture cible et d'obtenir le ROI du projet, démontrant sa viabilité.

Le périmètre de l'étude portait sur 30 serveurs physiques (SPARC), 70 instances Oracle, 30 instances Sybase. Elle passait par un monitoring du parc existant pour calibrer les serveurs, définir le type de serveur cible pour la consolidation, et valoriser le ROI pour les achats.

Les valeurs prises en compte pour le ROI ont été les suivantes :
  • la consommation éléctrique (théorique)
  • le nombre total de racks utilisés (surface)
  • le nombre de connexions SAN et réseau (une connexion coûte 1k€/an - selon une étude constructeur)
  • le coût en h/j pour différentes opérations système uniquement... avec 1 h/j système correspondant à environ 500€ (pour une entreprise, charges comprises)

Sur la base de ces mesures, le ROI a été démontré en 2 ans (y compris la mise en oeuvre). Or, les DBA se sont aperçus après coup des gains et économies supplémentaires apportés, soit au final un ROI encore plus rapide.

En complément de ces valeurs, la partie gain en maintenance a été également prise en compte (ancien vs. nouveau) directement au niveau des achats.

L'architecture cible du refresh technologique

Suite au calibrage des serveurs existants (sur une base spec.org avec requêtes OLTP type Oracle), la cible de la consolidation a été orientée sur des serveurs Sun M5000, 8 processeurs, 4 coeurs chacun, 2 threads par coeur, soit 64 threads d'exécution physique (ou processeurs virtuels vues de l'instance Solaris) avec 128 Go de RAM (pour commencer) et le doublement de l'ensemble des interfaces réseaux (IPMP) et SAN (MPXIO) offrant ainsi la capacité et la sécurité.

Une bonne base de travail en terme de ressources pour virtualiser, sachant que la technique de virtualisation Solaris ne nécessite l'administration que d'une seule instance d'OS, quelque soit le nombre de machines virtuelles (containers) créées à partir de celle-ci. En outre, contrairement à d'autres solutions de virtualisation, la taille des containers n'est pas limitée et peut prendre toute la machine (dans ce cas, 64 CPUs virtuelles) si besoin. Pour plus d'information sur la technologie proprement dite, je vous engage à consulter ce petit guide : "How to Consolidate Servers and Applications using Solaris Containers".

2x M5000 ainsi configurés servent de socle pour la consolidation des bases Oracle.
Pour la partie Sybase, qui nécessite moins de puissance unitaire en processeur, mais par contre beaucoup de mémoire (notamment pour monter le tempdb sous tmpfs), 2x serveurs T5240 avec 256 Go de RAM ont été acquis.

Au final, comme les containers peuvent indifféremment être démarrés ou déplacés sur une machine M5000 ou T5240, la répartition est gérée de façon transparente en fonction des besoins réellement constatés. Le périmètre initial de refresh du parc de développement et pré-production a conduit à la mise en oeuvre de 90 containers regroupant 110 bases Oracle et environ 30 bases Sybase.
En outre, du fait du succès de l'opération, le parc de serveurs virtualisés de cette façon s'est étendu, et un socle sur architecture x86/x64 constitué de plusieurs serveurs Sun X4600 (8 processeurs de 6 coeurs chacun, soit 48 coeurs au total par serveur) est en cours de déploiement.

Pour un projet initié en mars 2009, plus de 250 containers sont déployés à ce jour sur une quinzaine de M5000. Avec en moyenne 20 containers par instance Solaris sur le développement et la pré-production et 10 containers sur la production (car le besoin mémoire est le facteur limitant du nombre de containers possible, bien avant le besoin en processeurs).

Je ne rentrerai pas plus loin dans les détails d'implémentations technique tels que :

  • le choix de normalisation du nommage des zones globales, des containers, des pool ZFS
  • le choix d'un container de type sparse (vs. full) avec le zonepath sur le SAN (non monté à partir de la racine, mais d'un sous répertoire pour que le Liveupgrade fonctionne)
  • le choix d'un pool ZFS par containers
  • les options de mise en oeuvre de ZFS (vous pouvez déjà avoir une petite idée ici)
  • le choix d'un pool et d'un seul système de fichier ZFS par instance de base de données
  • le choix d'un seul VDEV par pool (la sécurité étant assurée par la baie disque).
    Des combinaisons qui ont surement eu un impact sur les performances des zfs send | zfs receive via le réseau... D'où le passage par RMAN pour certains besoins de refresh des données (oops, je rentre dans le détail là, on dirait...)

En tout cas (au moins pour les membres du GUSES) la présentation de Bruno devrait être en ligne prochainement et couvre l'ensemble des choix d'implémentation ainsi que les diverses options, y compris pour Oracle et Sybase, qui ont été développées en détail pendant cette soirée. Je vous invite donc à ne pas manquer les prochaines soirées GUSES pour bénéficier en direct de ces échanges.

Une petite note en guise de conclusion. Comme nous l'avons vu au travers du témoignage très riche de Bruno, si la virtualisation apporte de nombreux gains, la séparation entre le physique et le virtuel complexifie d'autant en revanche les problématiques de localisation. C'est pourquoi, à la suite de ce projet, cet établissement financier est en train de regarder de très très près la dernière version de notre outil de management : Ops Center 2.5. Et il ne sont pas les seuls à la vue du succès du dernier évènement organisé sur ce thème dans notre centre de Paris, et pour lequel une session de rattrapage est planifiée le 7 janvier 2010. N'hésitez pas à vous y inscrire !

Comme j'espère vous l'avoir retransmis par ce billet, pour les personnes qui n'ont pas pu assister à cette soirée, un témoignage passionnant qui a donné lieu à un échange très riche et qui a joué les prolongations avec les participants... A ce titre, suite à de nombreuses demandes, voici le lien pour vous inscrire au GUSES : http://guses.org/home/divers/inscription.

Encore merci à Bruno Philippe, au GUSES et bien sûr à SUPINFO qui nous a accueilli pour cette soirée.

Translate in English

mardi déc. 08, 2009

Témoignage utilisateur : Virtualisation Solaris en environnement Oracle et Sybase

Translate in English

Nous en avions parlé à la rentrée, et comme promis, je vous tiens informé de la prochaine Soirée du Groupe des Utilisateurs Solaris (GUSES) sur le retour d'expérience de la virtualisation chez une Grande Banque Française.

Date de l'événement : 15 décembre 2009
Lieu : SUPINFO, 52 rue de Bassano, 75008 Paris

La virtualisation est un axe majeur d'optimisation des ressources, et une possibilité fournit en standard dans Solaris. Dans le cadre des soirées d'échanges du GUSES, nous vous proposons de venir assister au retour d'expérience sur ce sujet, présenté par Bruno Philippe - Expert Solaris, dans un contexte Oracle et Sybase (avec ZFS), chez une Grande Banque Française. Si vous vous posez encore des questions sur comment le mettre en oeuvre, quels sont les bénéfices et pièges à éviter, n'hésitez à venir prendre l'information à la source.

Merci encore à Supinfo qui accueille le GUSES pour cet évènement.

Agenda :
Accueil à partir de 18h30
Conférence et échange de 19h00 à 20h30

Inscrivez-vous dès maintenant

Translate in English

jeudi déc. 03, 2009

Run Best on Sun

Translate in English

Voici en quelques mots la synthèse des annonces faites pendant l'Oracle Open World qui s'est déroulé au mois d'octobre à San Fransisco.

Le lancement début septembre de la solution Sun/Oracle, Exadata V2, n'était qu'un avant-goût des premiers résultats d'une collaboration renforcée entre Sun et Oracle, nos équipes ayant en effet travaillé en  partenariat pour tirer le meilleur des produits Oracle sur plate-formes Sun. Il suffit pour cela de se référer à quelques benchmarks de référence, couvrant du transactionnel à la paie, en passant par l'ERP avec SAP (sur base Oracle). Je vous laisse consulter les résultats détaillés dans les pointeurs ci-joints, surtout si vous avez déjà une de ces applications déployées chez vous ou si vous l'envisagez :

J'ai attendu un peu avant de publier ce billet, car un bon nombre de ces benchmarks reposent sur la version Oracle 11gR2... Et cette version est disponible sur Solaris depuis la semaine dernière, vous pouvez d'ailleurs la télécharger ici. Ceci est vrai pour l'ensemble des plate-formes Solaris : SPARC et x86/x64 !

Au delà de ces benchmarks, l'intérêt est de voir ce qui peut être directement applicable pour vous. Au travers notamment des technologies matérielles et logicielles employées et intégrées pour mieux tirer partie de l'ensemble. J'attire particulièrement votre attention sur une nouvelle option d'Oracle 11gR2 qui permet d'utiliser les disques SSD "à la" mode ZFS : DB Flash Cache, et d'obtenir des gains de performances déjà démontrés jusqu'à x4.

Vous pouvez dès à présent en bénéficier, grâce aux différentes technologies Flash que nous offrons, dont le Sun Storage F5100 qui fournit 1,9To sur 1U, consomme 300 watts et délivre plus de 1 Millions d'IOPS. Essayez d'y mettre vos indexes de bases de données et tenez moi au courant...

Vous pouvez également intégrer des disques SSD dans nos serveurs et du cache Flash sur le bus PCIe avec la carte F20 (qui équipe les éléments de stockage de la solution Exadata v2).

Translate in English

mercredi sept. 30, 2009

Sun @Oracle Open World

Translate in English

Je pense que ce n'est pas une surprise pour vous si Sun est massivement présent à Oracle Open World qui va se dérouler du 11 au 15 octobre à San Fransisco. Pour ceux qui auront l'opportunité d'y aller, ne manquez pas les sessions que nous présenterons et dont vous trouverez le tableau de synthèse ici.

Pour plus de détails sur les sessions autour de Solaris notamment, je vous invite à consulter la page suivante : http://www.sun.com/software/solaris/oow/ qui contient un aperçu des sessions et des démonstrations disponibles.

Translate in English
About

Eric Bezille

Search

Archives
« avril 2014
lun.mar.mer.jeu.ven.sam.dim.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today