2011-10-24 6 views
2

Il existe des frameworks populaires tels que MyBatis (anciennement iBatis) et Hibernate pour travailler avec des bases de données relationnelles. Puis-je obtenir des conseils de la part de la communauté pour savoir si de tels cadres sont disponibles pour les bases de données NoSQL? c'est-à-dire MongoDB et CouchDB?Structures d'abstraction pour travailler avec des bases de données NoSQL

J'ai vu quelques mentions de JavATE de Theserverside.com, est-ce quelque chose de similaire?

Merci beaucoup.

+0

Veuillez considérer cela comme un wiki. (Dans le formulaire actuel, il y a des votes serrés). – Jayan

Répondre

2

Qu'est-ce que vous essayez d'accomplir par l'abstraction? Typiquement, l'abstraction cacherait l'implémentation particulière ... donc en termes de NoSQL, cela signifierait cacher que vous utilisez Mongo vs Couch (par exemple). Mais NoSQL est un terme générique qui fait référence à 4 classes distinctes de mise en œuvre du stockage de données. Le premier est le graphique (Neo4j), le document (Mongo, le divan), la valeur nominale ou la colonne large (comme Cassandra). Alors qu'une abstraction comme Hibernate aurait du sens dans l'une de ces classes, les abstraire de ce que l'industrie appelle "NoSQL" n'aurait pas beaucoup de sens. Maintenant ... l'abstraction a un sens dans votre code d'application. Dans le monde java, le printemps peut vous aider. Implémentez votre couche d'accès aux données avec un module Spring (tel que spring-mongo, spring-neo4j) par rapport à une interface java qui ne fait que produire des POJO. C'est la façon SOLIDE de toute façon.

0

Je viens de pousser un nouveau projet Spring-Data nommé spring-data-gremlin qui a pour but de faire exactement cela. Il utilise les annotations JPA pour mapper à n'importe quelle base de données Tinkerpop blueprints nosql (OrientDB, TitanDB sont implémentés dès maintenant). Cela signifie que la commutation entre les bases de données nosql blueprints devrait être une question de configuration.

Note: Le projet est aux premiers stades de développement.

0

Hibernate OGM permet d'utiliser l'API Hibernate pour piloter des technologies NoSQL.

Questions connexes