Twitter
RSS
Précédent   Forum du club des développeurs et IT Pro > Bases de données > NoSQL
NoSQL Forum d'entraide sur les SGBD NoSQL : MongoDB, Cassandra, CouchDB, HBase, etc. Voir aussi -> Rubrique NoSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 06/07/2012, 13h02   #41
pascalCH
Invité de passage
 
Inscription : juillet 2006
Messages : 1
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : juillet 2006
Messages : 1
Points : 1
Points : 1
Par défaut Oui, et alors ?

Un SGBD fonctionnant "100%" en mémoire, ce n'est pas le premier, ni le dernier; en 1998, pour les besoins d'un logiciel de généalogie, j'en avais développé un de toutes pièces en c++, il a été porté en 32 puis 64 bits sous Windows et Mac, capable de s'adapter à la quantité de RAM disponible et de maintenir des statistiques sur l'utilisation potentielle des données; en fait, seules les données actives sont en mémoire, le reste est remisé sur disque, au bout du compte c'est un cache "intelligent" travaillant sur les contenus et non les fichiers disques, performant - 97% de hits réussis.
Ces solutions avec utilisation massive de mémoire sont pratiques quand l'application ne gère pas des terra octets de données, ce qui est très souvent le cas.
pascalCH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h37   #42
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 098
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 098
Points : 21 724
Points : 21 724
Faut vraiment arrêter l'inculture crasse des informaticiens !
TOUS LES SGBDR fonctionnent exclusivement en RAM. Seule la persistance des données est gérée au niveau disque.
1) par la journalisation des transactions (en mode synchrone), mais potentiellement peu de données et compressées
2) par l'écriture des données (en mode asynchrone), ce qui permet de les regrouper et d'éviter d'écrire de multiples versions intermédiaires

Il est même recommandé pour oracle ou SQL Server de limiter la RAM utilisable par le SGBDR sinon il bouffe toute la RAM disponible.

Pour PG, c'est l'inverse : il faut lui indiquer sa limite.

Bref, rien de nouveau, juste un truc mercatique avec en sus je vais plus vite mais vous aurez des chances de perdre vos données !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 07/07/2012, 04h28   #43
Klaim
Expert Confirmé
 
Avatar de Klaim
 
Homme Joel Lamotte
Développeur de jeux vidéo
Inscription : août 2004
Messages : 1 554
Détails du profil
Informations personnelles :
Nom : Homme Joel Lamotte
Localisation : France

Informations professionnelles :
Activité : Développeur de jeux vidéo
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2004
Messages : 1 554
Points : 2 970
Points : 2 970
Voilà ce que ça fait d'écrire un article qui ne pointe pas sur la vrai information du systeme...

Allez voir sur le site du projet, ils disent eux-même que le point fort c'est la compilation des requetes en C++, pas la persistence en mémoire. C'est de ça qu'on devrais discuter.

Toutes ces réactions sont à coté de la plaque.
Klaim est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/07/2012, 10h16   #44
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 13 659
Points : 25 562
Points : 25 562
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par Klaim Voir le message
le point fort c'est la compilation des requetes en C++.
Je ne suis pas un grand spécialiste du fonctionnement intime des SGBD mais il me semble qu'ils commencent par interpréter le bout de texte, appelé requête SQL, qu'on leur envoie et le triturent à leur sauce dans un langage ultra rapide (C ? C++ ? carrément Assembleur ?) pour exécuter la requête.
Autrement dit, et sauf erreur par ignorance de ma part, on peut dire en quelque sorte que tout SGBDR qui se respecte "compile" votre requête SQL.
Rien de nouveau là non plus !

De plus, dans un bon SGBD, Oracle par exemple, si vous soumettez exactement la même requête, des étapes de "compilation" - analyse syntaxique puis passage à l'optimiseur - seront sautées, ce qui rendra l'exécution de la requête plus rapide. Et je crois que si, en plus, les tables interrogées n'ont pas changé depuis la dernière soumission de la requête, le SGBD n'ira pas les rechercher sur le disque s'il les a encore en mémoire.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2012, 11h41   #45
Jester
Membre chevronné
 
