vendredi, janvier 21 2011

Agrégats avec arguments

Alors que je jouais avec PostgreSQL 9.0, j'ai cherché à obtenir le comportement de l’agrégat string_agg ( second argument pour définir le séparateur ), mais dans les versions 8.3 et 8.4

Lire la suite...

vendredi, octobre 15 2010

PostgreSQL HS+SR

Je viens de mettre en route notre première instance PostgreSQL 9.0, utilisant la réplication Hot Standby + Streaming Replication, en suivant la doc suivante : http://wiki.postgresql.org/wiki/Binary_Replication_Tutorial.

L'application sera réellement en production lundi prochain. Cette technique implique que le serveur esclave pourra recevoir des requêtes en lecture, ce qui est une grosse nouveauté de PostgreSQL 9.0

vendredi, mai 28 2010

Analogies Foireuses

En ce jour de sortie d'un objet médiatique de consommation, je vais tenter une analogie foireuse :

« Si Apple fait du Playmobil, alors GNU/Linux fait du Lego. Et j'ai toujours préferé les Lego Technic ... »

En fait, ce qui est important, à mon avis, c'est la bidouillabilité, c'est à dire le fait de s'approprier l'objet, et de pouvoir l'utiliser comme on le souhaite.

jeudi, mai 6 2010

A Lire

C'est tout pour aujourd'hui.

* : On dit PowerPoint, mais ça n'est pas l'outil qui est en cause, mais le format et le support, ça marche aussi avec OpenOffice.org Impress, ou un simple fichier Pdf.

lundi, mars 1 2010

NoSQL

Je suis administrateur de bases de données, c'est mon métier. L'outil principal avec lequel je travaille est PostgreSQL, qui est un système de gestion de bases de données relationnelles, un des meilleurs outils qui soit.

La prise en main pour un développeur de logiciel de ce type d'outil est loin d'être évidente. La plupart du temps, ce qui importe pour un développeur est la façon dont son code fonctionne, et dont l'architecture du programme est mise en place. Il est rarement intéressé par la façon dont sont stockées les données qu'il manipule, et si le sujet l'intéresse, il le voit au travers de son modèle de données, qui, la plupart du temps, est un modèle objet.

On voit donc régulièrement s'opposer deux façons de penser : les modèles relationnels et les modèles objets ; Une des pire chose qui puisse arriver est de coller un ORM entre les deux modèles : on obtient rarement un compromis acceptable, d'un coté comme de l'autre. Au mieux, l'ORM va permettre de prendre en main progressivement la base de données relationnelle afin de faire correspondre le code avec la base. Ici, il est important de noter que je suis DBA, de mon point de vue, c'est au code de coller au modèle relationnel.

Malheureusement, les contraintes de développement en entreprise étant ce qu'elles sont, les modèles relationnels des bases de données ne sont pas toujours conçues par des concepteurs versés dans l'art des ensembles. On retrouve donc régulièrement des modèles qui consistent simplement à sérialiser des objets et à les associer à des clés. Ce qui revient à stocker des paires clés/valeurs. Et pour cela, nul besoin d'un SGBDR.

De plus, des bases de données relationnelles comme PostgreSQL sont de très bons outils transactionnels, mais ils existent des outils qui peuvent être plus pratique lorsqu'on ne fait que des lectures de données et très peu d'écriture.

Or, on passe plus de temps à lire des tweets ou des profils Facebook qu'a y raconter sa vie ( quoique ), et ces outils manipulent des données qui sont très faiblement modélisés.

Depuis quelques années, de très gros sites Webs ( Amazon, Google, Facebook, ... ) ont donc amorcé une réflexion sur leurs besoins en base de données, et y répondent aujourd'hui par la publication de documents et d'outils qui font parti de la mouvance NoSQL. Récemment, c'est Twitter qui annoncait se passer de MySQL pour se diriger vers une base de données très différentes : Cassandra.

On voit ici que s'oppose deux modèles : des bases de données très structurés, et ayant essentiellement des besoins en écritures ( par exemple, une application comptable ), et des bases de données non-structurées, accédées essentiellement en lecture.

Je vais donc tenter de comprendre, d'expliquer et de prendre en main la seconde famille d'outils, que je ne connais pas, dans une séries d'articles sur ce blog.

lundi, mai 26 2008

Klezmer

En écho au précédent billet, une citation de Joann Sfar, extraite du tome 3 de Klezmer, « Tous des voleurs » :

Dressons le procès des pays modernes. Faisons le compte des spoliations, des crimes et des injustices qui ont abouti à la création de tous les pays du globe. Mais chacun son tour. Pas toujours israël.

Joann Sfar. Odessa. Le 15 Août 2006.

