Petit état des lieux du NoSQL

65
7
mai
2012
Base de données

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.

Logo nosql

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 sur Dartium et l'utilisation de Redis sur Youporn

Posté par  (site web personnel) . Édité par NeoX, Lucas Bonnet et claudex. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
22
18
fév.
2012
Internet

Dartium

Google vient d'annoncer la disponibilité de binaires pour Dartium, une version modifiée du navigateur web Chromium embarquant une machine virtuelle pour Dart. Rappelons que Dart est un langage de programmation développé chez Google dans l'objectif de remplacer JavaScript. À l'annonce de sa publication, les développeurs JavaScript avaient fortement critiqué ce projet ; Mozilla et Microsoft avaient annoncé ne pas vouloir intégrer de VM Dart dans leurs navigateurs ; Google s'était même vu refusé l'intégration d'une VM multi-langages (dont Dart) dans Webkit. Google a donc choisi de poursuivre le développement de Dart dans son coin et sort maintenant une Technology Preview de la VM Dart avec Dartium.

Redis

Youporn.com est un site web avec du contenu pour adultes, faisant parti du top 100 des sites avec le plus fort trafic (100 millions de pages vues par jour). La nouvelle version du site lancée récemment utilise exclusivement Redis comme base de données. Il est intéressant de noter que le cluster Redis utilisé est capable de traiter 300 000 requêtes par seconde sans problème, le facteur limitant étant les cartes réseaux. Eric Pickup, un des développeurs, fera un retour détaillé de cette utilisation lors de la conférence Confoo 2012.

Forum Linux.noyau OOM Killer, avec la moitié de la RAM utilisé par le cache

Posté par  .
Étiquettes :
0
6
jan.
2012

Bonjour,

je dispose d'un serveur avec 64Go de RAM et un Linux 2.6.39
Hier soir, le OOM Killer m'a tué un processus kvm, et je ne comprends pas pourquoi.

Voici l'utilisation mémoire actuelle:

MemTotal: 66108636 kB
MemFree: 1032244 kB
Buffers: 20732 kB
Cached: 29441080 kB
SwapCached: 1048556 kB
SwapTotal: 1925116 kB
SwapFree: 4300 kB

C'est plus ou moins pareil toute la journée. Il y a 29Go de cache, et il me semblait que le noyau allait se servir là dedans (…)

Suivi — Administration site Passer à redis 2.4

#634 Posté par  (site web personnel) . État de l’entrée : corrigée. Assigné à Lucas Bonnet.
Étiquettes :
0
20
oct.
2011

Redis 2.4.1 est disponible et ce serait pas mal de passer à cette version. Il faudrait donc le packager et déployer le package. Attention, je crois que le daemon de la tribune ou celui pour le partage des news sur twitter/identi.ca n'aime pas quand on relance redis.

En bref : du 17 au 21 octobre

Posté par  . Modéré par baud123. Licence CC By‑SA.
27
21
oct.
2011
Linux

Cette dépêche retrace l’actualité des logiciels libres du lundi 17 octobre au vendredi 21 octobre 2011, autour :

  • d’Android : Firefox Mobile et la version 4.0 dite Ice Cream Sandwich ;
  • de GNU/Linux : OpenMediaVault, OpenELEC, Ubuntu 12.04 et Rekonq 0.8 ;
  • du développement : IcedTea, Redis et OpenCL.

Les détails dans la seconde partie de la dépêche.

Sortie de Mageia 1

Posté par  . Modéré par Mouns. Licence CC By‑SA.
69
3
juin
2011
Mageia

La première version de la distribution communautaire Mageia est sortie le 1er juin. Cette toute nouvelle distribution est issue d'une partie de la communauté Mandriva Linux.

8 mois après l'annonce du projet, la première mouture de Mageia est disponible depuis le premier Juin sur les miroirs comme prévu sur le planning. Fruit du travail d'une communauté issue des quatre coins de la planète, la distribution se décline pour le moment en :

  • 2 DVD d'installation 32/64 bits,
  • ainsi qu'un cd d'installation pour les 2 architectures,
  • complété par 8 Live CD (KDE et GNOME et des variations sur les langues).

On y retrouve également un installeur réseau (fichier boot.iso) ainsi que la possibilité de placer les images ISO sur une clé USB pour une installation simplifiée sur les netbooks.

Cloud Foundry, la solution PaaS libre

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
29
22
avr.
2011
Ruby

VMWare a annoncé la sortie de Cloud Foundry, une solution libre de Platform-as-a-Service (PaaS). La PaaS permet de déployer des applications Web et gérer leur montée en charge, en abstrayant la gestion des serveurs, bases de données, runtimes des langages de programmation, serveurs applicatifs, etc.. VMWare va lancer une offre commerciale s’appuyant sur Cloud Foundry, mais vous pouvez aussi l’utiliser sur vos serveurs.

