Archives pour la catégorie Langage SQL (norme)

Partitionner vos tables pour améliorer les performances

Le partitionnement des données est à la mode depuis que récemment MySQL s’est mis à faire ce qu’Oracle, DB2 ou SQL Server font depuis des années. Et ce sujet est devenu populaire. Mais partitionner sans tenir compte des impacts collatéraux peut se révéler bien pire que de ne pas partitionner du tout. Montrons à l’aide d’un exemple les bienfaits et les méfaits du partitionnement des données des tables dans un SGBDR.

Lire la suite

Bases de données relationnelles, architectures des serveurs et PCA

La continuité de service d’une serveur de base de données relationnelles doit être assurée par une solution de haute disponibilité automatisée. La haute disponibilité assurant le PCA ou Plan de Continuité d’Activité, c’est-à-dire de garantir le fonctionnement du système de manière continu, même en mode dégradé. mais quelles sont les principales architectures systèmes mise en Å“uvre pour ce faire ?
Lire la suite

Indexation textuelle (Full Text Search) – Norme SQL

Le langage SQL incorpore dans sa norme SQL ISO 13249 des extensions pour la recherche plain texte (2 – Full-Text).

La recherche plain texte permet de retrouver des données contenant certains mots, expressions ou formes fléchies de mots, synonymes, etc. dans les lignes des tables, y compris pour des colonnes de type LOB pouvant contenir de grand textes (CLOB, NCLOB) voire des fichiers électroniques binarisés (BLOB).
Cet article propose une comparaison de la norme avec les solutions proposées par Oracle MySQL 5.0 et Microsoft SQL Server 2008 pour l’indexation textuelle aussi appelée indexation de texte intégrale et son corolaire, la recherches plain texte (ou encore la recherche en texte intégral – Full text search).

Lire la suite

Migration Oracle PostGreSQL : Les 13 grandes lacunes qui peuvent s’avérer cauchemardesque !

Certains aficionados de PostGreSQL tente de comparer PostGreSQL à Oracle, affirmant que PostGreSQL fonctionne presque pareil…
Alors, puisque c’est le cas, renchérissent leurs économes, ne payons plus de licences et migrons que diable !
Pourtant de nombreux spécialistes des bases de données ayant une importante expérience dans l’utilisation de divers SGBDR et ayant dû utiliser PostGreSQL en remplacement d’Oracle ou SQL Server s’en sont mordu les doigts…
Voici quelques uns des écueils qui peuvent vous attendre le jour ou vous passerez d’une base commerciale comme IBM DB2 UDB, Oracle ou SQL Server à PostGreSQL.
Lire la suite

Partitionner une table. Comparaison PostGreSQL / MS SQL Server

Comme nous l’avons dit dans ce billet (Partitionner vos tables pour améliorer les performances) le réel intérêt du partitionnement réside dans le gestion des espaces de stockage des différentes partitions. Bien que le partitionnement de table soit disponible dans PostGreSQL depuis quelques versions, il est loin d’être aussi intéressant que ce que propose Oracle ou MS SQL Server… Cet article à pour but de comparer la mise en Å“uvre des différentes solutions que proposent PostGreSQL et MS SQL Server.
Lire la suite

UDF POSTGRESQL : cr̩er des fonctions PL/pgSQL avec de nombreux exemples РPARTIE 1 Рfonctions scalaires

La documentation de PostGreSQL est parfois peu claire et souvent sibylline pour celui qui veut développer des fonctions dans PostGreSQL. C’est pourquoi j’ai voulu apporter mon expérience sur le codage des routines du langage PG/plSQL qui permet la création des procédures stockées et des UDF. Cet article constitue un tutorial sur la création des fonctions PostGreSQL en SQL et PL/pgSQL
Lire la suite

Le mythe du Commit à deux phases…

Beaucoup d’article pseudo techniques présentent le COMMIT à deux phases (Two Phase Commit ou 2PC) comme étant ACID, c’est à dire respectant les propriétés des transactions (ACID signifiant Atomicité, Cohérence, Isolation, Durabilité). Or il n’en est rien et la COMMIT à deux phases peu parfaitement rendre votre base non intègre… Il faut comprendre que le COMMIT à deux phases n’est qu’un vulgaire moyen de coordonner des transactions distribuées sur différents SGBDR, mais est incapable de garantir la bonne finalité des différentes transactions unitaires.
Lire la suite