A lire. Toute l'œuvre de Joann Sfar est à lire. Le Chat du Rabbin et Klezmer sont des bandes dessinées très abouties, de vraies histoires, avec de vraies réflexions, de vrais dessins. Les carnets aussi. J'ai hâte de voir le Chat du Rabbin en dessin animé.

vendredi, mai 23 2008

2 pétabytes

Yahoo vient d'annoncer qu'ils utilisent PostgreSQL pour stocker 2 pétaoctets de données¹. Ce qui en ferait la plus grosse base de données au monde.

Certes, ils utilisent une version modifiée de PostgreSQL, ils ont retirés le support des transactions, et utilisent un stockage en mode colonne, à la place du traditionnel stockage en mode ligne. De plus, l'éxécuteur de requètes permet d'utiliser plusieurs coeurs de processeur. Mais tout de même, c'est la license et la qualité du code de PostgreSQL qui font qu'il a été choisi.

Il est intérressant d'apprendre que Yahoo va supporter et aider le projet.

Ceci n'aurait pas été possible avec une base de données propriétaire, et montre bien la superiorité du logiciel libre, au code ouvert, sur le logiciel propriétaire.

¹ : Un pétaoctet, c'est mille téraoctets, un million de gigaoctets, un milliard de mégaoctets. Un mégaoctet, c'est un million de caractères, c'est 1 minute de musique au format Ogg-Vorbis, c'est une photo numérique de 4 mégapixels.

samedi, avril 5 2008

« Des Roses et Des Orties »

C'est le titre du nouvel album de Francis Cabrel. Un bijou bien-sûr, mais un bijou surprenant, inattendu.

La musique d'abord. A la fois très fidèle à son style, jamais il ne se plagie, il ne tombe dans l'imitation. Je suis très agréablement surpris par les mélodies, et les arrangements sont, comme d'habitude, une pure merveille. Comme quoi il n'y a pas besoin d'aller vite et de faire beaucoup de bruit pour faire la musique qui swingue. Ca chatouille les oreilles !

Les thèmes des chansons sont traités avec beaucoup de sensibilité et de poésie. Ca n'est pas une grosse surprise, on aurait été déçu du contraire. Les mots juste, juste les mots. Quelques extraits :

La Robe et L'Echelle :

A la vitesse où le temps passe
Le miracle est que rien n'efface l'essentiel
Y'a tant de façons, de manières
De dire les choses sans parler
Et comme tu savais bien le faire
Tu l'as fait

Le Chêne Liège :

Où êtes-vous dans l'atmosphère ?
On vous attend, on vous espère
Mais c'est le doute et le mystère
Que vous m'aurez appris le mieux

Une mention spéciale, pour la chanson « Mademoiselle L'aventure », parce qu'il y a des choses qui touchent plus que d'autres :

C'est le livre qu'on partage
Et nous voilà réunis
Au matin de chaque page
On vous remercie

Le thème de certaines chansons dénoncent les injustices de ce bas monde, et ce n'est pas la première fois. Des critiques fusent sur ce fait, et sur le fait qu'au délà des mots, l'artiste ne propose pas de solutions. Il y répond très bien, dans la chanson « Des Gens Formidables » :

Il suffirait qu'on apparaisse
Pour que le monde soit heureux
Mais en fait, les gens nous aiment
et puis nous laissent
Et c'est sans doute mieux.

Bien-sûr, cet album est encore un beau livret cartonné. Courrez vite l'acheter !

lundi, février 11 2008

PostgreSQL 8.3

PostgreSQL 8.3 est donc sorti lundi dernier, et d'après les premiers tests que j'ai pu faire, cette nouvelle version est vraiment intéressante.

Quelques liens sur le sujet :

vendredi, octobre 26 2007

PostgreSQL vs. MySQL

On me demande souvent la liste des différences existantes entre PostgreSQL et MySQL. Je vais donc tenter de faire une liste des fonctionnalités existantes dans PostgreSQL, et pas dans MySQL :

  • L'opérateur ||, pour la concaténation de chaines de caractères, qui fait parti du standard SQL.
  • Un type de données booléen.
  • Les contraintes de vérifications sur les colonnes, et sur une table, avec le mot-clé CHECK.
  • Les clés étrangères ne sont présentes qu'avec le moteur de stockage InnoDb.
  • Le fait de pouvoir différer les vérifications des clés étrangères.
  • Les déclencheurs sur les ordres (For each statement), et non pas seulement sur les tuples (For each row).
  • Les ordres DDL compatibles ACID.
  • Les domaines : types de données avec des contraintes.
  • Les aggrégats définis par l'utilisateur.
  • Le choix du langage de procédures stockées : Java, Php, Python, Perl, C, Ruby, Sh, ...
  • Les règles de réecritures des requêtes.
  • Un auto-incrément mutualisé entre plusieurs tables.
  • Des opérateurs et transtypages définis par l'utilisateur.
  • La notion d'espace de noms (schémas). Cette notion est confondue avec celle de base de données dans MySQL, alors qu'elle est bien distincte dans le cas de PostgreSQL.
  • Les espaces de données (tablespace).
  • L'héritage de tables.
  • Les types d'index définis pas l'utilisateur.