Cloud Foundry, sous licence Apache 2, est un ensemble de briques développées en Ruby : NATS, Cloud Controller, DEA, Router, Health Manager, etc., dont le fonctionnement est expliqué en seconde partie de cette dépêche.

En pratique, chaque serveur sera installé avec vcap, puis les applications sont déployées avec l’outil en ligne de commande « vmc » et peuvent utiliser les services mis à leur disposition. Actuellement, Cloud Foundry supporte Ruby on Rails, Sinatra, Node.js, Spring et Grails pour les applications, et MySQL, MongoDB, Redis et RabbitMQ pour les services.

Par exemple, déployer une application Rails se fait très simplement avec les commandes suivantes :

$ vmc target api.example.net   # Choisir que quel cloud on va déployer
$ vmc login                    # S'identifier auprès du Cloud Controller
$ vmc push                     # On demande à déployer l'application

Il faut ensuite répondre à quelques questions : quel est le nom de l’application ? Quelle est son URL ? Sur combien d’instances va-t-elle être déployée ? Quels services utilise-t-elle ? Puis, Clound Foundry va réserver les ressources, installer les gems nécessaires avec Bundler, lancer les services applicatifs puis mettre à jour sa table de routage. « vmc instances » permet également de modifier le nombre d’instances d’une application pour s’adapter à la charge qu’elle va avoir à traiter.

Au final, Cloud Foundry est une solution jeune (peu de frameworks et services disponibles pour le moment), mais VMWare semble prêt à respecter les règles du Logiciel Libre et prendre en compte les propositions d’améliorations des premiers utilisateurs.

En vrac : Drizzle, MongoDB et Webdis

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
23
20
mar.
2011
Base de données

Drizzle

Drizzle est un fork de MySQL allégé et spécialement adapté pour le web et les infrastructures Cloud. Contrairement à MySQL qui est la propriété d'Oracle, Drizzle est développé et conduit par la communauté. Parmi les autres différences avec MySQL, on peut également citer :

  • l'absence des vues, triggers et procédures stockées ;
  • la non prise en charge de Windows ;
  • un nouveau moteur, HailDB ;
  • une configuration optimisée par défaut pour 1024 connexions simultanées…

La version 2011.03.13 a été déclarée General Availability (GA), c'est-à-dire prête pour la production, et ce trois ans après l'annonce du fork.

MongoDB

MongoDB est une base de données NoSQL de type documents, sous licence GNU AGPL. La version 1.8 est sortie le 16 mars et apporte :

Webdis

Redis est une base de données de type clé-valeur, un memcached boosté aux stéroïdes. Webdis est une interface HTTP au-dessus de Redis, sous licence BSD.

Il permet d'interroger une base de données Redis en appelant un chemin de la forme /Commande/Argument1/Argument2/.../ArgumentN. Le retour sera par défaut du JSON, mais il est également possible d'utiliser du JSONP ou d'autres formats : HTML, texte brut, etc. Webdis intègre également une gestion des droits en fonction de l'adresse IP, de l'authentification HTTP ou des deux.

Architecture logicielle de la nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par tuiu pol.
90
23
fév.
2011
LinuxFr.org

La nouvelle version de LinuxFr.org est en ligne depuis quelques jours. Vous nous remontez régulièrement des bugs et des propositions d'améliorations dans le suivi. Je vous encourage à continuer et à commenter / voter sur les entrées qui vous intéressent.

Voici quelques entrées sur lesquelles j'aimerais particulièrement avoir vos retours :

Je pense que vous êtes également intéressés par l'architecture logicielle de cette nouvelle version. Vous pourrez donc trouver quelques explications à son sujet en seconde partie et n'hésitez pas à poser des questions dans les commentaires.

Sortie de Redis en version 2.2

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
34
27
fév.
2011
Base de données

Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de Memcached boosté aux stéroïdes.

La version 2.2.0 est sortie la semaine dernière, très rapidement suivie de la version 2.2.1. Cette version apporte principalement des optimisations par rapport à Redis 2.0 :

  • importante diminution de la consommation mémoire (à ce sujet, je vous conseille la lecture des astuces pour optimiser la mémoire) ;
  • réplication non-bloquante ;
  • la commande Watch pour faire du check and set ;
  • l'Algorithme LRU pour l'éviction des données quand la mémoire consommée par Redis est limitée ;
  • nouvelles commandes : SETBIT, GETBIT, SETRANGE et GETRANGE permettant d'accéder à des valeurs de type « chaînes de caractères », comme s'il s'agissait de tableaux.