Avatar de Jester
 
Inscription : septembre 2003
Messages : 741
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 741
Points : 784
Points : 784
Les SGBD interprètent la requête souvent j'imagine ne passant par une structure mémoire (AST - abstract syntax tree pour un compilateur classique, j'imagine de même pour les SGBD, i.e. les plans d'exécutions). Je doute qu'ils compilent ensuite.

Dans le cas de MemSQL, ils doivent faire un hash de la requête en transformant les littéraux par des paramètres puis voir si ça a déjà été compilé. Dans le cas de MemSQL je doute que la translation de l'AST en code machine soit très utile. Il ne s'agit que d'appeler ensuite des primitives de haut niveau de toute façon.

Naturellement, ça n'a de sens que pour des requêtes qui s'exécutent vite. Si une requête de complexité classique met plus de 10ms à s'exécuter je pense qu'il n'y a plus d'intérêt à compiler.

La proposition de StringBuilder sur Linq est intéressante, en effet ce n'est plus du script donc il n'y a pas l'interprétation à faire. Sauf que j'imagine que pour le link à une base SQL, Linq regénère le SQL derrière. Dans tous les cas, Linq étant une techno sur le client, il faut bien communiquer avec le serveur.
Jester est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 09/07/2012, 16h25   #46
Klaim
Expert Confirmé
 
Avatar de Klaim
 
Homme Joel Lamotte
Développeur de jeux vidéo
Inscription : août 2004
Messages : 1 554
Détails du profil
Informations personnelles :
Nom : Homme Joel Lamotte
Localisation : France

Informations professionnelles :
Activité : Développeur de jeux vidéo
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2004
Messages : 1 554
Points : 2 970
Points : 2 970
Citation:
Envoyé par CinePhil Voir le message
Je ne suis pas un grand spécialiste du fonctionnement intime des SGBD mais il me semble qu'ils commencent par interpréter le bout de texte, appelé requête SQL, qu'on leur envoie et le triturent à leur sauce dans un langage ultra rapide (C ? C++ ? carrément Assembleur ?) pour exécuter la requête.
Autrement dit, et sauf erreur par ignorance de ma part, on peut dire en quelque sorte que tout SGBDR qui se respecte "compile" votre requête SQL.
Rien de nouveau là non plus !
Je pense qu'il doit y avoir le même genre de rapport performance/flexibilité qu'il y a entre, par exemple, Lua et C++. Le même algorithme en C++ sera moins rapide en Lua (qui est tres proche de ce que tu décris, mais reste de l'interpreté, même sous forme de bytecode) mais beaucoup plus facile a manupuler au runtime.

Donc, en gros, je me dis que ça peut faire une différence, mais c'est vrai que c'est difficile de se rendre compte quoi exactement sans des tests concrets. En fait je trouve ça interessant justement parceque l'idée m'apparait saugrenue et en même temps "pourquoi pas?".

En tout cas eux ce qu'ils affirment, c'est que c'est la principale source des performances.
Klaim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2012, 09h23   #47
StringBuilder
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 517
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Chef de projets Générix
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 1 517
Points : 2 381
Points : 2 381
En fait, le vrai seul intérêt du bignou, j'ai l'impression que c'est le remplacement systématique de littéraux par des variables.
Mais quand le programmeur n'est pas un goret, il utilise des requêtes paramétrées, et l'intérêt est alors caduque.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/03/2013, 19h22   #48
Linunix
Membre confirmé
 
Avatar de Linunix
 
Homme Linunix Inception
Programmation
Inscription : juillet 2012
Messages : 52
Détails du profil
Informations personnelles :
Nom : Homme Linunix Inception
Âge : 23
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Programmation
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2012
Messages : 52
Points : 233
Points : 233
C'est une SGBD à tester, elle m'a l'air extremement interessant
Linunix est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h46.


 
 
 
 
Partenaires

Hébergement Web