Oracle gagne contre Apache, mais la victoire est amère

Larry Ellison

Le mois dernier, je vous avais fais part de l’ultimatum lancé par la fondation Apache à l’encontre du géant américain Oracle. La fondation Apache menaçait en effet de voter contre la feuille de route des nouvelles versions 7 et 8 du langage Java s’il elle n’obtenait pas des garanties sur la validation de son projet Harmony.  Depuis le rachat de Sun par Oracle, rien ne va plus au pays des bases de données, et c’est bien toute la communauté open-source dans son ensemble qui en pâtit à commencer par Apache qui se retrouve contraint et forcé de tenir parole et donc de quitter la Java Community Process. Le résultat de ce bras de fer entre David et Goliath était certes prévisibles et ce, malgré le soutien de Google. Oracle ne semble pas capable depuis des décennies d’associer la notion d’open-source à celle de profit. Et comme nous ne parlons pas seulement d’Oracle mais aussi de son patron Larry Ellison, on se doute assez rapidement de quel côté l’emporte sur l’autre.

Lire la suite

Performance de la fonction SQL batchUpdate de Spring

Cette semaine, j’ai du mettre à jour un batch d’import de données d’un fichier plat dans une base de données. L’optimisation de ce script n’ayant jamais été une priorité, le batch importait environ 60000 lignes et prenait entre 15 et 20 minutes. En quelques ajustement, j’ai réussit à importer plusieurs centaines milliers de lignes en à peine quelques minutes. Aussi étonnant que cela puisse paraître, l’optimisation d’un tel script ne nécessite pas de connaissances particulières ni même de mettre en place une solution de multi-threading utilisant les ordinateurs de la NASA ou ceux de Google. Tout est proposé de manière native au sein de la librairie JDBC (depuis la version 2) et permet le traitement par lot des requêtes SQL . Par conséquent, toute les solutions reposant sur cette API de connexion à un base de donnée peuvent également utiliser cette fonctionnalité, que ce soit JdbcTemplate pour Spring ou encore Hibernate.

Lire la suite