Une base NoSQL, en l'occurrence Redis, est une des technos de base du système (qui n'est pas une appli Web) sur laquelle la petite équipe dans laquelle je suis a travaillé depuis le printemps 2011. Je suis un de ceux qui ont le moins interagi avec Redis, ceci dit.
Comme vous avez dû le voir, Redis est fait pour stocker des types de données simples: hashes clé-valeur, sets, etc. Et les footprints disque, RAM et CPU de Redis sont beaucoup plus faibles que ceux des principaux SGBDR, donc c'est plus sympa pour l'embarqué.
MongoDB n'était pas une possibilité pour nous car le code ne prête aucune attention au désalignement des accès (du moins, c'était le cas en 2011, 2012 et encore 2013, je vérifiais de temps en temps), ce qui le rend donc peu portable, sans modifs non officielles pas souvent mises à jour, hors des x86/x86_64. Or, on voulait pouvoir tourner notamment sur des ARM < v7.
Pour les traitements où il y a beaucoup de relations entre éléments, les bases de données relationnelles restent plus adaptées, bien sûr. Il y en a pour toutes les tailles: MySQL/MariaDB, PostgreSQL, Oracle, SQLite3.
Et pour les séries temporelles, il y a d'autres bases de données plus adaptées que Redis.

Je pense que l'idée était de faire un site vraiment "sur mesure" qui maximise l'économie de ressources et la scalabilité.
Ma boîte a conçu une grosse appli professionnel en PHP pour un client important. Nous avons beaucoup travaillé sur la communication et essayé de rendre cela au plus proche de leurs besoins. L'un des principes de KISS est de choisir la solution la plus adaptée, et non de réfléchir à ce que le client pourrait vouloir de plus à l'avenir (je ne dis pas pour autant que c'est une mauvaise approche).
Un an plus tard, il nous envoie une demande de v2 où nous avons beaucoup modifié ça et là, depuis qu'il voulait du "tout interactif et sans rechargement". Après avoir collé deux ou trois patchs AJAX à la grande majorité des pages, nous nous sommes rendus compte que si le client avait pu anticiper ses besoins (et ce n'est pas à nous de savoir qu'il veut des modifications du comportement de l'UI), une grande partie du travail aurait pu être fait en Angular, nous économisant bien du travail et surtout de la future maintenance.
J'ai d'ailleurs tendance à remarquer qu'on pense que les devs web peuvent modifier leurs applications en un claquement de doigts du client, tandis qu'on juge qu'une appli non-web nécessite du travail et du recul.
J'imagine que passer des INT aux BIGINT pour les vues de Youtube a dû se faire sans embarras. Après tout, c'est juste le type de données à changer dans une colonne, non ?

« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »
— Legion, geth trolleur à portée galactique
Ca me fait penser à mon patron dans la boîte où je suis maintenant qui m'a dit qu'il voulait pouvoir tout changer (sur notre site principal) tous les 2 mois s'il a envie. Je suis le seul développeur, et quand je lui explique que j'ai pas envie de me presser pour ne pas faire de mauvais choix, il ne comprend pas ^^
mm si, ca peut etre deplace ^^
GWT est également plus ou moins abandonné par Google, non ? J'ai l'impression que ça vivote plus qu'autre chose… Ça fait un an que la version 3.0 est censée sortir, par exemple.

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Zeph Le 20/12/2014 à 09:59 On voit qu'on tâtonne quand même encore beaucoup autour de la persistance de données, même en 2014. NoSQL ne veut pas dire grand chose, c'est simplement que pendant longtemps on a cru avoir résolu le problème avec une approche assez puissante pour couvrir l'essentiel des cas d'utilisation. On a appelé ça SQL, c'était cool parce que ça permettait d'avoir un standard et donc d'avoir plusieurs produits presque interchangeables plutôt que de devoir s'enfermer dans une seule solution. Et avec le recul, c'était certainement une étape fondamentale.
Malheureusement le problème n'est pas totalement résolu, depuis quelques années c'est l'explosion des sites qui ont envie de faire des analyses comportementales de leurs utilisateurs (pour moi c'est surtout ça qui a lancé le besoin), et autres traitements qui ont besoin de manipuler *beaucoup* de données (désolé, j'ai dit "big data", un blâme pour moi) avec des contraintes que des bases SQL n'ont pas été conçues pour gérer. On se retrouve avec plein de nouvelles approches très différentes, certaines beaucoup plus simples et bas niveau que SQL, d'autres d'une complexité équivalente mais qui offrent d'autres possibilités (si on sacrifie des contraintes comme ACID, ou qu'on s'autorise des résultats approximés statistiquement plutôt qu'exacts, on peut faire des gros gains par ailleurs).
Mais tout ça n'en est encore qu'au début. On est en train de comparer SQL, qui est une solution très mature mais ne répond pas à tous les problèmes, à plein de choses très jeunes et très différentes qu'on regroupe toutes sous l'appellation floue "NoSQL". Certaines vont peut-être faire leur preuve et évoluer pour devenir des alternatives crédibles à SQL, la majorité va surement mourir (et MongoDB semble bien parti pour être dans la seconde catégorie). En attendant d'y voir plus clair, je suis tout à fait d'accord avec Flan : à moins de n'avoir vraiment aucune autre solution et de vouloir faire le pari de se baser sur une solution NoSQL, j'ai l'impression qu'il est encore un peu tôt pour se permettre de reposer dessus dans le monde professionnel, surtout si c'est pour un client et non pour soi.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Tiens, pour moi le besoin est arrivé avant l'analyse comportementale (qui pouvait se faire en batch), il est plutôt lié au big data (mais le vrai, celui avec plein de données) avec des besoins souvent simples (récupérer tous les messages d'une personne, tous les likes, etc.) mais énormes (dont très peu de boîtes concernées : Facebook, Twitter, Google). Faudrait que je regarde l'historique de ces bases, finalement je ne le connais pas tant que ça.
Après, un gros effet de mode, avec des gens qui pensent que comme la base n'est pas forcément structurée, il n'y a plus besoin de réfléchir au modèle de données, on peut benner en vrac toutes les infos dans la base et que ça marchera super bien. En pratique, c'est le contraire : quand on ne sait pas trop, il vaut mieux partir sur du SQL, le noSQL est vraiment pour des besoins spécifiques (d'où la multiplicité des bases : elles correspondent toutes à un besoin différent et très précis, vu que chaque boîte avait ses propres contraintes).
Au passage, le SQL classique évolue lui aussi ; en tout cas PostgreSQL qui permet maintenant certaines fonctions qui viennent du noSQL : stockage de documents JSON avec indexations de clefs, cartouche géo, …
J'espère qu'ils feront une évolution vers les graphes.
Comme Zeph, je pense qu'il y aura beaucoup de ménage dans les solutions existantes, et celles restantes seront vraiment intéressantes quand il y a énormément de données (les bases classiques pouvant faire le choix d'avoir des modes sans ACID).

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant