Je me demandais sur les deux options suivantes quand on n'utilise pas les tables SQL mais BDs à base de ORM (exemple - lorsque vous utilisez GAE)Java ORM question relative - SQL Vs Google DB (Big Table?) GAE
La deuxième option serait-elle moins efficace?
Condition: Il existe un objet. L'objet possède une collection d'éléments similaires. J'ai besoin de stocker cet objet. Exemple, disons que l'objet est un arbre et qu'il a une collection de feuilles.
Option 1: la structure traditionnelle de type SQL: (. Avec ArbreID comme identificateur pour une rangée dans le tableau)
- Tableau de l'arbre
- Table pour les feuilles (où chaque feuille a un TreeId et pour montrer les feuilles d'un arbre, je demande toutes les feuilles où le TreeId est l'Id de l'arbre.)
- Ici, la structure de l'arbre NE DOIT PAS avoir un champ avec des feuilles.
Option 2: ORM/GAE Tables: En utilisant le même exemple ci-dessus,
- J'ai un objet pour l'arbre où l'objet a une collection (Set/Liste en Java/C++) de feuilles.
- I stocker et récupérer l'arbre avec les feuilles (comme les feuilles sont mises en œuvre comme un ensemble dans l'objet Arbre)
Ma question est, sera la deuxième moins efficace que la première option?
Si oui, pourquoi? Y a-t-il d'autres alternatives?
Merci!
La réponse à cette question dépend de l'efficacité avec laquelle vos alternatives ont été implémentées. Si vous prenez un SGBD rapide, vous obtiendrez de bonnes performances. La banque de données Google est censée être efficace et évolutive, mais vous devrez la tester en tenant compte de votre modèle d'utilisation. En ce qui concerne ORM - en général, il ajoute une couche entre vous et la base de données de sorte qu'il affecte légèrement les performances. –