Question

  1. Puis-je savoir dans "NOSQL" Il y a une limitation comme bigtable où nous devrions "dénormaliser" notre table / entité?

  2. n'importe quel emballage API qui permettons d'écrire du code une fois et peut être utilisé pour Google App Moteur Bigtable et NOSQL?(quelque chose comme Hiberanate)

Était-ce utile?

La solution

Oui, par exemple dans MongoDB, vous n'avez pas de jointures car il est non relationnel , donc cela change comment nous stockons et parcourez les données.

Comme MongoDB est non relationnel (non joint), références ("clés étrangères") entre les documents sont généralement Côté client résolu par additionnel requêtes sur le serveur. Deux conventions sont courants pour les références à MongoDB: premières références manuelles simples, et Deuxièmement, la norme DBREF, laquelle beaucoup Les conducteurs soutiennent explicitement.

Il semble que le consensus soit à dénormaliser et en dupliquer pour accélérer les lectures afin d'éviter le coût de la jonction des données distribuées tout au long de la logique, avec la logique de jointure et de la fusion effectuées sur le niveau d'application.

Quant à savoir s'il est une exigence absolue de dénormaliser la base de données, je ne suis pas sûr (d'autres membres peuvent probablement nous éclairer). Mais je pense que la base de données devrait être modélisée avec ces "limitations" dans l'esprit avec une bonne étude de comment les données vont être interrogées . Cela devrait donner le moins d'impédance au processus.

Voir aussi:

Théorie de la technologie de base de données Bigtable

GAE - Comment vivre sans jointures?


n'importe quel emballage API qui permettons d'écrire code une fois et peut être utilisé pour Google Moteur d'applications Bigtable et Nosql? (quelque chose comme hibernate)

JDO est datasore-agnostique , il pourrait donc simplement fournir ce que vous voulez dans une certaine mesure.

semble qu'il y ait beaucoup de projets récents à utiliser JDO et JPA avec des produits "NOSQL".

Voir:

Datanuclevéus-Cassandra

Datanucleus-Cassandra-Plugin

Autres conseils

Tout emballage d'API qui permettons d'écrire du code une fois et peut être utilisé pour Google App Moteur Bigtable et NOSQL?(quelque chose comme hibernate)

Bien que les bibliothèques d'abstraction aident définitivement la portabilité, vous devez prendre en compte la plate-forme particulière que vous utilisez.Si vous allez utiliser Google App Moteur, vous devez être conscient du Frais de démarrage engagés inhérents aux bibliothèques d'abstraction supplémentaires .

Vous devez peser les avantages et les inconvénients d'utiliser quelque chose comme JDO ou JPA.Jetez également un coup d'oeil sur le ObjectFerrer"> ObjectFerfer la bibliothèque offrant une interface plus native qui a lainconvénient d'être couplé à l'application DataStore du moteur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top