Petites brèves, avec au programme un langage (Scala 2.10), un navigateur web (Rekonq 2.0) et une base de données NoSQL (Cassandra v1.2). Tous les détails dans la seconde partie de la dépêche.
Petit état des lieux du NoSQL
Pendant longtemps, les bases de données relationnelles ont été l'unique solution pour enregistrer des données, ou en tout cas, la solution adoptée par défaut par beaucoup de monde sans plus de réflexion sur le sujet. Pourtant, certaines personnes considèrent que le problème de stockage de données est en fait multiple et qu'il convient de se poser de nombreuses questions :
- Est-ce que les données sont fortement structurées ou non ?
- Quel est le ratio entre les lectures et les écritures ?
- Est-il acceptable de perdre un enregistrement sur un million ? Sur un milliard ?
- Est-ce que les données sont réparties sur plusieurs data-centres ?
- Est-ce que la taille des données peut être multipliée par 10 en l'espace d'un mois ?
- Quelle indisponibilité du service peut-on se permettre ?
- Etc.
Les bases de données relationnelles proposent leurs réponses à ces questions ; elles peuvent paraître raisonnables dans bien des cas, mais pas toujours. Par exemple, les bases de données relationnelles sont très mal adaptées quand on veut privilégier les performances plutôt que la garantie d'écriture des données.
Aussi, pour répondre à ces problématiques différentes, un mouvement, NoSQL, a proposé d'adopter des outils différents, spécialisés pour certains cas d'usage. Certaines bases de données NoSQL sont destinées à traiter d'énormes volumes de données, d'autres sont conçues pour maximiser le nombre de requêtes par seconde qu'un serveur pourra traiter, etc. Notons en particulier que la plupart des plus gros sites web ont quitté le monde relationnel (Google, Facebook, Twitter, Amazon), ce qui tend à valider le besoin d'avoir d'autres outils que les bases de données relationnelles.
NdA : Merci à Christophe Turbout, Thomas Douillard, Buf, olivierweb, Spack, baud123, Bruno Michel, mike.simonson et rakoo pour leur aide lors de la rédaction de cette dépêche
Petites brêves : ODF et Cassandra
Apache Cassandra 1.1 est sortie
La base de donnée NoSQL de la fondation Apache est sortie en version 1.1, cette base de données est destinée à stocker beaucoup de données sur une architecture distribuée tout en étant tolérante aux pannes et offrants de grandes performances.
Les nouveautés sont un cache amélioré, une amélioration du langage de requête CQL (Cassandra Query Language, un sous-ensemble de SQL), un contrôle du stockage, une intégration d'Hadoop, un contrôle du répertoire des données et une amélioration de la montée en charge.
Microsoft Office 15 prendra en charge ODF 1.2
Microsoft a annoncé à la conférence ODF plugfest, hébergée par Microsoft, que sa suite Office intégrerait la gestion d'ODF 1.2 dans sa version 15
Le gouvernement hongrois soutient le développement d'ODF
Le gouvernement hongrois a annoncé investir 370 millions de Forints (environ 1,25 millions d'Euros) dans le développement d'applications utilisant le format ODF. La somme sera répartie entre le département d'informatique de l'université de Szeged et la société Multiráció qui développe EuroOffice, une suite bureautique issue d'OpenOffice.
Congrès FOSDEM 2012
Cette année encore, le FOSDEM (Free and Open Source Software Developers' European Meeting) se déroule le premier week-end de février (4 et 5 février) à Bruxelles (Belgique). Le FOSDEM est le plus grand congrès gratuit pour les développeurs du libre, organisé uniquement par des bénévoles.
As FOSDEM is primarily a perfect occasion for cross-pollination and interaction between projects and communities, as so many key projects and contributors are present, several such initiatives have started to take place over the years.
Comme chaque année, pour bien commencer il y a le Friday Beer Event à partir de 18h. De nombreux stands seront présents pour permettre les discussions avec les développeurs et les communautés. Le reste du programme est détaillé dans la seconde partie de la dépêche.
1.0 et 2.0 (Cassandra et Mercurial)
Des versions toutes rondes de logiciels libres sont tout juste sorties : la 1.0 de Cassandra, et la 2.0 de Mercurial.
N. D. A. : Merci à GeneralZod pour avoir contribué à cette brève.
Apache Cassandra 1.0
Le projet Apache Cassandra a publié la version 1.0.0 de son logiciel libre. Pour rappel, Cassandra est une base de données non‐SQL (NoSQL), sous forme de paires clé‐valeur, sous licence Apache 2.0. Initiée par Facebook et utilisée par Twitter, Digg et Reddit, Cassandra est super‐extensible et conçue pour fonctionner sur des grappes de serveurs (clusters).
Mercurial 2.0
Mercurial version 2.0 a été publiée. C’est un système de gestion de versions décentralisée sous UNIX (et donc GNU/Linux) et Windows, distribué sous licence GPL v2. Des fonctionnalités majeures on été ajoutées, et des nouveautés font leur apparition dans le cœur et les extensions.
Tous les détails dans la seconde partie.
Ubuntu 11.04 : changement radical !
Ubuntu 11.04, nom de code Natty Narwhal (le narval chic), vient de sortir. Cette version fusionne le bureau d’Ubuntu Netbook dans la version bureau avec le projet Unity. Un changement radical qui ne s’est pas fait sans douleur. Les variantes intègrent KDE 4.6 ou restent sur GNOME 2.
N. D. M. : Merci aux contributeurs de cette dépêche : Sébastien WILMET, Marc QUINTON, yellowiscool, ecyrbe…
TerraStore : le dépôt JSON distribué
TerraStore se positionne dans la même catégorie que CouchDB et Cassandra de la fondation Apache, même si ces derniers endossent plus franchement le rôle de base de données. Les fonctionnalités que TerraStore propose sont celles d'un véritable entrepôt de données textuelles accessibles directement en HTTP ce qui justifie son intérêt pour des applications massivement en ligne. On plonge là au coeur du thème très en vogue du NoSQL.
De plus, l'application est conçue sur une architecture en cluster afin d'assurer un service sous fortes charges. Deux types de composants sont présents : le serveur qui stocke directement les données ou plutôt leurs fragments et le master, responsable de la répartition des données et de la charge sur les serveurs. Une installation de TerraStore suit donc l'habituel schéma des serveurs à l'écoute du ou des maître(s) qui gère(nt) l'application en grappe. L'accent est aussi mis sur les performances réseau : les traitements sur les données sont ainsi effectués sur le serveur même qui héberge les données. Encore un point essentiel pour des applications fortement orientées web.
Le nom de TerraStore témoigne de l'utilisation sous-jacente de Terracotta, solution Open Source de clustering de JVM. Malgré cet empilement de couches, TerraStore reste d'une simplicité d'installation et d'utilisation assez déconcertante comme en témoigne ce tutoriel de quelques lignes qui met en place un master et deux serveurs via Apache Ant. Malgré sa jeunesse (version 0.4.2 en téléchargement), TerraStore présente des fonctionnalités visiblement très abouties : possibilité de monitoring via console JMX, fonctionnalités de sauvegarde des serveurs et aussi capacité de gestion orientée évènements.
Les ambitions de solutions telles que CouchDB et TerraStore ne sont peut-être pas de révolutionner le monde des bases de données, mais l'effort reste très intéressant et prometteur. Ces solutions sont donc à surveiller, car elles pourraient être une autre preuve de la théorie de l'évolution, mais cette fois-ci dans le domaine de l'informatique.
Journal TerraStore : le dépôt JSON distribué
Annonce de la sortie de Riak 0.10
Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Basho, la société derrière Riak, s'est inspirée de Dynamo d'Amazon pour nous offrir un stockage qui scale facilement. En particulier, sa grande force repose sur son modèle distribué où toutes les machines jouent un rôle équivalent, ce qui apporte à la fois une grande résistance aux erreurs et la capacité d'ajouter ou retirer facilement des machines à la volée.
Dans la seconde partie de la dépêche, je vais présenter plus en détails Riak, puis vous parler des nouveautés de la version 0.10 sortie récemment. J'aborderai également bitcask, un moteur de stockage clé-valeur local, qui peut être utilisé pour le stockage par noeud de Riak. Je finirais par une note très rapide à propos de ripple, le client en Ruby pour Riak.
La fondation Apache sort Cassandra 0.6
Cassandra est un stockage structuré de clés-valeurs, distribué, acceptant facilement la montée en charge et résistant aux pannes. Initialement développé par Facebook, le projet a été libéré sous licence Apache 2.0 et placé dans les mains de la fondation Apache. Il a depuis connu un succès grandissant : en plus de facebook, twitter, digg, reddit et bien d'autres ont annoncé qu'ils utilisent Cassandra.
Cassandra bénéficie de beaucoup d'activités : la version 0.6 est sortie il y a quelques jours et apporte des fonctionnalités très intéressantes (plus de détails dans la seconde partie de la dépêche). Cassandra participera aussi au Google summer of code sous le chapeau de la fondation Apache.
MongoDB 1.4, prêt pour la production
- Le stockage des documents se fait dans un format très proche du JSON (le BSON) et sans avoir à imposer un schéma ;
- Les requêtes dynamiques sont d'une richesse fonctionnelle que je pense être équivalente au SQL, et de nouveaux opérateurs font apparition au fur et à mesure des versions ;
- Il est possible d'indexer plein de choses, dont les objets internes et, nouveauté de la 1.4, des données géospatiales ;
- Les requêtes peuvent être profilées ;
- Il est faisable de stocker des objets binaires volumineux, comme des photos ou des vidéos, dans MongoDB grâce à GridFS ;
- MongoDB supporte la réplication, le failover, et de manière expérimentale le sharding automatique ;
- Des pilotes permettent de l'utiliser depuis de nombreux langages, dont le PHP, le Ruby et le Python.
Nouveautés autour d'Oupsnow, Go, Lucene, Solr, Redis et Cassandra
- Oupsnow : un outil de suivi de bugs en licence AGPL
Oupsnow est un outil de suivi des bugs sous licence AGPL. La version 0.5.0 vient de sortir, proposant une interface efficace pour gérer des tickets sur plusieurs projets. Le projet est toujours dans une phase de développement actif, et toute aide est la bienvenue.
- GO : le langage de programmation
Le langage de programmation Go continue de progresser dans l'ombre. Une nouvelle version est publiée environ deux fois par mois, la dernière en date étant la 2010-03-15. Un wiki a été créé. Pour le moment, il semble encore bien vide, surtout quand on le compare à la page Go Programming Language Resources mais, à terme, il devrait permettre de regrouper des informations sur l'écosystème autour de Go.
- Lucene : le moteur de recherche en java
Lucene est un moteur de recherche libre écrit en Java qui permet d'indexer et de rechercher du texte, et Solr est un service web qui permet de profiter de toute la puissance de Lucene. Les deux projets, bien que tous deux dans la fondation Apache, n'étaient pas synchronisés. Cela devrait changer : il n'y aura plus qu'une seule liste pour les développeurs, les commiteurs seront les mêmes sur les deux projets et les nouvelles versions devraient sortir simultanément.
- Redis : une base de données de type clé-valeur
Redis est une base de données de type clé-valeur dont le développement a commencé il y a un peu plus d'un an. C'est une sorte de Memcached boosté, avec de la persistance et de nombreuses opérations en plus. Il est possible d'essayer ses possibilités dans un navigateur web grâce à try-redis. Son principal développeur, Salvatore Sanfilippo, vient d'être embauché par VMWare pour travailler à plein temps sur Redis.
- Cassandra : une autre base de données du mouvement NoSQL
Une autre base de données du mouvement NoSQL semble avoir également des auspices favorables. Cassandra (licence Apache 2.0) attire des sites web bénéficiant d'une forte réputation. Ainsi, Twitter, Digg et Reddit ont ou vont l'utiliser pour stocker leurs données et profiter de sa capacité à monter en charge.
AppScale 1.1 est sorti : où comment se créer son propre Google App Engine
AppScale permet l'exécution d'applications GAE au choix au sein :
- D'une fabrique de cloud computing (EC2, Eucalyptus) ;
- De VMs Xen/KVM/VMware/etc. ;
- De serveurs physiques.
Composants d'AppScale :
- Google App Engine SDK ;
- Mongrel ;
- Hadoop pour son FS clusterisé HDFS (remplaçant GFS) ;
- Hbase ou hypertable ou MySQL pour le key/value datastore (remplaçant bigtable) ;
- Un connecteur GAEbackend générique ouvrant la voie au support d'autres bases très tendance comme Cassandra, Voldermort ou encore MongoDB.
Forum général.petites-annonces af83 recrute des développeurs web pour son pôle R&D
je suis Bruno Michel, Lead Developper R&D chez af83. af83 est une startup spécialisée dans le développement de sites web communautaires, et, dans le cadre de son activité R&D, réfléchit sur le futur du web. Un de nos projets, Nodzle, vise à créer une plateforme de développement libre et ouverte qui s'appuie sur une architecture distribuée. Cette plateforme permettra de développer des applications web performantes en s'appuyant sur des composants distribués et interopérables. En pratique, cela se (…)
Revue de presse de l’April pour la semaine 10 de l’année 2019
Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.
- [Nouvelle République] De l’oxygène pour les 30 ans du Web
- [The Conversation] Pourquoi les filles ont délaissé l’informatique
- [LeBigData] Apache Software Foundation : tout savoir sur l’ASF et ses projets Big Data
- [Basta !] Grand débat: pourquoi la plateforme de consultation en ligne est vivement critiquée pour son opacité
- [usine-digitale.fr] 8 questions (et leurs réponses) que vous devriez vous poser sur la « taxe Gafa »
- [Next INpact] Edward Snowden s’oppose à l’article 13 de proposition de directive sur le droit d’auteur
- [Educavox] Les défis éthiques de l’identité numérique
- [Developpez.com] Le verrouillage radio de l’UE rendrait impossible l’installation de logiciels alternatifs sur les smartphones, routeurs Wi‐Fi