Cette liste est dans le désordre, et certainement pas finie...

mercredi, octobre 10 2007

PostgreSQL, seconde édition

Une seconde édition de mon livre sur PostgreSQL est paru, intégrant les nouveautés de la version 8.2 de PostgreSQL.

Il est toujours disponible aux éditions ENI. Tous les renseignements sur trouvent sur la page qui lui est dédiée.

A noter que la version 8.3 de PostgreSQL est en préparation. Actuellement, la version 8.3 est dans la phase « béta », et est donc disponible pour des tests.

dimanche, mai 27 2007

Adhésion à l'APRIL

Je viens de prendre mon adhésion à l'APRIL. J'aurais du le faire depuis longtemps déjà, mais maintenant, plus qu'avant, il est important les logiciels libres soient défendus. J'espère que mon adhésion sera utile à l'association, et que je puisse prendre une part active à la vie de l'association.

samedi, avril 8 2006

Un livre

C'était en cours depuis plusieurs mois, et c'est officiel depuis cette semaine, je commence donc l'écriture d'un livre sur Postgresql 8. Il sera édité aux Editions ENI, qui édite des ouvrages informatiques.

Il n'existe pas, en langue française, d'ouvrage à jour sur Postgresql, les seuls qui existent ne couvrent pas la dernière version du logiciel, la 8, et ne sont pas orienté 'Administration'.

Il fallait donc combler un manque, et ce sera chose faite dans quelques mois.

samedi, janvier 28 2006

Yang de Yin

« Il va, il vient, ballotté par le vent. Il doit avoir la persévérance du guerrier, mais ne pas être le guerrier »

jeudi, janvier 26 2006

PostgreSQL

J'animerais la semaine prochaine une formation sur PostgreSQL, chez Anaska : http://www.postgresql.org/about/event.329.

et, la citation de la semaine, de Bruce Momjan :

It was cheaper to pay to add missing features to PostgreSQL than to buy Oracle.

mardi, août 16 2005

Son Hi-Fi

Je viens d'acheter une chaine Hi-Fi, une micro-chaine, mais Hi-Fi quand même. C'est une Onkyo CR-305FX.

Et c'est là que je me rends compte que je n'ai jamais eu de chaine Hi-Fi, en fait !

samedi, mars 12 2005

Pourquoi tant de haine ?

L'edition de contenu sur le web dépend d'outils de publication. L'outil de base, ou plutot, les outils de base sont les standards utilisés pour mettre à disposition ces contenus : les schémas html et xhtml, les feuilles de styles CSS, les formats d'images Png, jpeg et gif.

En partant du principe que ces standards sont librement disponibles et édités par les acteurs du marché, je ne vois pas de bonnes raisons de ne pas les utiliser. Alors pourquoi est-ce que certains persistent à ne pas delivrer de contenus respectant ces standards ? Y-a-t-il une bonne raison à cela ?

Imagine-t-on fourni un document Docbook ne respectant pas le schéma ? non ! Imagine-t-on créer une feuille Xslt non-conforme aux schémas ? non, bien-sur. Alors pourquoi continue-t-on a faire des documents html non-conforme ?

Aujourd'hui, les navigateurs Web, les outils qui nous permettent de lire les documents Html, ont deux façons de lire les données qu'on leur donne : un mode de respect stricts des standards, et un autre, le quirks-mode, qui permets de faire un peu n'importe quoi avec nos balises html. Quand est-ce que ce mode Quirks deviendra obsolete ? Quand IE7 sortira, avec un support complet des standards ? peut-être :-)

lundi, janvier 10 2005

Triste nouvelle

Voici un message plein de tristesse pour vous faire part de la mort d'un des coopérateurs, notre Old Pou qui s'appelait Jean Jacques Roué.
[...]
La mort délie les cellules mais elle délie aussi les liens créés, portés, développés par l'être vivant.

Je suis touché par cette nouvelle, ayant été au départ du projet des FAQs avec Old'Pou. j'avais pu échanger quelques messages avec lui, il y a quelques mois.

Tu nous manqueras Old'Pou, ton humour et ta sagesse nous faisait avancer. J'espere qu'on ne t'oublieras pas.

mardi, novembre 16 2004

Des liens en vrac

mardi, octobre 12 2004

Du HTML, des poires et des pommes

A lire, un excellent article de Karl Dubost sur la maltraitance du Html 4.01 par les développeurs : HTML 4.01, une star bien mal comprise.

Dans la même veine, le billet de Fred Cavazza : XHTML, web sémantique et gestion de contenu.

- page 8 de 9 -