2009-05-06 5 views
3

Nous prévoyons d'utiliser des bases de données OO pour stocker les objets de configuration. Les options sont les suivantes:Quels sont les meilleurs scénarios pour l'utilisation de bases de données orientées objet?

  1. Créez plus de 300 tables relationnelles.
  2. Créez une structure générique avec quelques tables. Nous pensons que cela rendrait le mappage de relation d'objet plus complexe à construire et à maintenir.
  3. Utilisez une base de données OO. Nous testons cela maintenant.

Qu'en pensez-vous?

+0

La question évidente ici est "qu'est-ce que les objets de configuration ressembler?" –

+0

Dépend de beaucoup de langage de programmation que vous utilisez. Quelle langue est-ce? Smalltalk, Java, C quelque chose? –

+0

Nous utilisons C#. –

Répondre

0

Lecture principalement (ou utilisateur unique); relations simples; la profondeur du graphe d'objet contraint; gestion des contraintes non-exigence; et les cas détendus d'utilisation d'identité d'objet favorisent le oo db.

+0

Je pense que c'est le cas. Et la taille de la base de données sera petite aussi. Juste beaucoup d'attributs/champs et classes/tables en fonction du choix –

+0

Dans ce cas, vous pouvez utiliser un objet db ou l'une des nouvelles valeurs-clés persistant "db". Google Redis et (plug;) JRedis sur github et voir si cela fonctionne pour vous. (Aussi pour une approche complète du champ gauche [;]], jetez un oeil à Lua. Il a été inventé spécifiquement pour gérer la configuration dans des systèmes complexes. Son prétendu être le langage de script le plus rapide là-bas.) – alphazero

1

objet DB

  • haute performance
  • plus rapide que sans jointures nécessaires
  • mécanisme Inhérente de versionnage
  • interface de navigation pour les opérations (comme graphique traversal)
  • objet langage de requête de récupérer des objets déclaratif
  • type de données complexe s
  • identité d'objet ie. est égal à() dans lequel objet identité est indépendante de la valeur et des mises à jour
  • facilite le partage Object
  • classes et hiérarchies (héritage et encapsulation)
  • soutien aux relations
  • intégrées avec un langage de persistance comme ODL
  • support pour atomicité
  • soutien aux relations imbriquées
  • modélisation sémantique

Contre

  • Aucune fondation mathématique RDB (voir Codd)
  • contre l'orientation objet
  • persistance difficile pour les structures complexes, certaines données doivent être transitoires

Object-Relational bases de données (Vous avez peut-être vu des UDT!)

  • support pour les types de données complexes comme la collecte, multijeux etc
  • objet de modélisation des données orientées
  • SQL étendue et types riches
  • soutien UDT inhertance
  • langage de requête puissant

Différentes approches (OO, DB relationnelle ou OODB) peuvent être nécessaires pour différentes applications

Références

OODMS manifesto

The Object-Oriented Database System Manifesto

Object Oriented Database Systems

Object Relational Databases in DBMS

Completeness Criteria for Object-Relational Database Systems

Comparaisons

http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems

http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems

Questions connexes