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.
Archives pour la catégorie Langage SQL (norme)
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
5 principes pour une base de données relationnelle performante
Voici 5 principes à toujours avoir à l’esprit lorsque l’on créée une base de données relationnelle… afin d’obtenir les meilleures performances possible !
Lire la suite
Tout sur l’index ! (partie 1/2)
Qu’est ce qu’un index ? A quoi ça sert ? Quel gain sont obtenus avec des index ? Comment est structuré un index ? Pourquoi mon index n’est pas utilisé ? Pourquoi les index se fragmentent-ils ?… Voici quelque unes des questions qu’aborde cet article !
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).
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
Table SQL des changements d’heure d’été et d’hiver
Voici une fonction table qui permet d’obtenir toutes les dates de changement d’heure d’été et d’hiver avec le décalage UTC des années de 1976 à 2100 ou d’une année précise.
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