Un groupe de manchots effectue sa migration

Convertir une base de données MySQL vers PostgreSQL est un véritable casse tête à côté duquel la conversion du plus barbu des islamistes aux thèses du MLF passerait pour une promenade de santé. Propre à rendre fou le plus élevé des maîtres Zen, l’opération m’a plongé dans une fureur comme on n’en avait plus vue depuis 1945 quand j’ai essayé à plusieurs reprises de faire passer ce blog d’un moteur de base de données vers l’autre.

Tout y est passé comme dans l’inventaire des prestations d’un marabout : les traditionnels scripts Perl, mysqldump avec la compatibilité PostgreSQL et des coups de sed dans tous les sens – pourtant, sed, c’est bien – les 518 Mo de Talend, l’export / import de fichiers CSV, et les jeux de mots foireux, un par paragraphe.

C’est pourtant au moment où j’hésitais entre abandonner par flemme et coder un truc maison en ce lundi pluvieux mais toujours moins que le suivant, que j’ai découvert Taps, un bidule en Ruby qui a changé à la fois ma vie et pipe d’adhérents potentiels du MLF, voir plus haut.

Taps est un proxy qui permet de faire dialoguer plusieurs SGDB différents, pour peu qu’ils disposent d’un driver Ruby. Il permet par exemple de transférer un schéma d’une base MySQL vers une base SQLite, les données d’une base SQLite vers une base MySQL vers une base PostgreSQL vert une base SQLite, un entraineur du PSG au Real Madrid etc… Oracle est probablement supporté, mais en l’absence de serveur sous la main, je reste un peu sur ma faim, puisque la Pythie vient en mangeant.

Taps s’installe sous la forme d’une Gem, et j’aime ça ; bien qu’ils ne fassent pas partie des dépendances – problème de cuisine interne – il est nécessaire d’installer les drivers Ruby pour les SGDB source et destination. Pour la conversion depuis MySQL, j’ai choisi le driver mysql2 qui supporte beaucoup mieux l’UTF-8 que son camarade mysql.

gem install mysql2 pg taps

Si l’installation échoue sur un des deux drivers, assurez-vous de disposer des paquets de développement des SGDB utilisés. Sous Debian :

aptitude install libpq-dev libmysqlclient-dev

Taps fonctionne en mode client / serveur. Le serveur prend la commande – le SGDB destination et le nom de la base de données à utiliser, au menu un serveur MySQL.

taps server mysql2://dbuser:dbpassword@dbhost/dbname httpuser httppassword

Le préfixe qui indique le protocole doit être le nom du driver utilisé. Pour le driver MySQL standard, c’est mysql, pour le driver SQLite, c’est sqlite etc.

httpuser et httppassword sont des identifiants permettant de sécuriser le serveur Taps afin d’éviter que quelqu’un d’autre ne puisse accéder aux données.

Le transfert de MySQL vers PgSQL se fait à l’aide de la commande pull. Taps se connecte au proxy précédemment créé et transfert les les donées vers le serveur cible.

taps pull postgres://dbuser:dbpassword@dbhost/dbname http://httpuser:httppassword@localhost:5000

Taps n’est pas exemple de défauts, le principal étant la perte des contraintes sur les clés étrangères. Cela implique un peu de travail après la migration afin de les reconstruire, mais rien d’insurmontable vu le travail accompli par ailleurs.

Hé Bob, j'ai coupé le mauvais pied, c'est quoi ton plan B ?

Le plus court chemin entre deux points est toujours la ligne droite, si et seulement si les deux points sont parfaitement alignés. Ce week-end, c’était mise en production. Un petit pas pour le soft, mais des traitements portants sur des centaines de millions d’enregistrements, et une fenêtre de tir extrêmement réduite, application B2B oblige. Jeudi matin, après une batterie de tests portant sur des volumes six fois moindres que ceux que nous avions à traiter, le couperet tombe : si le rapport entre le temps passé et la quantité de données est linéaire, il nous faudra plus de 30 heures pour migrer. – C’est la merde… tu as un plan B ? – Oui, en cours de test. – Et un plan C ? – Non mais dans le quartier, on devrait facilement trouver un plan Q

Premier prototype de Cloud Quantique® au monde

L’annonce par ASP Servers d’une solution de Cloud Quantique® garantissant à ses clients un niveau de disponibilité record de 100% a jeté un pavé dans l’écosystème de l’hébergement haute disponibilité, reléguant Amazon, Azure et Rackspace au rang mammouths fossilisés d’un autre âge. Pourtant, cette technologie révolutionnaire apporte avec elle des paradigmes qui vont fondamentalement bouleverser notre manière d’envisager l’informatique, mais également l’arithmétique la plus élémentaire. La fin des données telles que nous les connaissons Le Cloud Quantique® apporte une révolution dans la manière dont nous envisageons l’existence mêmes des données stockées sur nos systèmes d’information

Je suis… ingénieur informaticien

