|
Page : 1 2 Page Précédente | |
Auteur | Sujet : Le NoSQL: MongoDB, Redis, Cassandra, HBase, etc |
el muchacho Comfortably Numb | J'ouvre un topic sur un sujet très à la mode ces temps-ci, les bases de données non relationnelles. L'idée est que les BdD non relationnelles sont plus simples que les SGBD, et permettent en principe d'atteindre des performances plus élevées. D'autres bénéfices importants: Par ailleurs, certaines n'ont pas les garanties ACID apportées par les SGBD. Evidemment, étant donné leurs limitations, elles ne remplacent pas un SGBD, mais sont plutôt complémentaires, pour des usages spécifiques. Venez ici discuter de vos retours d'expérience sur ces outils. NB: ce topic n'est pas un topic "pour ou contre le SQL" Une liste de produits: http://nosql-database.org/ Message édité par el muchacho le 17-05-2012 à 06:07:11 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Publicité | Posté le 06-08-2011 à 00:12:52 |
el muchacho Comfortably Numb | J'ouvre le bal avec Kyoto Cabinet, successeur de Tokyo Cabinet.
Message édité par el muchacho le 07-08-2011 à 09:35:07 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
ratibus | Ou bien t'es pas obligé de choisir et en utilisant MySQL t'as les 2
--------------- Mon blog |
mareek Et de 3 \o/ |
--------------- "I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack |
el muchacho Comfortably Numb | Sinon, j'évalue MongoDB, version 1.8.2.
Message édité par el muchacho le 06-08-2011 à 21:23:29 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
ratibus |
--------------- Mon blog |
el muchacho Comfortably Numb |
Message édité par el muchacho le 06-08-2011 à 10:08:24 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
verdoux And I'm still waiting |
el muchacho Comfortably Numb | Je pense aussi. Vu qu'on n'a plus accès aux sources, on ne sait pas s'il a indexé la base, ni si ce sont des queries avec un résultat unitaires ou retournant un certains nombre d'éléments, etc. Message édité par el muchacho le 06-08-2011 à 10:27:41 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
ratibus |
--------------- Mon blog |
Publicité | Posté le 06-08-2011 à 11:32:03 |
el muchacho Comfortably Numb | OK, ça parait cohérent avec les résultats des autres machines. Je ne comprends pas pourquoi ça rame autant sur mon C2D@2GHz. --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
verdoux And I'm still waiting | T'as pensé à mettre à jour ta zlib ?
|
el muchacho Comfortably Numb |
Nan mais y'a un vrai pb sur ma machine, on dirait, même en insertion, c'est plus lent que ton netbook. Ceci dit, sous XP, au boulot, j'ai eu aussi des perfs anormalement mauvaises, du genre 1 record/seconde (pas d'antivirus). Mais si ça se trouve, les données passaient par le réseau... edit: Bon, mongostat m'indique que la base ne fait rien la plupart du temps, et les commandes:
m'indiquent qu'aucune requête n'a pris plus de 150 ms. On dirait qu'iIl y a de mon coté un pb de communication entre la base et le driver Python. D'ailleurs, mongod occupe 0% du CPU tandis que Python mouline comme un coureur du tour de France... edit: j'avais oublié que j'avais le driver pur Python et non le driver écrit en C... Message édité par el muchacho le 06-08-2011 à 20:48:26 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Pour comparer, même programme mais avec SQLite 3 (qui est inclus par défaut dans la distrib Python). Vous avez quoi comme perfs ?
Message édité par el muchacho le 07-08-2011 à 12:24:04 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | OK, problem solved. Comme la base est memory mapped, MongoDB ne fonctionnera pas sur des bases de plusieurs millions de lignes en 32 bits. Il faut obligatoirement un OS 64 bits. Message édité par el muchacho le 06-11-2011 à 16:54:54 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Une bonne présentation: http://nosql.mypopescu.com/post/64 [...] y-and-when --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
verdoux And I'm still waiting | Le progrès fait rage
|
el muchacho Comfortably Numb | Quelques liens utiles: http://nosql.mypopescu.com/post/61 [...] experience Le diagramme ci-dessous fait référence au "théorème CAP" qui dit qu'un système distribué ne peut pas satisfaire plus de deux propriétés simultanément parmi les 3 que sont Partition tolerance, Availibility et Consistency. Sinon, d'un point de vue conceptuel, il me semble que les bases orientées "tables" façon BigTable sont plus complexes à appréhender que les bases orientées documents comme MongoDB, qui se prêtent bien à la programmation OO, chaque document représentant une hiérarchie d'objets; tandis que les bases orientées clefs-valeurs sont les plus simples, et peuvent être utilisées comme des dictionnaires améliorés. Message édité par el muchacho le 31-01-2014 à 22:00:20 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Cassandra, ou le NoSQL qui rajoute une couche... de SQL... Rien de très étonnant. Cassandra/HBase/BigTable sont des bases NoSQL avec schéma. Les concepts de Cassandra/HBase/BigTable sont bcp plus clairs si on fait la correspondance:
Message édité par el muchacho le 17-02-2013 à 04:21:47 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Bon, MongoDB a mauvaise presse ces temp-ci: Message édité par el muchacho le 06-11-2011 à 18:21:54 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
___alt | Fais ressortir la réponse du boss quand même, ça met en lumière que les posts précédents étaient de la merde : http://news.ycombinator.com/item?id=3202959 --------------- TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW |
el muchacho Comfortably Numb | Non, ça n'était pas de la merde.
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
___alt |
--------------- TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW |
el muchacho Comfortably Numb | Et encore des gens qui lâchent mongodb: Toujours les mêmes raisons. Message édité par el muchacho le 17-02-2013 à 11:59:29 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
java8 | Bonjour à tous,
|
el muchacho Comfortably Numb | Une bonne comparaison entre les deux éléphants des bases de données distribuées open source: Les deux systèmes sont capables de gérer des clusters de centaines de serveurs, et des centaines de To de données, avec réplication entre data centers. Les performances des deux systèmes ont considérablement avancé, de même que leurs fonctionnalités respectives. Message édité par el muchacho le 17-02-2013 à 18:51:19 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Un très bon article: http://www.cubrid.org/blog/dev-pla [...] cale-data/ --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Excellente conférence de Martin Fowler: http://www.youtube.com/watch?v=qI_g07C_Q5I
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Article intéressant: NoSQL data modeling
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
rufo Pas me confondre avec Lycos! | Je dois avouer que jusqu'à présent, je voyais le NoSQL utile uniquement pour du décisionnel...
Message édité par rufo le 16-11-2013 à 12:08:16 --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
el muchacho Comfortably Numb | Non, c'est utilisé pour de la transaction aussi. Par exemple, la distribution de colis à La Poste est maintenant gérée sous Cassandra. --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Oliiii | Ça c'est un truc que je ne comprends pas.
Message cité 1 fois Message édité par Oliiii le 18-11-2013 à 08:33:47 |
rufo Pas me confondre avec Lycos! |
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
el muchacho Comfortably Numb |
Message cité 1 fois Message édité par el muchacho le 31-01-2014 à 21:52:55 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
flo850 moi je | c'est utilisé pour un projet de gestio des oevures d'art( gertrude ) pour sa facilité a gérer de la petite cuillère au chateau --------------- |
el muchacho Comfortably Numb | Je dois dire que Cassandra a une architecture tout à fait intéressante et séduisante. Elle est basée sur Google BigTable pour le modèle de données et Amazon Dynamo pour l'archi réseau. En fait Cassandra est une implémentation pratiquement complète de l'architecture Dynamo. A noter que Riak est aussi une implémentation de l'architecture dynamo, mais le modèle de données est simplement un modèle clef-valeur. Le modèle de données Le modèle de données est de façon schématique une DistributedHashMap<rowkey, SortedHashMap<column name, value>>, où value peut être un objet ou une collection, et column name peut être une clef composite. Ce modèle est l'équivalent d'un ensemble dénormalisé de tables dans un SGBD relationnel, et s'appelle une ColumnFamily dans la terminologie Cassandra. Pour donner un exemple de la façon dont on se sert de ce modèle, voici un schéma relationnel. Le token ring et la répartition des données Ce modèle de données est conditionné par l'organisation physique du système. Dans l'architecture dynamo, les serveurs/nodes sont tous identiques et organisés en un token ring.
La rowkey est une clef de hachage (MurMur3) qui permet de répartir les rows uniformément entre les nodes (plus de détails ici).
La réplication en temps réel Pour assurer la redondance des données, chaque row est répliqué N fois (facteur de réplication) sur des nodes distincts via peer-to-peer. Cassandra est capable de répartir les données sur des baies différentes, et de faire de la réplication en temps réel entre plusieurs data centers ou entre un data center et un cloud. En général, N = 3 dans un même data center et des baies distinctes est e type de réplication le plus courant. Les débits et latences d'écriture tiennent compte de ces réplications. Si N > 1, cependant, le délai induit par la réplication fait que pendant quelques ms à quelques centaines de ms (en fonction de la topologie physique du token ring et des diverses réplications en jeu), les serveurs ne sont pas tous synchronisés. Si une requête tombe sur l'une des copies non synchronisées, elle ne retournera pas le résultat escompté: on dit que Cassandra est une base "éventuellement consistante". Le degré de consistance est configurable par requête: on peut par exemple pour une requête donnée interroger un seul serveur (consistency level = 1), au moins N/2+1 serveurs (consistency level = LOCAL_QUORUM), ou les N serveurs sur un même data center (consistency = ALL). Le tradeoff sera donc entre la consistance et la latence (le C et le Availability du théorème CAP), en fonction des besoins. Une BD qui ne retourne pas systématiquement le bon résultat a-t'elle un intérêt ? Cela dépend des applications. Une application de monitoring d'un réseau de senseurs peut par exemple n'avoir besoin de connaitre le temps réel qu'à la dernière minute près, si ces senseurs monitorent des phénomènes transitoires qui mettent plusieurs minutes ou dizaines de minutes. Une application OLAP peut ne servir à faire des statistiques que pour des périodes allant de 1j à des années. un retard qui se compte en secondes n'a alors aucune importance. A l'inverse, la plupart des applications OLTP ne tolèrent pas de telles approximations et la consistance est primordiale. Comme tous les nodes sont identiques, une ferme de serveurs d'application peut attaquer indifféremment n'importe lequel des nodes via la rowkey. Comme on le voit, l'architecture du système est telle que la scalabilité de la base est linéaire: on double les débits d'écriture et de lecture en doublant le nombre de nodes. Autre conséquence intéressante de cette symétrie: il n'y a pas de "single point of failure". Pour cette raison associée aux possibilités étendues de réplication, Cassandra est réputé être extrêmement résistant aux pannes. Il est bien adapté pour des applications où la disponibilité est primordiale. Les restrictions par rapport à un SGBDR Détails d'implémentation J'espère par ce petit tour d'horizon avoir fait comprendre que Cassandra est un produit sérieux et très avancé, dont l'usage est réservé aux applications non transactionnelles pour lesquelles la scalabilité et la disponibilité sont importantes. Ressources: Message édité par el muchacho le 03-02-2014 à 21:31:03 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
youmoussa Ecrou-vis |
--------------- L'humain est celui « qui agit puis qui pense : ce n’est pas parce qu’il soutient telle position qu’il agit de telle manière, mais parce qu’il a agi (comme il a été amené à le faire) qu’il va adopter telle position |
el muchacho Comfortably Numb | J'allais te répondre que dans le premier cas, on a le contrôle des nodes, pas dans l'autre, mais effectivement, dans le cas d'une BD, il n'y en a pas vraiment, il faut avoir le contrôle des nodes. Message édité par el muchacho le 01-02-2014 à 03:54:13 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb | Et encore un excellent post d'Ilya Katsov: http://highlyscalable.wordpress.co [...] rocessing/
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
php + mongoDB | Conférence MongoDB Paris le 23 Mars |
[NoSQL] MongoDB et l'aggrégation | |
Plus de sujets relatifs à : Le NoSQL: MongoDB, Redis, Cassandra, HBase, etc |