Je dois réaliser une application ou j'ai besoin de sauvegarder des données
de manière régulière.
Au début je pensais utiliser une base de donnée de type sql mais le pc ou
tournera l'application n'est pas connecté à un réseau et est assez vieux.
De plus, pour facilier les sauvegardes pour les utilisateurs, j'ai pensé
qu'il serait peut etre préférable de sauvegarder les données sous forme de
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser
des sauvegardes d'objets sous cette forme.
J'ai bien vu la notion de "parser" xml, qu'est ce exactement ?
Merci
Tao
_________________________________________________________________________
Hi everyone
I have to realize a software. I need to save frequently all the data
At the beginning, I wanted to use a database like mysql but the application
must be setup in an old computer. Besides, to facilitate the saves, I
believe that it would be better if I use some xml files. Is there any easy
way to realise some objects' saves with this principle ?
I've seen some "parsers" exist. What is it exactly ?
La première est d'utiliser une base de données légère, et gratuite comme par exemple HsqlDB qui fonctionne plutôt bien, consomme peu de ressources, à condition de se limiter à des volumes de données raisonnables. En plus, pour sauvegarder les données, il suffit de copier un répertoire.
Le seconde, si tu veux utiliser XML, peut se faire en utilisant une base de données XML. C'est à dire une base de données stockant nativement celles-ci au format XML. Pour ce genre de problématique je te conseille d'aller faire un tour du côté de Apache, et entre autre du projet Xindice. Je ne l'ai pas testé, mais en général les produits Apache sont plutôt de bonnes bases de travail. Tu trouveras en plus plusieurs librairies de manipulation de données XML.
Un parser est une librairie permettant de manipuler les données au format XML en Java. Il existe 2 familles de parseurs: SAX et DOM. SAX traite le fichier XML sous forme d'événement, c'est à dire qu'à chaque élément XML le parseur appelle une méthode du handler dont tu fournis l'implémentation. DOM transforme le document XML en un arbre, sous forme d'objet Java. Tu peux alors parcourir cet arbre à ta guise, voire le modifier. Chacune de ces familles a ses avantages et ses inconvénients, à toi de choisir en fonction de tes besoins. Si tu ne veux pas te lancer dans le parsing du fichier XML, et que tu veux récupérer tes données sous forme d'objets Java autre qu'un arbre DOM, je te conseille d'aller voir le Digester chez Apache.
Voilà des premières bases pour faire ton choix, j'espère qu'avec cela tu pourras choisir la bonne solution en fonction des besoins (car c'est ça l'important)
Jacques Desmazieres
"tao" a écrit dans le message de news:
Salut à tous
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière. Au début je pensais utiliser une base de donnée de type sql mais le pc ou
tournera l'application n'est pas connecté à un réseau et est assez vieux. De plus, pour facilier les sauvegardes pour les utilisateurs, j'ai pensé qu'il serait peut etre préférable de sauvegarder les données sous forme de fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme. J'ai bien vu la notion de "parser" xml, qu'est ce exactement ?
Merci
Tao
_________________________________________________________________________ Hi everyone
I have to realize a software. I need to save frequently all the data At the beginning, I wanted to use a database like mysql but the application
must be setup in an old computer. Besides, to facilitate the saves, I believe that it would be better if I use some xml files. Is there any easy way to realise some objects' saves with this principle ? I've seen some "parsers" exist. What is it exactly ?
Thanks
Tao
Bonjour,
Il existe plusieurs solutions à ton problème.
La première est d'utiliser une base de données légère, et gratuite comme par
exemple HsqlDB qui fonctionne plutôt bien, consomme peu de ressources, à
condition de se limiter à des volumes de données raisonnables. En plus, pour
sauvegarder les données, il suffit de copier un répertoire.
Le seconde, si tu veux utiliser XML, peut se faire en utilisant une base de
données XML. C'est à dire une base de données stockant nativement celles-ci
au format XML.
Pour ce genre de problématique je te conseille d'aller faire un tour du côté
de Apache, et entre autre du projet Xindice. Je ne l'ai pas testé, mais en
général les produits Apache sont plutôt de bonnes bases de travail. Tu
trouveras en plus plusieurs librairies de manipulation de données XML.
Un parser est une librairie permettant de manipuler les données au format
XML en Java. Il existe 2 familles de parseurs: SAX et DOM. SAX traite le
fichier XML sous forme d'événement, c'est à dire qu'à chaque élément XML le
parseur appelle une méthode du handler dont tu fournis l'implémentation. DOM
transforme le document XML en un arbre, sous forme d'objet Java. Tu peux
alors parcourir cet arbre à ta guise, voire le modifier. Chacune de ces
familles a ses avantages et ses inconvénients, à toi de choisir en fonction
de tes besoins.
Si tu ne veux pas te lancer dans le parsing du fichier XML, et que tu veux
récupérer tes données sous forme d'objets Java autre qu'un arbre DOM, je te
conseille d'aller voir le Digester chez Apache.
Voilà des premières bases pour faire ton choix, j'espère qu'avec cela tu
pourras choisir la bonne solution en fonction des besoins (car c'est ça
l'important)
Jacques Desmazieres
"tao" <taomad@free.fr> a écrit dans le message de news:
Xns95E2D942462httpwwwdigipillscomc@61.9.191.5...
Salut à tous
Je dois réaliser une application ou j'ai besoin de sauvegarder des données
de manière régulière.
Au début je pensais utiliser une base de donnée de type sql mais le pc ou
tournera l'application n'est pas connecté à un réseau et est assez vieux.
De plus, pour facilier les sauvegardes pour les utilisateurs, j'ai pensé
qu'il serait peut etre préférable de sauvegarder les données sous forme de
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser
des sauvegardes d'objets sous cette forme.
J'ai bien vu la notion de "parser" xml, qu'est ce exactement ?
Merci
Tao
_________________________________________________________________________
Hi everyone
I have to realize a software. I need to save frequently all the data
At the beginning, I wanted to use a database like mysql but the
application
must be setup in an old computer. Besides, to facilitate the saves, I
believe that it would be better if I use some xml files. Is there any easy
way to realise some objects' saves with this principle ?
I've seen some "parsers" exist. What is it exactly ?
La première est d'utiliser une base de données légère, et gratuite comme par exemple HsqlDB qui fonctionne plutôt bien, consomme peu de ressources, à condition de se limiter à des volumes de données raisonnables. En plus, pour sauvegarder les données, il suffit de copier un répertoire.
Le seconde, si tu veux utiliser XML, peut se faire en utilisant une base de données XML. C'est à dire une base de données stockant nativement celles-ci au format XML. Pour ce genre de problématique je te conseille d'aller faire un tour du côté de Apache, et entre autre du projet Xindice. Je ne l'ai pas testé, mais en général les produits Apache sont plutôt de bonnes bases de travail. Tu trouveras en plus plusieurs librairies de manipulation de données XML.
Un parser est une librairie permettant de manipuler les données au format XML en Java. Il existe 2 familles de parseurs: SAX et DOM. SAX traite le fichier XML sous forme d'événement, c'est à dire qu'à chaque élément XML le parseur appelle une méthode du handler dont tu fournis l'implémentation. DOM transforme le document XML en un arbre, sous forme d'objet Java. Tu peux alors parcourir cet arbre à ta guise, voire le modifier. Chacune de ces familles a ses avantages et ses inconvénients, à toi de choisir en fonction de tes besoins. Si tu ne veux pas te lancer dans le parsing du fichier XML, et que tu veux récupérer tes données sous forme d'objets Java autre qu'un arbre DOM, je te conseille d'aller voir le Digester chez Apache.
Voilà des premières bases pour faire ton choix, j'espère qu'avec cela tu pourras choisir la bonne solution en fonction des besoins (car c'est ça l'important)
Jacques Desmazieres
"tao" a écrit dans le message de news:
Salut à tous
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière. Au début je pensais utiliser une base de donnée de type sql mais le pc ou
tournera l'application n'est pas connecté à un réseau et est assez vieux. De plus, pour facilier les sauvegardes pour les utilisateurs, j'ai pensé qu'il serait peut etre préférable de sauvegarder les données sous forme de fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme. J'ai bien vu la notion de "parser" xml, qu'est ce exactement ?
Merci
Tao
_________________________________________________________________________ Hi everyone
I have to realize a software. I need to save frequently all the data At the beginning, I wanted to use a database like mysql but the application
must be setup in an old computer. Besides, to facilitate the saves, I believe that it would be better if I use some xml files. Is there any easy way to realise some objects' saves with this principle ? I've seen some "parsers" exist. What is it exactly ?
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser
des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation
d'objets java en XML.
L'exemple le plus édifiant est sans nul doute Castor
(http://www.castor.org/).
La force de Castor est de proposer un générateur de code java : tu écris ton
modèle de données dans un shema XML et castor te génère tout seul les
classes java correspondantes ainsi que les fonctions pour sérializer et
déserializer les objets (marshall,unmarshall).
A essayer absolument.
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
"Rémi Cocula" > a écrit dans le message de news: 41eec5ef$0$7120$
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton
modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
"Rémi Cocula" <remi.coculaNOSPAM@wanadoo.fr > a écrit dans le message de
news: 41eec5ef$0$7120$8fcfb975@news.wanadoo.fr...
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser
des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation
d'objets java en XML.
L'exemple le plus édifiant est sans nul doute Castor
(http://www.castor.org/).
La force de Castor est de proposer un générateur de code java : tu écris
ton
modèle de données dans un shema XML et castor te génère tout seul les
classes java correspondantes ainsi que les fonctions pour sérializer et
déserializer les objets (marshall,unmarshall).
A essayer absolument.
"Rémi Cocula" > a écrit dans le message de news: 41eec5ef$0$7120$
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton
modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
"Rémi Cocula" > a écrit dans le message de news: 41eec5ef$0$7120$
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton
modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
Guys, it would be great if you would: - stop crossposting, - post in English except in fr.*
"Rémi Cocula" <remi.coculaNOSPAM@wanadoo.fr > a écrit dans le message de
news: 41eec5ef$0$7120$8fcfb975@news.wanadoo.fr...
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser
des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation
d'objets java en XML.
L'exemple le plus édifiant est sans nul doute Castor
(http://www.castor.org/).
La force de Castor est de proposer un générateur de code java : tu écris
ton
modèle de données dans un shema XML et castor te génère tout seul les
classes java correspondantes ainsi que les fonctions pour sérializer et
déserializer les objets (marshall,unmarshall).
A essayer absolument.
Guys, it would be great if you would:
- stop crossposting,
- post in English except in fr.*
"Rémi Cocula" > a écrit dans le message de news: 41eec5ef$0$7120$
fichier xml par exemple. Existe-t-il des solutions simples pour réaliser des sauvegardes d'objets sous cette forme.
Une très bonne solution est à mon avis d'utiliser une api de sérialisation d'objets java en XML. L'exemple le plus édifiant est sans nul doute Castor (http://www.castor.org/). La force de Castor est de proposer un générateur de code java : tu écris ton
modèle de données dans un shema XML et castor te génère tout seul les classes java correspondantes ainsi que les fonctions pour sérializer et déserializer les objets (marshall,unmarshall). A essayer absolument.
Guys, it would be great if you would: - stop crossposting, - post in English except in fr.*
yvon.thoravalNO-SPAM
tao wrote:
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
public class Pilot { private String name; private int points;
public Pilot(String name,int points) { this.name=name; this.points=points; }
public int getPoints() { return points; }
public void addPoints(int points) { this.points+=points; }
public String getName() { return name; }
public String toString() { return name+"/"+points; } }
pour stocker un Pilot dans la base tu fais :
ObjectContainer dbÛ4o.openFile("nom du fichier"); try { Pilot pilot1=new Pilot("Michael Schumacher",100); db.set(pilot1); System.out.println("Stored "+pilot1); } finally { db.close(); }
pour retrouver tous les Pilots tu fais :
Pilot proto=new Pilot(null,0); ObjectSet resultÛ.get(proto); while(result.hasNext()) { System.out.println(result.next()); } result.reset();
c'est-y pas bô la vie ? -- yt
tao <taomad@free.fr> wrote:
Je dois réaliser une application ou j'ai besoin de sauvegarder des données
de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke
directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
public class Pilot {
private String name;
private int points;
public Pilot(String name,int points) {
this.name=name;
this.points=points;
}
public int getPoints() {
return points;
}
public void addPoints(int points) {
this.points+=points;
}
public String getName() {
return name;
}
public String toString() {
return name+"/"+points;
}
}
pour stocker un Pilot dans la base tu fais :
ObjectContainer dbÛ4o.openFile("nom du fichier");
try {
Pilot pilot1=new Pilot("Michael Schumacher",100);
db.set(pilot1);
System.out.println("Stored "+pilot1);
}
finally {
db.close();
}
pour retrouver tous les Pilots tu fais :
Pilot proto=new Pilot(null,0);
ObjectSet resultÛ.get(proto);
while(result.hasNext()) {
System.out.println(result.next());
}
result.reset();
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
public class Pilot { private String name; private int points;
public Pilot(String name,int points) { this.name=name; this.points=points; }
public int getPoints() { return points; }
public void addPoints(int points) { this.points+=points; }
public String getName() { return name; }
public String toString() { return name+"/"+points; } }
pour stocker un Pilot dans la base tu fais :
ObjectContainer dbÛ4o.openFile("nom du fichier"); try { Pilot pilot1=new Pilot("Michael Schumacher",100); db.set(pilot1); System.out.println("Stored "+pilot1); } finally { db.close(); }
pour retrouver tous les Pilots tu fais :
Pilot proto=new Pilot(null,0); ObjectSet resultÛ.get(proto); while(result.hasNext()) { System.out.println(result.next()); } result.reset();
c'est-y pas bô la vie ? -- yt
Trognon Patrice
Yvon Thoraval wrote:
tao wrote:
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
[...]
Bonjour Yvon,
Interessant ton url, très interessant, je vais regarder cela. petite(s) question(s): C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
C'est fiable dans le temps ?
Pour ce qui est du format de stockage (xml, autre) je regarde.
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
Yvon Thoraval wrote:
tao <taomad@free.fr> wrote:
Je dois réaliser une application ou j'ai besoin de sauvegarder des
données de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke
directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
[...]
Bonjour Yvon,
Interessant ton url, très interessant, je vais regarder cela.
petite(s) question(s):
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
Quand tu lis, possibilité d'exprimer une clause de recherche
pour reduire l'ensemble retourné (une where :))
C'est fiable dans le temps ?
Pour ce qui est du format de stockage (xml, autre) je regarde.
Je dois réaliser une application ou j'ai besoin de sauvegarder des données de manière régulière.
perso j'utilise db4o, après avoir utilisé HsqlDB, db4o stocke directement des objets java ;-)
par ex (cf leur site <http://www.db4o.com>) :
tu crées un objet :
[...]
Bonjour Yvon,
Interessant ton url, très interessant, je vais regarder cela. petite(s) question(s): C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
C'est fiable dans le temps ?
Pour ce qui est du format de stockage (xml, autre) je regarde.
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
yvon.thoravalNO-SPAM
Trognon Patrice wrote:
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
oui, basiquement deux méthodes : - 1 - QBE (query by example) là, comme son nom l'indique tu fourni un objet "prototype" et la db te retourne tous les objets conformément à ce prototype, c'est l'exemple que j'ai donné pour Pilot à ceci près que l'exemple donné est extrême (tous les params à null) mais il y a des notions de combinaisons logiques, je ne peux t'en dire beaucoup plus sur QBE, car je ne l'utilise plus, dans mon appli j'utilise :
- 2 - SODA (Simple Object Database Access) là on fait à peu près ce qu'on veut, bien sûr les méthodes de querying sont totalement différents de ce qui existe en sql... un exemple tiré de mon application : <code> public AreaSearchChilds(String parentName) { Object[][] specs = { { new String[] {}, Area.class }, { new String[] { "parent", "name" }, new PatternEvaluation(parentName) }, { new String[] {}, Appellation.class }, { new String[] { "parent", "name" }, new PatternEvaluation(parentName) } }; this.specsAry = null; this.pathAry""""""" = null; this.specs = specs; } </code> cet Object[][] représente «««« l'équivalent »»»» d'un select en sql, derrière cet objet j'ai un query builder qui met en forme la requête, rien de bien sorcier. Basiquement, avec SODA, tu fais une recherche sur un arbre et tu te fabriques un filtre sur cet arbre. Donc c'est plus abstrait que les requêtes sql.
C'est fiable dans le temps ?
la db est représentée par des fichiers sérialisés (xtension *.yap (yet another je ne sais + quoi)), tu peux faire des sortes de "compact" des backup etc.. je n'ai pas entendu parler de pb de fiabilité.
autre point important la base de donnée s'adapte ***automatiquement*** à tes objets, je veux dire par là, suppose qu'au départ tu aies un objet Person :
public class Person { String nom; String prenom; int age; [...] }
et qu'après tu décides de modifier to objet en ajoutant le sexe, apr exemple les données précédentes ne sont pas perdues seulement, bien évidemment, le sexe des personnes précédemment enregistrées est à null... -- yt
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de
nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche
pour reduire l'ensemble retourné (une where :))
oui, basiquement deux méthodes :
- 1 - QBE (query by example) là, comme son nom l'indique tu fourni un
objet "prototype" et la db te retourne tous les objets conformément à ce
prototype, c'est l'exemple que j'ai donné pour Pilot à ceci près que
l'exemple donné est extrême (tous les params à null) mais il y a des
notions de combinaisons logiques, je ne peux t'en dire beaucoup plus sur
QBE, car je ne l'utilise plus, dans mon appli j'utilise :
- 2 - SODA (Simple Object Database Access) là on fait à peu près ce
qu'on veut, bien sûr les méthodes de querying sont totalement différents
de ce qui existe en sql... un exemple tiré de mon application :
<code>
public AreaSearchChilds(String parentName) {
Object[][] specs = {
{ new String[] {}, Area.class },
{ new String[] { "parent", "name" },
new PatternEvaluation(parentName) },
{ new String[] {}, Appellation.class },
{ new String[] { "parent", "name" },
new PatternEvaluation(parentName) } };
this.specsAry = null;
this.pathAry""""""" = null;
this.specs = specs;
}
</code>
cet Object[][] représente «««« l'équivalent »»»» d'un select en sql,
derrière cet objet j'ai un query builder qui met en forme la requête,
rien de bien sorcier. Basiquement, avec SODA, tu fais une recherche sur
un arbre et tu te fabriques un filtre sur cet arbre. Donc c'est plus
abstrait que les requêtes sql.
C'est fiable dans le temps ?
la db est représentée par des fichiers sérialisés (xtension *.yap (yet
another je ne sais + quoi)), tu peux faire des sortes de "compact" des
backup etc..
je n'ai pas entendu parler de pb de fiabilité.
autre point important la base de donnée s'adapte ***automatiquement*** à
tes objets, je veux dire par là, suppose qu'au départ tu aies un objet
Person :
public class Person {
String nom;
String prenom;
int age;
[...]
}
et qu'après tu décides de modifier to objet en ajoutant le sexe, apr
exemple les données précédentes ne sont pas perdues seulement, bien
évidemment, le sexe des personnes précédemment enregistrées est à
null...
--
yt
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
oui, basiquement deux méthodes : - 1 - QBE (query by example) là, comme son nom l'indique tu fourni un objet "prototype" et la db te retourne tous les objets conformément à ce prototype, c'est l'exemple que j'ai donné pour Pilot à ceci près que l'exemple donné est extrême (tous les params à null) mais il y a des notions de combinaisons logiques, je ne peux t'en dire beaucoup plus sur QBE, car je ne l'utilise plus, dans mon appli j'utilise :
- 2 - SODA (Simple Object Database Access) là on fait à peu près ce qu'on veut, bien sûr les méthodes de querying sont totalement différents de ce qui existe en sql... un exemple tiré de mon application : <code> public AreaSearchChilds(String parentName) { Object[][] specs = { { new String[] {}, Area.class }, { new String[] { "parent", "name" }, new PatternEvaluation(parentName) }, { new String[] {}, Appellation.class }, { new String[] { "parent", "name" }, new PatternEvaluation(parentName) } }; this.specsAry = null; this.pathAry""""""" = null; this.specs = specs; } </code> cet Object[][] représente «««« l'équivalent »»»» d'un select en sql, derrière cet objet j'ai un query builder qui met en forme la requête, rien de bien sorcier. Basiquement, avec SODA, tu fais une recherche sur un arbre et tu te fabriques un filtre sur cet arbre. Donc c'est plus abstrait que les requêtes sql.
C'est fiable dans le temps ?
la db est représentée par des fichiers sérialisés (xtension *.yap (yet another je ne sais + quoi)), tu peux faire des sortes de "compact" des backup etc.. je n'ai pas entendu parler de pb de fiabilité.
autre point important la base de donnée s'adapte ***automatiquement*** à tes objets, je veux dire par là, suppose qu'au départ tu aies un objet Person :
public class Person { String nom; String prenom; int age; [...] }
et qu'après tu décides de modifier to objet en ajoutant le sexe, apr exemple les données précédentes ne sont pas perdues seulement, bien évidemment, le sexe des personnes précédemment enregistrées est à null... -- yt
Trognon Patrice
Yvon Thoraval wrote:
Trognon Patrice wrote:
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
[...]
Oui j'ai downloadé et je vais 'bencher' ca demain. La doc est complete, et cela m'a l'air simple a utiliser ce qui n'est pas souvent le cas ...
Bref ca me plait bien.
J'ai pas vu par contre si il est possible de stocker en XML, mais je chercherai.
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais loader une grosse base de contacts dedans, puis je ferais des query pour voir ce que ca donne.
C'est rapide pour des volumes importants (quelques 10 000 à 100 000
objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de
nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche
pour reduire l'ensemble retourné (une where :))
[...]
Oui j'ai downloadé et je vais 'bencher' ca demain.
La doc est complete, et cela m'a l'air simple a utiliser ce qui n'est
pas souvent le cas ...
Bref ca me plait bien.
J'ai pas vu par contre si il est possible de stocker en XML, mais
je chercherai.
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais
loader une grosse base de contacts dedans, puis je ferais des
query pour voir ce que ca donne.
C'est rapide pour des volumes importants (quelques 10 000 à 100 000 objets)?
écoutes il y a des gens qui font tourner db4o sur pocket PC...
amis il est mieux de te rendre compte par toi même, il y a un groupe de nouvelles voir adresse sur leur site (je ne l'ai pas sous le coude ;-))
Quand tu lis, possibilité d'exprimer une clause de recherche pour reduire l'ensemble retourné (une where :))
[...]
Oui j'ai downloadé et je vais 'bencher' ca demain. La doc est complete, et cela m'a l'air simple a utiliser ce qui n'est pas souvent le cas ...
Bref ca me plait bien.
J'ai pas vu par contre si il est possible de stocker en XML, mais je chercherai.
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais loader une grosse base de contacts dedans, puis je ferais des query pour voir ce que ca donne.
Amitiés,
Patrice.
yvon.thoravalNO-SPAM
Trognon Patrice wrote:
J'ai pas vu par contre si il est possible de stocker en XML, mais je chercherai.
je ne pense pas que ça existe "built-in" mais quand on a des objets, c'est plutôt facile à faire (xmlbeans?).
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais loader une grosse base de contacts dedans, puis je ferais des query pour voir ce que ca donne.
ça c'est ton intérêt, faire un benchmark "real life" ;-)
quand même , histoire de "prendre la température" jette un oeil sur leur groupe de nouvelles..
J'ai pas vu par contre si il est possible de stocker en XML, mais
je chercherai.
je ne pense pas que ça existe "built-in" mais quand on a des objets,
c'est plutôt facile à faire (xmlbeans?).
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais
loader une grosse base de contacts dedans, puis je ferais des
query pour voir ce que ca donne.
ça c'est ton intérêt, faire un benchmark "real life" ;-)
quand même , histoire de "prendre la température" jette un oeil sur leur
groupe de nouvelles..
J'ai pas vu par contre si il est possible de stocker en XML, mais je chercherai.
je ne pense pas que ça existe "built-in" mais quand on a des objets, c'est plutôt facile à faire (xmlbeans?).
Merci bcp pour cette info, cela me semble un bon produit.
Me reste a balancer des gros volumes pour voir, pas compliqué je vais loader une grosse base de contacts dedans, puis je ferais des query pour voir ce que ca donne.
ça c'est ton intérêt, faire un benchmark "real life" ;-)
quand même , histoire de "prendre la température" jette un oeil sur leur groupe de nouvelles..
-- yt
carl_2004
Yvon Thoraval wrote:
[db4o]
J'ai pas vu par contre si il est possible de stocker en XML, mais je chercherai.
je ne pense pas que ça existe "built-in" mais quand on a des objets, c'est plutôt facile à faire (xmlbeans?).
Non, XML n'est pas "built-in" mais vous pourriez employer XStream: http://xstream.codehaus.org/
En ce qui concerne l'autre question: La persistance de 10.000 à 100.000 objets sera rapide.
-- Carl Rosenberger Chief Software Architect db4objects Inc. http://www.db4o.com
Yvon Thoraval wrote:
[db4o]
J'ai pas vu par contre si il est possible de stocker en XML, mais
je chercherai.
je ne pense pas que ça existe "built-in" mais quand on a des objets,
c'est plutôt facile à faire (xmlbeans?).
Non, XML n'est pas "built-in" mais vous pourriez employer XStream:
http://xstream.codehaus.org/
En ce qui concerne l'autre question:
La persistance de 10.000 à 100.000 objets sera rapide.
--
Carl Rosenberger
Chief Software Architect
db4objects Inc.
http://www.db4o.com