Skip to content

Qu'est-ce qu'IvorySQL ?

IvorySQL est une version modifiée de PostgreSQL, conçue pour être compatible avec Oracle. Elle permet aux entreprises de migrer leurs applications Oracle vers une solution open source sans avoir à tout réécrire.

IvorySQL est basée sur la dernière version de PostgreSQL et offre un mécanisme de bascule ("compatible_db") pour passer facilement entre les modes de compatibilité Oracle et PostgreSQL natif.

Fonctionnalités clés

  • Compatibilité Oracle : IvorySQL prend en charge la syntaxe SQL Oracle, les types de données, et le langage procédural PL/SQL, ce qui facilite la migration des applications existantes.
  • Bascule entre modes : Grâce à la commande SET compatible_db = oracle;, les utilisateurs peuvent activer ou désactiver la compatibilité Oracle selon leurs besoins.
  • Open Source : IvorySQL est entièrement open source, ce qui permet de réduire les coûts de licence et de maintenance par rapport à Oracle.
  • Basé sur PostgreSQL : IvorySQL hérite de toutes les fonctionnalités de PostgreSQL (performance, extensibilité, sécurité) tout en ajoutant la couche de compatibilité Oracle.

Exemples de transition Oracle → IvorySQL

  1. Syntaxe SQL :

    • Oracle : SELECT * FROM employees WHERE hiredate = TO_DATE('01-JAN-2020', 'DD-MON-YYYY');
    • IvorySQL : La même requête fonctionne sans modification, car IvorySQL supporte la fonction TO_DATE et le format de date Oracle.
  2. Procédures stockées (PL/SQL) :

    • Oracle :
      sql
      CREATE OR REPLACE PROCEDURE add_employee(
          p_name VARCHAR2,
          p_salary NUMBER
      ) AS
      BEGIN
          INSERT INTO employees(name, salary) VALUES(p_name, p_salary);
      END;
    • IvorySQL : La même procédure peut être créée et exécutée sans modification, car IvorySQL supporte la syntaxe PL/SQL.
  3. Types de données :

    • Oracle : VARCHAR2, NUMBER, DATE
    • IvorySQL : Ces types sont reconnus et mappés automatiquement vers les types PostgreSQL équivalents.
  4. Fonctions Oracle :

    • Oracle : NVL, DECODE, TO_CHAR
    • IvorySQL : Ces fonctions sont disponibles et fonctionnent comme en Oracle.

Pourquoi migrer vers IvorySQL ?

  • Réduction des coûts : Pas de licence Oracle, maintenance et support moins coûteux.
  • Flexibilité : Possibilité de basculer entre les modes Oracle et PostgreSQL natif.
  • Communauté open source : Accès à une communauté active et à des mises à jour régulières.
  • Migration simplifiée : Pas besoin de réécrire entièrement les applications existantes.

Limites

  • La compatibilité n'est pas à 100 % : certaines fonctionnalités avancées d'Oracle peuvent ne pas être encore supportées.
  • Les très grosses entreprises déjà investies dans Oracle peuvent hésiter à migrer en raison des risques perçus.

Ressources utiles

Mise à jour le:

Publier sous CC BY-SA 4.0.