Ce qui suit est la traduction autorisée de 2013 Guide To Hiring Engineers (based on the 1943 Guide To Hiring Women) de Penny Herscher. Cet article est destiné aux personnes en charge du management des ressources d’ingénierie durant la révolution numérique de 2013. 11 conseils indispensables pour tirer le maximum de vos ingénieurs : La question de savoir si les entreprises des nouvelles technologies doivent engager des développeurs à des postes autrefois occupés par des analystes système et de théoriciens de l’informatique hardcore ne se pose plus. L’explosion d’Internet et des terminaux mobiles, et la raréfaction des ressources techniques qui s’ensuivit a depuis longtemps clôt le débat

Grieg et sa femme jouant à quatre mains

N’importe quel imbécile peut avoir 15 idées géniales par jour, mais tout le monde n’est pas capable de la réaliser. J’ai d’ailleurs une douzaine de projets qui attendent que je m’y remette. La semaine dernière, Alex Delivet estimait à 1/100 le ratio biz guy / développeur prêts à se lancer dans l’aventure entrepreneuriale. Même si ces proportions sont exagérées, et qu’elles tournent aux alentours de 1/10, la disparité entre les profils nécessite de faire attention quand on recherche son cofondateur technique. Entre les listes de diffusion de développeurs et mon adresse de contact, j’ai vu passer pas mal de wanna be entrepreneurs qui se tiraient une balle dans le pied avant même d’avoir pu commencer à raconter leur histoire

À moins de le faire vraiment exprès, vous utilisez des logiciels libres sur votre ordinateur, votre téléphone, voire votre télévision. Cela peut-être à votre insu, ou dans le cadre d’une démarche militante. Dans tous les cas, vous profitez gratuitement du travail de milliers de bénévoles à travers le monde – et aussi de quelques personnes dont c’est le travail à plein temps. Mais que faites-vous en retour pour permettre à ces outils de perdurer ? Rien ? C’est bien ce qu’il me semblait. Dans le règne animal, on dirait de vous que vous êtes un parasite. Je vais vous confier deux secrets. Le premier, c’est que les logiciels libres ne se limitent pas aux “gros” comme Firefox, VLC, le noyau Linux ou le firewall OpenOffice©®™

Vos backups ne servent à rien (s'ils ne sont jamais testés)

Si vous avez deux sous de jugeote, vous sauvegardez régulièrement vos données. Vous le faites toutes les semaines pour les plus cinglés confiants, tous les jours, ou toutes les heures, sur un NAS à la maison, sur un Dropbox like, sur Time Machine, sur bande… les solutions ne manquent pas. C’est très bien, malheureusement, il y a 99% de chances pour que ça ne serve à rien, parce que personne ne test ses backups jusqu’au jour où il faut pouvoir les utiliser. Et là, comme disait je ne sais plus qui, c’est le drame. C’est le drame parce que les fichiers sont corrompu. C’est le drame parce que le DVD est illisible. C’est le drame parce que la bande a fondu. C’est le drame parce que les sauvegardes MySQL vautrent au chargement

Ferme de serveurs

La fermeture de Reader, la première d’un produit à forte visibilité a été ressentie comme une trahison par les utilisateurs de Google au sens large, qui y voient dans cette annonce la rupture d’une sorte de pacte social qui voulait que la firme de Moutain View fournisse gratuitement des applications Web au monde entier, sans limite ni de temps ni d’usage. Google rappelle simplement qu’elle n’est pas une organisation caritative, mais une entreprise faite pour gagner de l’argent. À ce titre, elle gère ses produits comme elle l’entend, avec des problématiques de rentabilité, d’allocation de ressources et de cohérence qui en regardent qu’elle. Dit plus simplement : Google vous fournit ses produits gratuitement, et à ce titre ne vous doit rien

Yoshiwara-girls

Je sens déjà les thuriféraires de la bienséance, les pisse-froids bien pensants si sûrs de leur bon droit qu’ils érigent leurs préceptes en lois universelles quand je n’érige mon principe qu’en présence d’une seule femme à la fois crier au clickbait éhonté, s’offusquer devant l’usage d’un gros mot placé volontairement pour faire ressortir mon agacement comme une tâche de sans sur les neiges du Kilimanjaro. Sachez que je m’en moque comme de ma première chemise <insérez une marque à la mode qui ne manquera pas de m’en envoyer une, taille M s’il vous plaît>

Big Moustache

Depuis bientôt quinze ans que ma femme me rase pour que je le sois au poil, force m’était de constater que j’avais échoué sur toute la ligne. Étant un barbu, un vrai, adepte de la ligne de commande et allergique au costume cravate, impossible d’envisager de me raser tous les jours. Tout comme il m’était impossible de retrouver ma peau de bébé malgré l’emploi de rasoirs 5 lames vibrants équipés d’une bande hydratante a l’aloe vera qui me coutaient chaque mois l’équivalent du PIB d’un pays du tiers monde. Quand j’ai entendu parler pour la première fois de Big Moustache, j’ai eu envie à la fois de lui faire plaisir – ça ne coute rien – tout en contribuant à une petite startup française méritante. L’offre Big Moustache vend des lames de rasoir par abonnement