Journal Cassandra 4 qui la testent, un qui l'Hécube

PostĂ© par (site web personnel) . Licence CC By‐SA.
20
4
août
2021

Bonjour Nal,

Je t'écris pour te signaler la sortie de la base de données Apache Cassandra 4.0.

Cette base orientĂ©e colonne grecque est devenue l'un des stockages les plus utilisĂ©es pour les titanodonnĂ©es. Écrite en Java (pour les perfs), elle utilisable via son langage de requĂȘte CQL ou via des API dans tous les bons langages mais aussi en Python ou Node.js.

Voici les nouveautés de cette version:

  • le support de Java 11 : c'est important, car il s'agit de la derniĂšre version Long Term Support ;
  • des tables virtuelles (par exemple pour exposer une configuration en CQL) ;
  • des logs plus complets (audit et requĂȘtes) ;
  • beaucoup d'optimisations ;
  • un truc qui s'appelle Transient Replication, je n'ai pas compris ce que s'est, mais mon DBA a dit "super, je suis trop heureux" en l'apprenant.

Et toi Nal, tu as quoi comme base en prod?

  • # Scylla/MongoDB

    PostĂ© par (site web personnel) . ÉvaluĂ© Ă  9. DerniĂšre modification le 04 aoĂ»t 2021 Ă  16:43.

    Écrite en Java (pour les perfs)

    Il me semblait que Scylla en avait encore plus (écrit en C++ ;))

    Et toi Nal, tu as quoi comme base en prod?

    MongoDB car j'aime le mode document. Un jour peut-ĂȘtre j'utiliserai du PostgreSQL avec jsonb.

    • [^] # Re: Scylla/MongoDB

      PostĂ© par . ÉvaluĂ© Ă  10.

      Postgres avec les json, faut se mĂ©fier un peu quand mĂȘme.
      Les requĂȘtes sont vachement plus chiantes Ă  Ă©crire, il me semble que les index sont beaucoup plus gros, les foreign keys sont pas possible, et ça risque de te donner un faux sentiment de sĂ©curitĂ© "mes donnĂ©es sont structurĂ©s".

      C’est trĂšs pratique pour stocker des donnĂ©es arbitraires sur une ligne, mais des que le json doit intervenir dans une requĂȘte, ca marche pas aussi bien que ce tu pourrais penser. Si ton idĂ©e c’est d’avoir juste une colonne id, et une autre "data" avec tout le json, ca va piquer.

      Une db relationnelle, c’est bien pour faire du relationnel. Si tu cherches Ă  transformer pg en db orientĂ© document, tu vas vite avoir des problĂšmes.

      • [^] # Re: Scylla/MongoDB

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  10.

        C'est pas si sûr, d'aprÚs des benchmarks que j'avais lus (d'il y a un an ou deux j'arrive pas à les retrouver) PostgreSQL explose MongoDB en performances brutes quand on l'utilise en mode "document" avec du jsonb.

        En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.

        Donc quant bien mĂȘme la syntaxe est chiante pour Ă©crire des requĂȘtes qui manipulent le jsonb (elle est vraiment trĂšs chiante, je sais de quoi je parle) ça vaut toujours le coup d'Ă©valuer PostgreSQL quand le besoin se pose.

        Surtout qu'avec MongoDB, tu peux pas faire de relationnel le jour oĂč tu dis que "merde, en fait j'en ai besoin", alors qu'avec PostgreSQL, tu l'as, et bien plus encore !

        Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB, on l'a utilisĂ© sur un site Ă  fort traffic / gros volumes de donnĂ©es, on a fini par le remplacer par un SGBD plus classique et tous nos ennuis se sont Ă©vaporĂ©s, mais c'Ă©tait il y a quelques annĂ©es, peut ĂȘtre que MongoDB s'est sortis les phalanges du fondement depuis.

        • [^] # Re: Scylla/MongoDB

          PostĂ© par . ÉvaluĂ© Ă  7.

          On stocke quelques Tio dedans sans problÚme particulier, on a plusieurs collections à plus de 20 millions de documents et qu'on met à jour à probablement plus de 2k/s sans problÚme particulier. Mongo n'aime vraiment pas avoir de gros documents ça le ralenti pas mal.

          Je ne comprends pas trop les gens qui disent "j'étais avec X, oulala les galÚres, je suis passé sur Y (Y ayant rien à voir avec X), depuis ma femme est revenu !". mongo et postgre sont 2 outils trÚs différents. Pour moi c'est vraiment comme dire "pour ma vis, j'utilisais une clef allen c'était une galÚre depuis que je me suis acheté une clef torx ma vie a changé, je la serre et la déserre avec plaisir". Ma machine à laver n'est pas meilleure que mon vélo.

          Tous ces outils sont trĂšs bons. Ils ne sont juste pas fait pour les mĂȘme usages. Souvent on est peu contraint et moins on est contraint moins la techno sous-jacente n'a d'importance. Quand on parle de grosse contraintes, il faut se rappeler que ce sont des techno utilisĂ© pour d'Ă©normes infra ĂȘtre petit Ă  cotĂ© n'est pas une insulte (et je suis un tout petit Ă  cotĂ©). Nous on utilise mysql/mongo/cassandra/infinispan selon le besoin et je n'irais pas dire que l'un dĂ©passe les autres chacun vient avec ses avantages (ce que tout le monde a en tĂȘte) et ses inconvĂ©nients (qu'on a facilement tendance Ă  oublier), mais si on ne prend pas en compte ses inconvĂ©nients ça pose des problĂšmes (et faut avoir du recul y compris sur ce qui est prĂ©sentĂ© par le vendeur de ses trucs).

          Par exemple si mongo parle d'avoir des transaction par exemple, il faut pas se dire que c'est parti on refait comme en SQL. Tous ses outils et pg le premier tentent d’agrandir autant que possible leur surface d'utilisation, mais sauf cas particulier ça devrait rester Ă  la marge (voir ĂȘtre ignorĂ©) parce que ça remet en cause l'architecture de base du truc ce qui lui donnait un intĂ©rĂȘt.

          En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.

          Je ne te suis pas, de quoi parle-tu ? Mongo peut trĂšs bien avoir des indexes par contre postgre ne peux pas faire n'importe quoi avec du jsonb. Si par "toutes les autres fonctionnalitĂ©s" tu entends "sauf ma majeure partie des fonctions relationnelles" ça en enlĂšve un paquet et ça rĂ©duit fortement l'intĂ©rĂȘt d'un moteur de base de donnĂ©es relationnelle Ă  cela on ajoute un requĂȘtage limitĂ©, de mĂȘme pour les vues du coup. Clairement c'est pas fait pour la mĂȘme chose.

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

          • [^] # Re: Scylla/MongoDB

            PostĂ© par (site web personnel) . ÉvaluĂ© Ă  6.

            mongo et postgre sont 2 outils trÚs différents

            C'est vrai, je suis d'accord, cependant tout dépend du besoin. Quand tu veux faire du CMS, de la vitrine, un site métier mais sans fortes contraintes relationnelles, ou juste quand tu es le commun du mortel, le choix entre un SGBD et une base NoSQL est parfois ambigu: les deux vont fournir les fonctionnalités nécessaires et suffisantes pour le besoin, et les deux vont écrire noir sur blanc dans leur documentation que c'est le bon outil pour implémenter ce besoin. Finalement, tout comme les SGBD, MongoDB est assez polyvalent lui aussi.

            La seule diffĂ©rence sera dans la façon de l'utiliser, et souvent la bonne rĂ©ponse reste le SGBD conventionnel un poil plus polyvalent. C'est juste une question d'Ă©chelle, si passer au NoSQL ne dĂ©verrouille pas une contrainte que tu aurais avec le SGBD classique (comme par exemple, le besoin de passer Ă  l’échelle horizontalement, et encore que...), autant rester sur l'ennuyeux SGBD classique car c'est souvent un outil plus mature, plus stable, pour lequel on trouvera un meilleur support et plus de gens compĂ©tents pour travailler avec.

            Je ne comprends pas trop les gens qui disent "j'étais avec X, oulala les galÚres, je suis passé sur Y (Y ayant rien à voir avec X),

            C'est lĂ  que je ne suis pas d'accord. À l'Ă©poque, et c'Ă©tait un choix de design logiciel assumĂ© par MongoDB, une lecture et une Ă©criture en mĂȘme temps sur la collection influaient l'une sur l'autre, et des enregistrements pouvaient simplement ne pas ĂȘtre Ă©crit, des mises Ă  jour pouvaient ĂȘtre ignorĂ©es, et la lecture pouvait lire un mĂȘme document deux fois, etc... C'Ă©tait des comportements trĂšs grave, et impossibles Ă  ignorer dans notre contexte, oĂč on avait beaucoup de lectures et Ă©critures concurrentes.

            Maintenant ils semblent avoir implĂ©mentĂ© correctement quelque chose qui ressemble enfin Ă  des transactions, mais il leur a fallu du temps, plusieurs annĂ©es mĂȘme. Ça refroidit vraiment, c'est devenu pour nous un outil Ă  fuir absolument. Trop de mauvaises surprises, et certains Ă©taient mĂȘme assumĂ©es par ses mainteneurs et marquĂ©s comme Ă©tant "par design".

            Ma machine à laver n'est pas meilleure que mon vélo.

            LĂ , tu es carrĂ©ment de mauvaise fois, MongoDB est trĂšs polyvalent, PostgreSQL l'est encore plus, et les deux sont dans la mĂȘme niche: des bases de donnĂ©es. Il y a une intersection entre les deux espaces fonctionnels fournis par ces deux outils. Je pourrais dire la mĂȘme chose avec Cassandra et MSSQL, ou encore bien d'autres bases de donnĂ©es.

            tu entends "sauf ma majeure partie des fonctions relationnelles"

            Non pas forcément, PostgreSQL va bien au delà, il convient trÚs bien aussi pour faire du clé-valeur (bien que j'ai un faible pour Redis pour ce besoin), pour faire du publish/subscribe (event/notify), pour implémenter de la recherche fulltext, et ses capacités vont encore bien au delà (et sans parler des extensions). MongoDB s'est amélioré avec le temps, je dis pas, seulement, vu son ùge finalement peu avancé comparés à beaucoup d'autres bases de données, je lui fais encore pas confiance.

            • [^] # Re: Scylla/MongoDB

              PostĂ© par (site web personnel) . ÉvaluĂ© Ă  3.

              Ce qui manque Ă  Postgresql, c'est un langage lisible qui est transpilĂ© vers SQL. Écrire une requĂȘte de 2 lignes, c'est facile. Écris une requĂȘte SQL de 100 lignes et tu deviens chauve.

              "La premiÚre sécurité est la liberté"

              • [^] # Re: Scylla/MongoDB

                PostĂ© par (site web personnel) . ÉvaluĂ© Ă  8. DerniĂšre modification le 06 aoĂ»t 2021 Ă  10:03.

                Le SQL est un langage standardisé (et d'ailleurs, PostgreSQL est un SGDB qui respecte le standard, presque le seul, hors fonctionnalités qui vont au delà du standard) qui a plus de 40 ans maintenant.

                Ça s'apprend, et c'est pas compliquĂ© en vrai. J'en fais depuis des annĂ©es certes, donc c'est difficile de me mettre dans la peau de quelqu'un qui apprend de zĂ©ro, mais je l'ai appris Ă  un moment ou un autre. Le seul changement de paradigme un peu perturbant, je pense, c'est de raisonner de façon ensembliste (bien que le SQL ne soit pas rĂ©ellement une transposition de la thĂ©orie des ensembles, il s'en inspire). Toute personne qui travaille sur un langage qui gĂšre correctement les collections et a un systĂšme de typage complet y trouvera beaucoup de choses familiĂšres. Enfin, pour des requĂȘtes simples, et mĂȘme certaines plus complexes, il n'y a dĂ©finitivement pas besoin d'ĂȘtre mathĂ©maticien, ni mĂȘme de connaĂźtre quoi que ce soit Ă  propos de la thĂ©orie des ensembles.

                En plus, c'est vraiment cool comme langage, parce que c'est spécifié comme étant un langage déclaratif: tu dis ce que tu veux comme résultat, et c'est au serveur de choisir comment l'interpréter, et de choisir la façon optimale pour obtenir le résultat que lui a demandé.

                Donc en tant que dĂ©veloppeur, le langage t'ĂŽte la responsabilitĂ© de devoir penser performance Ă  la place du serveur, ce qui le rend bien plus accessible que la majeure partie de langages qu'on manipule tous les jours, qui vous nous exposer des dĂ©tails techniques complexes pour permettre de contourner les faiblesses de ton processeur ou te forcer Ă  gĂ©rer ta mĂ©moire par toi mĂȘme. Le SQL s'affranchit complĂštement de toutes ces contraintes qui polluent la sĂ©mantique, et te permet de rĂ©flĂ©chir uniquement Ă  tes donnĂ©es. Il te fourni une langue pour exprimer simplement des transformations de collections de donnĂ©es. C'est mĂȘme bien plus expressif et lisible que les libraries rĂ©active-fonctionnelles trĂšs Ă  la mode en ce moment.

                PostgreSQL est rĂ©putĂ© pour avoir le meilleur moteur d'optimisation de requĂȘte SQL au monde (Ă  tel point qu'il est aussi utilisĂ© par d'autres outils) et pour avoir testĂ© et Ă©crit des choses vraiment compliquĂ©es avec, mis Ă  part de trĂšs rare cas (vraiment trĂšs rare) avec les versions rĂ©centes de PostgreSQL plus tu Ă©cris le SQL simplement et naĂŻvement, et mieux ça se passe.

                Des langages qui ont essayĂ© de substituer au SQL, ça existe, mais aucun ne fait consensus, et Ă  mon avis ce n'est pas pour rien: aucun de ceux que j'ai pu rencontrer ne permettait rĂ©ellement d'ĂȘtre Ă  la fois gĂ©nĂ©raliste et d'abstraire des fonctionnalitĂ©s avancĂ©es du SQL dans quelque chose de plus simple.

                Je pense honnĂȘtement, au vu de ce que ça permet de faire, que de concevoir un langage plus simple que le SQL pour le remplacer semble impossible, quant bien mĂȘme il pourrait sĂ»rement ĂȘtre amĂ©liorĂ© (je pense notamment Ă  la syntaxe horrible pour les accĂšs au json). Il y a des cas oĂč c'est possible et ça marche, mais c'est presque systĂ©matiquement des langage qui sont en fait des DSL (Domain Specific Language), conçus pour rĂ©pondre Ă  des problĂ©matiques mĂ©tier, et qui par consĂ©quent ne peuvent ĂȘtre utilisĂ© en dehors.

                AprĂšs, rien n'empĂȘche d'imaginer un jour Ă©crire un SQL-v2, qui soit une nouvelle langue plus moderne, mais je pense que sa complexitĂ© sera au moins Ă©quivalente au SQL lui mĂȘme.

                • [^] # Re: Scylla/MongoDB

                  PostĂ© par (site web personnel) . ÉvaluĂ© Ă  4.

                  J'ai appris le SQL, il y a 20 ans. J'ai Ă©cris un backend de traitement business complet avec pendant 2 ans. Mon problĂšme Ă©tait surtout la syntaxe dont les subtilitĂ©s varies selon lĂ  oĂč l'on est (parenthĂšse ou non, label sous entendu ou pas, ...). Peut-ĂȘtre que certain IDE sont meilleur que d'autres par contre. Mais le langage n'est pas rĂ©cursif dans le sens ou selon le niveau d'imbrication la syntaxe change.

                  Donc en tant que développeur, le langage t'Îte la responsabilité de devoir penser performance à la place du serveur,

                  ça c'est souvent faux : Tu peux faire des horreurs si ce que tu écris, implique inutilement de parcourir chaque ligne d'une table.

                  "La premiÚre sécurité est la liberté"

                • [^] # Commentaire supprimĂ©

                  PostĂ© par . ÉvaluĂ© Ă  5.

                  Ce commentaire a Ă©tĂ© supprimĂ© par l’équipe de modĂ©ration.

            • [^] # Re: Scylla/MongoDB

              PostĂ© par . ÉvaluĂ© Ă  4.

              C'est moi oĂč tu reproche Ă  une base de donnĂ©es NoSQL de ne pas ĂȘtre ACID ?

              LĂ , tu es carrĂ©ment de mauvaise fois, MongoDB est trĂšs polyvalent, PostgreSQL l'est encore plus, et les deux sont dans la mĂȘme niche: des bases de donnĂ©es.

              C'est pas parce que ça stocke de la donnĂ©e que c'est la mĂȘme chose. Envoyer un recommandĂ© et un sms, c'est de "l'envoi de message" pourtant. C'est de la sĂ©mantique ce que tu tente de faire, mais quand tu sort d'ACID tu quitte le monde de la base de donnĂ©es tel que tu semble le comprendre, c'est comme si tu te mettais Ă  stocker Ă  la main sur disque ou via ftp. Si on ignore ça, on a le genre de surprises que tu dĂ©crit.

              [PostgreSQL] convient trÚs bien aussi pour faire du clé-valeur (bien que j'ai un faible pour Redis pour ce besoin)

              Tu vois t'es encore entrain de comparer des choux et des patates. L'un ne stock rien sur disque et est lĂ  pour faire de la latence faible a un modĂšle de stalabilitĂ©... particulier. LĂ  oĂč l'autre Ă©crira toujours tout sur disque fourni largement plus de garanties etc. Bon perso je trouve que redis est le roi du goodenought, mais c'est une autre histoire.

              Postgre est une excellente base de données et ça se voit car son moteur est trÚs flexible et tiens la dragée haute à des moteurs pensés directement pour cette flexibilité (je parle de rocksdb ou cockroachdb qui sont des moteurs qu'on utilise pas directement normalement) alors que pg existe depuis 25 ans. AWS s'en sert par exemple pour produire leur solution compatible mongodb (mais ils n'utilisent pas le support jsonb libre, ils ont leur propre truc à eux). Mais il ne faut pas croire pour autant que tout est gratuit son event/notify est anémique face à de vraies solution (pareil pour redis).

              https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: Scylla/MongoDB

                PostĂ© par . ÉvaluĂ© Ă  10. DerniĂšre modification le 06 aoĂ»t 2021 Ă  13:43.

                C'est moi oĂč tu reproche Ă  une base de donnĂ©es NoSQL de ne pas ĂȘtre ACID ?

                Non; je pense qu'il reproche à MongoDB d'avoir fait des choix de design et marketing trÚs douteux ainsi que d'avoir réussi à violer presque systématiquement les maigres garanties annoncées dans leur doc pendant ses 5+ premiÚres années d'existence. Ce qui est fondamentalement un problÚme différent que de trouver que les garanties offertes par un outil ne sont pas adaptés à son besoin.

                Ça a commencĂ© par publier des benchmarks montrant Ă  quel point ils Ă©taient "rapides" alors que la configuration par dĂ©faut de Mongo Ă©tait de ne pas garantir la durabilitĂ© des Ă©critures acceptĂ©s (ie. non persistĂ© dans un WAL).

                Ça a continuĂ© avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirĂ©es de libre, remonte le bug tracker jusqu'Ă  la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carriĂšre.

                CÎté garanties documentées, garanties réellement implémentées et configuration par défaut, on est passé par toutes les étapes possibles de WTF.

                Il me semble qu'un changement significatif a eu lieu vers la version 3 et au moment oĂč Aphyr les a mis en piĂšce. Ils ont commencĂ© Ă  chercher Ă  afficher des garanties raisonnables et Ă  les implĂ©menter correctement. Le surnom snapshat for database de mongo ne vient pas de nul part; et tu peux aisĂ©ment comprendre que suite Ă  cet historique des gens s'en tiennent le plus loin possible.

                • [^] # Re: Scylla/MongoDB

                  PostĂ© par . ÉvaluĂ© Ă  5.

                  Ça a continuĂ© avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirĂ©es de libre, remonte le bug tracker jusqu'Ă  la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carriĂšre.

                  Tu peux pas balancer ça un vendredi et pas suivre avec au moins une description rapide d’un ou deux bug :)
                  Surtout qu’il faut un compte et tout pour le bug tracker.

                  • [^] # Re: Scylla/MongoDB

                    PostĂ© par . ÉvaluĂ© Ă  3.

                    Dans les bugs encore rĂ©cent et drĂŽle, tu as des requĂȘtes "upsert" pour mettre Ă  jour ou insĂ©rer. Ces requĂȘtes peuvent te dire des trucs du genre "error: _id already exists"...

                    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                  • [^] # Re: Scylla/MongoDB

                    PostĂ© par . ÉvaluĂ© Ă  5. DerniĂšre modification le 06 aoĂ»t 2021 Ă  19:01.

                    Je n'ai malheureusement pas bookmarké à l'époque :(

                    Tu avais des trucs genre "Je mets Ă  un jour champ avec une virgule dedans" ça t'Ă©clate 1 ou 4 documents en les remplissant de merde, mutant les types ou autre. Je n'ai plus les dĂ©tails, mais je fouillai le bug tracker pour identifier mes problĂšmes et Ă©tait effarĂ© de voir sur le nombre de connerie du genre. C ÌĂ©tait systĂ©mique.

                • [^] # Re: Scylla/MongoDB

                  PostĂ© par . ÉvaluĂ© Ă  0.

                  Ça a continuĂ© avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirĂ©es de libre, remonte le bug tracker jusqu'Ă  la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carriĂšre1 .

                  Tu parle d'une version d'il y a 6 ans. C'est trĂšs vieux. MĂȘme pour pg, si tu prends une version d'il y a 6 ans, tu aura de gros gap (par exemple avoir des dĂ©ploiement un peu plus sympa que du primaire/secondaire ou dans tout ce qui est partitionnement). Je ne parle mĂȘme pas de redis qui Ă©tait trĂšs balbutiant il y a 6 ans.

                  Critiquer aujourd'hui un logiciel si vieux, dans un domaine qui évolue autant (postgresql ne supporte pas de versions aussi vielles). C'est à minima non pertinent.

                  Ensuite le marketing, je comprends et en mĂȘme temps je ne comprends pas pourquoi dĂ©brancher son cerveau. Sur un sujet dont c'est ton domaine s'appuyer sur les discours marketing, plus que sur l'architecture ça ne me parait pas ĂȘtre une bonne idĂ©e et c'est pas comme si mongo inc Ă©taient les seuls Ă  parler de mongo. De la mĂȘme maniĂšre qu'il faut pas trop accorder d'importance au market de datastax (la boite derriĂšre cassandra) ou d'elastic pour elasticsearch. Ils sont Ă©ventuellement intĂ©ressant pour savoir quel marchĂ© intĂ©resse la boite, mais ça ne vas pas plus loin.

                  Si tu veux te marrer regarde redis et hazelcast :

                  C'est peut ĂȘtre dĂ©solant, mais il y a un marchĂ© et donc des gens qui se battent.


                  1. j'avais vu des trucs trĂšs trĂšs chelou avec mysql ↩

                  https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                  • [^] # Re: Scylla/MongoDB

                    PostĂ© par . ÉvaluĂ© Ă  10. DerniĂšre modification le 06 aoĂ»t 2021 Ă  19:10.

                    Critiquer aujourd'hui un logiciel si vieux, dans un domaine qui évolue autant (postgresql ne supporte pas de versions aussi vielles). C'est à minima non pertinent.

                    Le truc c'est que tu ne critiques pas le logiciel mais l'entité qui est derriÚre et son fonctionnement. Mongo a bùti sa place en mentant ouvertement (au minimum par omission délibérée et répétée).

                    Qu'un produit ait des limites annoncées ou quelques bugs est dans l'ordre des choses. Mais quand quelqu'un a passé au minimum 5 ans à mentir sur ses garanties (on parle d'une DB), ça ne me choque pas que quelqu'un puisse ne pas vouloir s'en approcher pour des raisons éthiques ou techniques. D'autres diront que les choses ont changées ces derniers temps et ne verront aucun problÚme à récompenser ce comportement. Je peux comprendre les deux points de vue.

                    Ensuite le marketing, je comprends et en mĂȘme temps je ne comprends pas pourquoi dĂ©brancher son cerveau. Sur un sujet dont c'est ton domaine s'appuyer sur les discours marketing, plus que sur l'architecture ça ne me parait pas ĂȘtre une bonne idĂ©e et c'est pas comme si mongo inc Ă©taient les seuls Ă  parler de mongo

                    On ne parle pas de marketing. On parle de mentir sur les garantie offertes dans les documentations techniques, d'avoir des configurations volontairement dangereuses par défaut pour faire croire qu'on est pas si lent que ca, et d'oublier de parler de comment tu as obtenu tes chiffres.

                    Personnellement, je trouve triste d'ĂȘtre OK avec ça.

                    • [^] # Re: Scylla/MongoDB

                      PostĂ© par . ÉvaluĂ© Ă  1.

                      Personnellement, je trouve triste d'ĂȘtre OK avec ça.

                      C'est pas une question d'ĂȘtre ok ou pas. Avant de reprocher ça a mongo, ça pourrait ĂȘtre reprochĂ© Ă  un paquet de logiciels mĂȘme non commerciaux. Mais aussi Ă  Intel, AMD, Nvidia et n'importe quel fabriquant de carte mĂšre. Tu utilise du x86 ? C'est triste d'ĂȘtre ok avec ça.

                      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: Scylla/MongoDB

                PostĂ© par . ÉvaluĂ© Ă  5.

                je trouve que redis est le roi du goodenought

                Clairement, c'est comparer des choux et des patates :) Comparer mongo ou mysql avec un vrai sgbr, c'était déjà douloureux. mainteant si tu rajoute un cache, on ne va plus s'y retrouver :D

                PS: on m'informe à l'instant qu'un troll s'est caché dans ce message.

              • [^] # Re: Scylla/MongoDB

                PostĂ© par (site web personnel) . ÉvaluĂ© Ă  3.

                Tu vois t'es encore entrain de comparer des choux et des patates. L'un ne stock rien sur disque et est lĂ  pour faire de la latence faible a un modĂšle de stalabilitĂ©... particulier. LĂ  oĂč l'autre Ă©crira toujours tout sur disque fourni largement plus de garanties etc. Bon perso je trouve que redis est le roi du goodenought, mais c'est une autre histoire.

                C'est faux comme affirmation. Par défaut, Redis écrit tout sur le disque, et de façon synchrone en plus, comme PostgreSQL.

                Les deux ont une latence relativement faible, mais Redis est bien plus efficace avec un trĂšs grand nombre de connexions.

                Redis permet de faire des transactions qui sont (de mémoire) presque ACID. Je n'y a pas retouché depuis 3~4 ans, mais j'ai testé dans tous les sens à l'époque de la version 2.8 et 3, et ça marche.

                Redis ce n'est pas goodenought, ça dépend comment tu le configure, mais presque toutes les bases de données quel que soit leur type, te permettent de les configurer pour les rendre plus rapide et moins safe, ou plus lentes et trÚs safe.

                On a utilisé Redis sur des productions pendant plusieurs années, on a jamais eu de soucis particulier, ça marche comme c'est écrit.

        • [^] # Re: Scylla/MongoDB

          PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5. DerniĂšre modification le 06 aoĂ»t 2021 Ă  08:31.

          Le problÚme de postgresql, c'est que ça manque de multi sites / maßtres qui marche hors de la boite:(

          Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

          • [^] # Re: Scylla/MongoDB

            PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5.

            Le problÚme est surtout que le retournement maitre/esclave est compliqué et tu peux te retrouver dans un mode split-brain qui est un problÚme hyper-complexe avec une base SQL. En gros, il faut 3 bases pour que cela marche.

            "La premiÚre sécurité est la liberté"

            • [^] # Re: Scylla/MongoDB

              PostĂ© par (site web personnel) . ÉvaluĂ© Ă  3. DerniĂšre modification le 06 aoĂ»t 2021 Ă  12:45.

              C'est révolutionnairement logique: il faut deux classes sociales pour renverser la troisiÚme !

              Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

            • [^] # Re: Scylla/MongoDB

              PostĂ© par . ÉvaluĂ© Ă  5.

              disclaimer: fan de Pg, et pas expert pour un sous

              Le problĂšme du split brain, c'est un problĂšme qui est partagĂ© par toutes les setups qui se veulent haute-dispo. La solution doit ĂȘtre Ă©videmment pensĂ©e pour qu'il n'y en aie pas. Plus facile Ă  dire qu'Ă  faire... surtout qu'on se limite souvent au pĂ©rimĂštre du la bdd, alors qu'il faut pouvoir analyser le systĂšme dans son ensemble. Ceci-dit, la linĂ©aritĂ© maĂźtre-esclave fournit des outils en plus pour Ă©viter ce cas (timelines) et en gĂ©nĂ©ral elle se prĂȘte bien au modĂšle d'intĂ©gritĂ© des SGBR.

              Si on se limite au pĂ©rimĂštre de la sgbr, certes pg n'a pas de solution clef en main comme mongo ou elastic. Et je dirais que c'est pour le mieux, car cela pousse les gens Ă  mieux rĂ©flĂ©chir Ă  leur solution (et, espĂ©rons le, Ă  sortir du pĂ©rimĂštre de la bdd uniquement). Au contraire, mongo et elastic vont te donner beaucoup de misĂšres dans les scĂ©narios oĂč justement ça me fonctionne plus comme il faut... ce qui est en fait contre productif :) (de bonne foie, cet argument peut s'appliquer Ă  toute solution HA)

              Sur le point de la rĂ©plication, pg a eu un dĂ©veloppement exemplaire de sa solution de rĂ©plication. Elle a Ă©voluĂ©e petit Ă  petit Ă  partir d'une base solide, certes lentement, mais en ne compromettant jamais l'existant: Pg t'offre la garantie qu'une requĂȘte au moment transactionnel "t" donnera le mĂȘme rĂ©sultat sur tous les rĂ©plicas, ou une erreur*. C'est une opinion qui est largement rĂ©pandue et que je partage. Si on compare Ă  mysql, il y avait plusieurs mĂ©thodes de rĂ©plication, chacune avec des limitations diffĂ©rentes, et aucune ne garantissant une rĂ©plication parfaite. Il est de plus possible (je dirais, indispensable mĂȘme) de tirer profit de la numĂ©rotation des transaction pour mieux coordonner ses diffĂ©rents application clientes de la bdd.

              Pour en revenir Ă  la question de quelle solution est supĂ©rieure aux autres, et bien je dois dire que c'est celle que l'on comprenne et pour laquelle on est prĂȘt Ă  dĂ©velopper. Faire du mongo ou ES en multi-nodes, pourquoi pas, mais alors jamais il ne faut dĂ©pendre de leur intĂ©gritĂ© supposĂ©e. Avoir une archi maĂźtre-maĂźtre, c'est aussi utiliser des types de donnĂ©es diffĂ©rents qui sont "fusionnables" afin d'Ă©luder le problĂšme de la rĂ©solution de conflits. Pg a aussi certains fork proprios faisant du maĂźtre-maĂźtre, mais il faut bien comprendre les tenants et aboutissants pour en faire un bon usage, et certainement pas s'attendre Ă  de meilleures performances et encore moins Ă  ne pas devoir modifier ses applications.

              *: C'est le talon d'Achille de ce modĂšle: une requĂȘte active sur un replica suspend l'application de certaines transactions qui sont susceptibles d'entrer en conflit (par exemple, un drop table) et donc de toutes celles qui suivent (car les transactions sont appliquĂ©es dans le mĂȘme ordre pour garantir l'exactitude de la rĂ©plication). Le risque c'est d'avoir un blocage/lag persistent qui fini par gĂ©nĂ©rer des erreurs aprĂšs que le dĂ©lais dĂ©passe une valeur arbitraire.

        • [^] # Re: Scylla/MongoDB

          PostĂ© par . ÉvaluĂ© Ă  6.

          Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB

          Je suis plutĂŽt « anti-Mongo » (encore plus depuis qu’ils ont changĂ© de licence), entendre le nom MongoDB me fait le mĂȘme effet qu’entendre le mot blockchain, mais y a un truc sur lequel Mongo est bien plus moderne, c’est la partie opĂ©rationnelle.

          Quand j’étais OVH on avait un cluster oĂč il arrivait rĂ©guliĂšrement qu’un des nƓuds se dĂ©synchronise (je sais plus la raison exacte) et faire repartir le cluster c’était juste une histoire de rm -rf /var/lib/mongo/, restaurer le keyfile, et redĂ©marrer Mongo. Il retrouvait ses petits et se resynchronisait tout seul.

          À cĂŽtĂ© de ça, on avait des pages de procĂ©dures pour restaurer un PG ou une MySQL aprĂšs un failover.

  • # Un titre pareil...

    PostĂ© par . ÉvaluĂ© Ă  -7. DerniĂšre modification le 06 aoĂ»t 2021 Ă  22:14.

    ... ne devrait pas ĂȘtre acceptĂ©.

    Amis (et amies ?) en charge de la modération, voulez-vous intervenir ?

    • [^] # Re: Un titre pareil...

      PostĂ© par . ÉvaluĂ© Ă  5. DerniĂšre modification le 07 aoĂ»t 2021 Ă  12:20.

      tu pensais Ă  quoi ? Peut-ĂȘtre que c'est toi qui a juste l'esprit mal placĂ©...

      "Ce n'est pas à l'état de tout savoir sur ses citoyens, mais au citoyen de tout savoir sur l'état."

      • [^] # Re: Un titre pareil...

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  4.

        C'est une faute de grammaire grave, celle de confondre un verbe avec un nom propre.

        Adhérer à l'April, ça vous tente ?

      • [^] # Re: Un titre pareil...

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  6.

        Pas besoin d'avoir l'esprit mal placĂ©, juste d'avoir de la culture (et d'ĂȘtre assez vieux).

        Le titre est pour moi une référence au sketch "Le viol de Monique", fait par Coluche en 1979. On le trouve sans souci en cherchant sur le web, mais pour éviter de chercher, il est sur youtube.

        Il suffit d'écouter jusqu'à 1 minute 28:

        Vous savez comment on l'appelle dans mon quartier: "Monique, deux qui la tiennent, trois qui la niquent".

        • [^] # Re: Un titre pareil...

          PostĂ© par . ÉvaluĂ© Ă  -3.

          Merci Misc ;)

          Je me rends compte que ce n'était pas évident pour tout le monde. En ce qui me concerne, ce titre m'a sauté à la figure. Et nul doute que l'auteur savait trÚs bien ce qu'il écrivait. Il a voulu faire sourire, mais il a surtout démontré une triste disposition, latente dans logiciel libre, à diverses formes de sexisme. Ici, la culture du viol.

          • [^] # Re: Un titre pareil...

            PostĂ© par (site web personnel) . ÉvaluĂ© Ă  4.

            Il y plein de blagues qui parlent de la mort. Est-ce une culture de la mort ?

            Il y a plein de blagues sur les blondes? Est-ce une culture de la blonde?

            J'ai essayé d'en trouver non offensante*:

            • Combien de tour fait un bĂ©bĂ© dans un micro onde avant d'exploser?
            • Je ne sais pas, j'ai du mal Ă  compter quand je me masturbe.

            *: mais je n'en ai pas trouvé :(

            Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

            • [^] # Re: Un titre pareil...

              PostĂ© par . ÉvaluĂ© Ă  1.

              L'humour sexiste, c'est de l'humour.

              Sexiste.

              J'aimerais lire linuxfr.org sans me frotter Ă  ce genre d'humour, mĂȘme s'il passe inaperçu Ă  moins de connaĂźtre Coluche et d'entendre la consonance (un peu lointaine, certes) entre un acte sexuel et une rĂ©fĂ©rence Ă  la mythologie.

              Ma pétition n'est pas autant dirigée à l'équipe de modération finalement, qu'à toi, @devnewton : ok, c'est pas sympa de ma part de te montrer du doigt, j'admets. C'est désagréable, il y a de quoi se mettre sur la défensive.

              Mais franchement, a-t-on besoin de placer un trait d'humour tirĂ©s par les cheveux, en forme de scĂšne de viol, parce que le nom du projet sur lequel on Ă©crit est fĂ©minin ? À quel genre de communautĂ© on contribue de cette façon ? Je doute que tu aurais Ă©tĂ© aussi spontanĂ©ment crĂ©atif avec un nom masculin.

              Non, non, ceci n'est pas un encouragement ;)

            • [^] # Re: Un titre pareil...

              PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5. DerniĂšre modification le 09 aoĂ»t 2021 Ă  09:58.

              Il y plein de blagues qui parlent de la mort. Est-ce une
              culture de la mort ?

              Non, parce que la mort est un phénomÚne biologique globalement inévitable qui arrive à tout le monde. Je pense qu'on peut difficilement dire que le viol est inévitable, ni ignorer sa repartition suivant des lignes de genre.

              Il y a plein de blagues sur les blondes? Est-ce une culture de
              la blonde?

              Non, mais clairement, on peut voir ça comme une culture ou il est sociĂ©talement acceptĂ© de se moquer des gens pour la couleur des cheveux et leur genre, surtout une fois qu'on s’aperçoit qu'il y a des blagues qui ne sont pas envisagĂ©.

              Ton exemple est assez parlant, parce que je pense que dire "il y a plein de blagues sur les chatains" aurait été beaucoup plus surprenant et moins naturel.

              Déjà parce qu'il n'y en a pas vraiment, malgré le fait qu'on peut trivialement changer le genre et la couleur de cheveux dans n'importe quel blague.

              Ensuite, parce "la blonde" évoque un personnage, mais "le chatain" non.

              Donc oui, le fait que "la blonde" évoque un personnage traduit quelque chose au niveau de la société.

            • [^] # Re: Un titre pareil...

              PostĂ© par . ÉvaluĂ© Ă  8.

              C’est toujours la mĂȘme histoire, ce genre d’humour ça tombe vite Ă  plat.
              Coluche s’en sortait parce que c’était Coluche, que c’était son boulot, qu’il Ă©tait douĂ©, qu’il Ă©tait drĂŽle et que son public venait le voir pour ce genre d’humour.
              Ah, et aussi, parce qu’on comprenait assez vite que c’était du 2nd degrĂ© et qu’il y avait un message sous jacent.

              La tu choppes un public, qui ne vient pas pour ça, Ă  froid, avec une rĂ©fĂ©rence obscure (c’est pas son sketch le plus connu, clairement), sur un sujet qui plus est sensible.
              Faut pas s’étonner de se prendre un bide.

              • [^] # Re: Un titre pareil...

                PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5.

                La tu choppes un public, qui ne vient pas pour ça, à froid,
                avec une rĂ©fĂ©rence obscure (c’est pas son sketch le plus connu,
                clairement)

                Oui, et puis, Coluche, il semble ne plus faire trop de spectacle. Je me demande ce qu'il devient, j'irais voir aprÚs ma réunion d'équipe.

              • [^] # Re: Un titre pareil...

                PostĂ© par (site web personnel) . ÉvaluĂ© Ă  5.

                Le pattern X qui la tiennent, Y qui la Z est plutÎt connu en humour français.

                Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

                • [^] # Re: Un titre pareil...

                  PostĂ© par . ÉvaluĂ© Ă  3. DerniĂšre modification le 09 aoĂ»t 2021 Ă  18:18.

                  Je n’ai jamais vu ce « pattern » autrement que dans sa forme originale.

                  • [^] # Re: Un titre pareil...

                    PostĂ© par (site web personnel) . ÉvaluĂ© Ă  3.

                    Juste de tĂȘte comme ça, je pense aux Inconnus, un flim avec Chabat et la blague de Monsieur et Madame Deukil...

                    Je veux bien qu'il faille tout expliquer aux petits nouveaux, mais dans les commentaires on en tient un qui n'avait pas compris la référence mythologique.

                    Donc les jeunes, au lieu de regarder des youtubeurs dĂ©biles, vous allez me relire tout HomĂšre et tous les humoristes français (oui mĂȘme Anne Roumanov, ça vous apprendra Ă  faire les malins).

                    Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

                • [^] # Re: Un titre pareil...

                  PostĂ© par . ÉvaluĂ© Ă  3.

                  Vu le bouillon que tu t’es prit, je suis pas sur qu’il soit aussi connu que ce que tu penses.
                  Le simple fait que misc ait du clarifier la rĂ©fĂ©rence devrait te mettre la puce Ă  l’oreille.

          • [^] # Re: Un titre pareil...

            PostĂ© par (site web personnel) . ÉvaluĂ© Ă  4.

            Ce titre m'a aussi sautĂ© Ă  la figure, mais mĂȘme avec des explications (nom/verbe, rĂ©fĂ©rence...) il faut bien avouer que le mot HĂ©cube, n'apparaĂźt qu'en tant que nom propre dans mon dictionnaire. Du coup, je ne comprends toujours pas. Et c'est bien dommage. En gĂ©nĂ©ral j'apprĂ©cie l'humour de Devnewton.

            « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: Un titre pareil...

      PostĂ© par (site web personnel) . ÉvaluĂ© Ă  4. DerniĂšre modification le 07 aoĂ»t 2021 Ă  16:16.

      Pourquoi? Parce que l'humour peut faire mourir de rire ? Parce que les références mythologiques sont anti laïques ? Parce que les Inconnus pourraient porter plainte pour plagiat de leur chanson Y'en a marre du rap ?

      Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board

      • [^] # Re: Un titre pareil...

        PostĂ© par (site web personnel) . ÉvaluĂ© Ă  0.

        Malheureusement les années 2020 et celles à venir sont enrichies par la génération fragile et cancel culture. Il n'y a rien que l'on puisse faire.

        futur

        AI is a mental disorder

        • [^] # Commentaire supprimĂ©

          PostĂ© par . ÉvaluĂ© Ă  10.

          Ce commentaire a Ă©tĂ© supprimĂ© par l’équipe de modĂ©ration.

        • [^] # Re: Un titre pareil...

          PostĂ© par (site web personnel) . ÉvaluĂ© Ă  6.

          Malheureusement les années 2020 et celles à venir sont
          enrichies par la génération fragile et cancel culture. Il n'y a
          rien que l'on puisse faire.

          Ma foi, je sais que c'est pas au programme d'histoire en France, mais la censure des medias ne date pas vraiment de 2020. Vu que tu utilises le terme amĂ©ricain de Cancel Culture (qui reste quand mĂȘme un export de la droite amĂ©ricaine), je me sens obligĂ© d'Ă©clairer par des exemples historiques.

          Par exemple, pour le cinéma, entre 1934 et 1966 (et encore aujourd'hui), il y a le Code Hays. Et de ce que je sais, une partie des effets se fait sentir encore de nos jours.

          Une dizaine d'année plus tard, c'est au tour des BDs de faire les frais de la Comics code authority.

          On peut passer des mediums plus récent, comme les jeux vidéos, et le fait que Nintendo of America a fait modifié plein de jeux dans les années 80 à 90, cf ici, ici ou ici.

          Dans le mĂȘme genre d'idĂ©e, on peut aussi parler des changements fait sur les animes, toujours dans les annĂ©es 90. L'exemple le plus connu est sans doute Sailor Moon, mais je peux trouver des exemples plus obscures comme Samurai Pizza Cats, avec certains Ă©pisodes non diffusĂ©s, (ici, ici et une dizaine d'autres).

          En France, on peut citer les retraductions de Ken le Survivant.

          Donc ouais, on ne pouvait pas tout dire avant. Un film comme Gazon maudit n'aurait sans doute pas pu ĂȘtre produit Ă  Hollywood Ă  l'Ă©poque. Pour le contexte, 1995 (date de sortie de Gazon Maudit), c'est 2 ans aprĂšs la promulgation de la politique Don't ask, don't tell par l'armĂ©e US.

        • [^] # Re: Un titre pareil...

          PostĂ© par (site web personnel) . ÉvaluĂ© Ă  -3.

          Pauvre choupinet tout fragile :(((

          • [^] # Re: Un titre pareil...

            PostĂ© par (site web personnel) . ÉvaluĂ© Ă  -2.

            Hmmm, je crois que tu as pas choisi la bonne réponse non ?

            AI is a mental disorder

            • [^] # Re: Un titre pareil...

              PostĂ© par (site web personnel) . ÉvaluĂ© Ă  -1.

              P’tet, je sais plus.

              Je répondais à

              Malheureusement les années 2020 et celles à venir sont enrichies par la génération fragile et cancel culture. Il n'y a rien que l'on puisse faire.

              • [^] # Re: Un titre pareil...

                PostĂ© par (site web personnel) . ÉvaluĂ© Ă  -1.

                Bah du coup je confirme que tu as pas répondu à la bonne personne. Si tu me prends pour un fragile c'est que tu n'as absolument rien compris à mon message.

                AI is a mental disorder

                • [^] # Re: Un titre pareil...

                  PostĂ© par (site web personnel) . ÉvaluĂ© Ă  1.

                  Sauf second degrĂ© foireux (j’te connais pĂŽ, difficile Ă  dire), je pense avoir bien compris le message. Le vocabulaire employĂ© me fait bien rire (jaune) mais enjoy ta virilitĂ© gĂ©nĂ©rationnelle (pwah ça veut rien dire tout ça...).

  • # Ah ouais quand mĂȘme

    PostĂ© par . ÉvaluĂ© Ă  2.

    Écrite en Java (pour les perfs),

    OMG !

    elle utilisable [...] ou via des API dans tous les bons langages mais aussi en Python ou Node.js.

    J'ai ressenti une grande perturbation dans la force trollique...

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

    • [^] # Commentaire supprimĂ©

      PostĂ© par . ÉvaluĂ© Ă  3.

      Ce commentaire a Ă©tĂ© supprimĂ© par l’équipe de modĂ©ration.

  • # Cassandra colonnes ou documents?

    PostĂ© par . ÉvaluĂ© Ă  1. DerniĂšre modification le 28 octobre 2021 Ă  11:54.

    Cassandra n'est pas une base de données orientée colonnes. C'en est une orientée documents appelée "wide-column store".

Suivre le flux des commentaires

Note : les commentaires appartiennent Ă  celles et ceux qui les ont postĂ©s. Nous n’en sommes pas responsables.