Vos exigences abstraites me crient "PostgreSQL". Cependant, je pense que cela vaut la peine de se tenir au courant de ce que fait la bourgeoisie, alors voici une liste de diverses choses que vous voudrez peut-être vérifier.
Trucs gratuits
- CouchDB - l'une des premières bases de données NoSQL, puissant système de requête de cartographie / réduction, hautement distribué et tolérant aux pannes. L'un des meilleurs prétendants à NoSQL.
- Hyperdex - toute nouvelle table de hachage distribuée avec des capacités de recherche.
- Riak - table de hachage distribuée digne d'un certain respect.
Trucs gratuits étranges
- Metakit - plus d'une base de données intégrée comme SQLite mais pas basée sur SQL, donc plus procédurale.
- FramerD - un peu comme une base de données "réseau" classique, très centrée sur le pointeur. Peut-être mort?
- Magma - Smalltalk OODBMS. Cool mais pas bien documenté.
Trucs non gratuits
- AllegroGraph - Base de données RDF (graphique), prend en charge SPARQL. Saveur Lisp.
- Caché - une base de données relationnelle / OO hybride, basée à l'origine sur MUMPS (IIRC).
- Objectivité - L'un des derniers très gros OODB. Très puissant, impressionnant et cher.
- VoltDB - Base de données principalement relationnelle hautement évolutive. Prend en charge "la plupart" SQL. Tout nouveau. Je suppose qu'ils ont aussi une version communautaire.
Conclusion
Je n'ai utilisé aucune de ces choses de façon intensive. J'ai joué un peu avec la plupart d'entre eux et je me suis toujours retrouvé avec PostgreSQL. Au vu de vos besoins, le seul PostgreSQL qui ne répond pas dès le départ est l'évolutivité. D'un autre côté, pour mes besoins, il est beaucoup plus facile de lancer 4000 $ de matériel sur une seule machine de base de données dédiée que de lancer 4000 $ de nœuds cloud ou de machines bas de gamme à ce problème. Et il existe des moyens d'atteindre l'évolutivité avec PostgreSQL, comme avec EnterpriseDB .
C'est très amusant de jouer avec ces choses sur le côté, mais quand vient le temps de mettre des données de production précieuses et irréproductibles dans quelque chose, un tas d'attributs ennuyeux comme la fiabilité, la stabilité et la viabilité à long terme se retrouvent au premier plan.
Expérience de pensée pour vous
Considère ceci. Imaginez que vous êtes Mark Zuckerberg, et vous devez choisir de renoncer à votre base de code ou à vos données. Vous pouvez conserver toute votre équipe de développement, mais vous devez soit abandonner tout votre code - chaque ligne, dire même à tous les développeurs les souvenirs de la façon dont ils ont tout implémenté - mais vous pouvez garder tous vos comptes d'utilisateurs et tous vos utilisateurs téléchargés données et tout ça, ou vous pouvez renoncer à toutes les données. Conservez toutes les structures et serveurs et la configuration, la configuration, mais perdez chaque ligne de chaque table de chaque base de données.
Il devrait être évident qu'il serait pire de perdre les données. Pourquoi tous vos utilisateurs régénéreraient-ils toutes ces données? Pensez à toutes les données marketing perdues, c'est ainsi que Facebook gagne réellement de l'argent. Et il y a des tonnes d'entrepreneurs qui salivent à l'occasion d'amener les gens à utiliser leur clone Facebook - maintenant tous ces anciens utilisateurs de Facebook privés de leurs droits seraient là-bas à envisager des alternatives. D'un autre côté, s'ils perdaient la base de code, ils pourraient la reconstruire, probablement encore mieux qu'aujourd'hui, mais ils pourraient avoir quelque chose en ligne en très peu de temps. Heck - ils pourraient probablement acheterFacebook clone la base de code de quelqu'un d'autre et chargez-le avec les vraies données, mais vous ne pouvez pas simplement copier leurs données. Si Facebook a toujours les données importantes de tout le monde sur ses serveurs, l'incitation à partir est beaucoup plus faible. Encore mauvais, mais beaucoup moins. Étonnamment moins.
L'ironie est qu'il est beaucoup plus facile de perdre toutes vos données dans un accident bizarre que de perdre tout votre code. Pour la plupart des entreprises Internet, cependant, les données est la société, il est votre atout le plus précieux. Et c'est une bonne raison d'envisager l'utilisation d'une base de données relationnelle traditionnelle, éprouvée, ancienne et non sexy.