SGBDR et répartion de charge : « scalabilité »

La « scalabilité » (en français l’extensibilité voire « croissance » pour certains auteurs) d’un serveur est sa propension à pourvoir augmenter les ressources physiques de l’ensemble du système de façon à faire face à une charge accrue ou bien permettre une répartition de charge. Par exemple en matière de serveur web, ajouter des machines en parallèle permet rapidement et à peu de frais d’augmenter la surface d’attaque globale du système. Il n’en va pas de même en matière de serveur de bases de données, du fait des données ! Petites explications…
Lire la suite

Agrégation d’intervalles en SQL : en pratique (benchmark MySQL, PostGreSQL et MS SQL Server)

Suite au précédent article consacré à ce sujet, je me suis penché sur différentes solutions publiée sur le net et leurs coûts d’exécution. Voici une étude pratique avec un test de comparaisons des différentes requêtes sur les différents SGBDR, que sont MS SQL Server, MySQL et PostGreSQL. Cette étude constitue un excellent benchmark de SGBDR pour des requêtes moyennement difficiles (elles ne portent jamais que sur une seule table !).
Lire la suite

Créer une procédure exécutable de toutes les bases et dans le contexte de la base courante

Voici comment écrire une procédure stockée qui pourra être appelée depuis n’importe quelle base de données et s’exécutera dans le contexte de la base de données appelante. SQL Server les appellent « procédures marquées système », mais je préfère le terme de procédure génériques.
Lire la suite

Contraintes d’unicité à la norme SQL ISO (acceptant le multi null)

Depuis des lustres, SQL Server ne permets toujours pas de réaliser des contraintes d’unicité respectant la norme ISO. En effet, la norme SQL impose qu’une contrainte d’unicité porte sur les valeurs exprimées. Ce qui signifie qu’une multiplicité des marqueurs NULLs est permise dans une colonne UNIQUE. Voir :

http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.2.2

Lire la suite