58 votes

Proposer une base de données NoSQL simple pour un projet Java

Je suis en train d'élaborer un simple usage interne de l'application avec un utilisateur a l'intention de base de près de 100 personnes. L'application fait beaucoup de lectures et très peu écrit. Le jeu de données de taille est assez petite et nous ne voulons pas utiliser un SGBDR si possible. En fait, le relationnel exigences sont assez petits. Je suis à la recherche à l'aide de certaines bases de données NoSQL et je suis à la recherche d'un avec les exigences suivantes.

  1. Simple, stable de mise en œuvre qui peut être facilement accessible à partir de Java (j'.e a un client Java).
  2. Je voudrais être en mesure d'exécuter une application de test à partir d'une boîte de Windows, bien que le déploiement final est sur une machine Linux.
  3. Le programme d'installation de la NoSQL DB devrait être minime.
  4. Je ne suis pas concerné par la mise à l'échelle DB parce que nous nous attendons à limiter la taille du jeu de données et de l'assiette des données anciennes de temps en temps.

Toute suggestion serait utile. Je suis en train d'examiner redis + jredis

EDIT: Une de mes principales motivations pour ce projet est aussi à chercher dans le modèle de programmation et les moyens de l'utilisation de NoSql DBs. Je comprends que je peux utiliser des fichiers plats, des gouttes etc.

44voto

Lvca Points 3549

Certainement OrientDB (http://www.orientechnologies.com):

  • Il est 100% écrit en Java (nécessite JRE 1.6 pour la version client/serveur, sinon JRE 1.5)
  • Élégant Api Java
  • Vraiment rapide. Environ 50.000 insérer/sec sur la commune de HW
  • Petit: moins de 1 mo pour tous
  • Prise en charge de SQL avec l'extension des liens, des graphiques et des objets
  • La prise en charge Native pour la Sécurité
  • Exécuter en tant qu'incorporés ou dans configuration client/serveur. Les prochaines versions seront de prendre en charge le clustering et de partitionnement
  • Apache 2 licence: gratuit pour toute utilisation
  • Beaucoup plus

22voto

gpampara Points 5286

J'ai eu beaucoup de succès avec Neo4J . La base de données étant intégrée, l'effort nécessaire à l'exécution du système est minimal. De plus, l'interface client avec la base de données est un plaisir de travailler avec.

La configuration complète comprend deux fichiers jar supplémentaires sur le chemin de classe.

5voto

Buhake Sindi Points 38654

Si vous êtes à la recherche d'un simple stable de la mise en œuvre d'un système de bd NoSQL, ne cherchez pas plus loin que Apache (ils ont plus de 10 ans d'expérience dans le développement).

Peu de qui vient à l'esprit:

  • CouchDB
  • Cassandra. Développé par Facebook, mais maintenant sous Apache. Twitter, Facebook, Digg, etc. sont l'utilisation de Cassandra. Il est entièrement écrit en Java et peut être consulté via Java à l'aide de l'Épargne ou de l' Avro.
  • Redis (bien que le Redis ne fonctionne pas de manière flexible sur Windows OS). Il est tenu par VMWare.

5voto

Niels van der Rest Points 11802

Une base de données de documents a un modèle de stockage très simple et des capacités de requête élémentaires. MongoDB, par exemple, semble avoir tout ce dont vous avez besoin en termes de compatibilité et est très facile à configurer.

3voto

Roman Points 21807

Je voudrais choisir entre 2 options:

1) Berkeley DB: il est très mature et en même temps très simple valeur-clé de stockage. Il pourrait être le meilleur choix en pas un gros problème: il a été acheté par Oracle et certains problèmes de licence peut se produire maintenant. Lire attentivement info sur la licence et à vos exigences ne rompt pas le contrat, puis aller avec elle.

2) MySql sur MyISAM moteur sans les clés étrangères (c'est à dire plusieurs indépendante, pas de tables normalisées). Vous pourrez l'utiliser comme une valeur-clé de stockage. Lire cette réponse à propos de l'utilisation de MySql NoSql de stockage. Si j'étais à votre place, j'irais avec cette option, tout simplement parce que je sais que ce serait montrer de très belles performances, il y a de maturité des outils pour travailler avec MySql, beaucoup de gens ont de l'expérience avec elle et à tout moment, vous pouvez facilement utiliser tout son potentiel relationnel si vous décidez finalement de revenir à SGBDR solutions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X