Pour la suite, antirez (le principal développeur) souhaite se concentrer sur la prise en charge des grappes de serveurs (clusters) et sur diskstore (un stockage sur disque des données pour les instances où tout faire tenir en mémoire n'est pas une option).

Sortie de Redis 2.0.0

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
12
6
sept.
2010
Base de données
Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de memcached boosté aux stéroïdes.

Les principales caractéristiques de Redis sont :

Le principal développeur de Redis, Salvatore Sanfilippo, a été embauché par VMWare pour travailler à plein temps sur Redis. Cela a conduit à la récente sortie de la version 2.0 dont quelques nouveautés seront mises en avant dans la seconde partie de la dépêche.

Zentyal 2.0 : un serveur Linux pour les PME

Posté par  . Modéré par j.
Étiquettes :
13
2
sept.
2010
Ubuntu
L'équipe de développement est fière de vous présenter Zentyal 2.0. Anciennement connu sous le nom d'Ebox-Plateform, Zentyal est un serveur Linux pour les PME qui peut servir de passerelle, de pare-feu, de groupware, de proxy, de gestionnaire réseau, ou bien de toutes ces possibilités combinées. Le développement de Zentyal a débuté en 2004 et continue depuis en devenant une société qui propose l'intégration de solution serveur Linux à travers plus de trente projets de gestion de réseau open source.

Principales nouveautés
  • Nouvelle distribution de base : Ubuntu 10.04 "Lucid Lynx". Ceci implique un changement majeur, tous les composant de Zentyal ont été mis à jour.
  • Amélioration de la gestion des logiciels. Le gestionnaire de logiciel a été complétement repensé. Il utilise une routine d'installation graphique et inclut des assistants de configuration.
  • Amélioration des performances : nous sommes passés de gconf à redis et la vitesse de Zentyal a globalement augmenté. Il y a eu d'autres améliorations afin de gagner en rapidité notamment dans la gestion des logs.
  • Environnement graphique plus sympathique en passant de blackbox à lxde. L'aspect de l'interface utilisateur de Zentyal s'en trouve amélioré.
  • Ajout d'un module Zarafa. Il procure un environnement groupware que tout Small Business Serveur requiert (calendrier, contacts, taches, ...) avec une interface similaire à celle de Microsoft Exchange. Il permet la synchronisation avec des périphériques mobiles.
  • Ajout d'un module FTP plébiscité par beaucoup de membre de la communauté. Il fournit une alternative au classique partage Samba.
  • Serveur Web avec support HTTPS. Vous pouvez maintenant déployer vos applications web (webmail, site web, Zarafa) de façon sécurisée avec l'autorité de Certification Zentyal.
  • Amélioration des certificats d'autorité : possibilité d'exporter et de télécharger des fichiers PKCS12.
  • Amélioration du firewall.
  • Modules réécrits : les imprimantes sont dorénavant gérées directement par l'interface Cups pour l'ajout et la découverte automatique des imprimantes. Jabber a aussi été complètement modifié, il est dorénavant basé sur ejabberd.
  • Gestion de PAM directement sur l'interface Zentyal.
  • Possibilité de s'authentifier avec plusieurs comptes administrateur sur l'interface Zentyal.
  • Taille de l'installeur diminué (il ne fait plus que 460 Mo)

Revue de presse - été 2010

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud. Modéré par baud123.
16
23
août
2010
Presse
En retard, mais pas trop tard, voici la revue de presse de cet été. Tous ces numéros sont encore en kiosque (vérifié récemment), mais plus forcément pour très longtemps concernant certains titres qui vont être renouvelés en septembre. Ne traînez donc pas si un sujet vous intéresse !

OpenSource Magazine s'intéresse au robot Nao et à l'iPad sous Ubuntu, Planète Linux s'impose comme le répertoire de sites et de logiciels indispensables, Linux Pratique s'essaye aux gestionnaires de photos et sa déclinaison "Essentiel" part à la découverte de Fedora. Pour les plus expérimentés, Linux Magazine vous propose d'écrire vos propres sondes pour Nagios et le hors-série est un véritable cookbook sur Python. Enfin, actualité aidant, MISC mag décrypte la sécurité des jeux.

Bonnes lectures et rendez-vous dans quelques jours à la rentrée

Nouveautés autour d'Oupsnow, Go, Lucene, Solr, Redis et Cassandra

Posté par  (site web personnel) . Modéré par rootix.
24
21
mar.
2010
Internet
Une petite compilation de brèves :
  • 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.

Les technos web cools du moment

Posté par  (site web personnel) . Modéré par baud123.
33
24
fév.
2010
Internet
Dans le cadre de mon activité professionnelle, je fais de la veille autour des technologies web. Suite à un récent journal sur CouchDb, je me suis dit que les lecteurs de LinuxFr.org pourrait être intéressé par le sujet. J'ai donc regroupé un paquet de liens récents dans la seconde partie de cette dépêche. La plupart viennent du compte delicious qui me sert pour la veille. Les autres liens sont de l'auto-promotion vers des billets que j'ai écrit.