Question

Quelle est la base de données la plus rapide et plus stable non-sql pour stocker et traiter les données importantes des milliers demandes au cours de la journée (il est pour le service d'échange de trafic)? J'ai trouvé KDB + et Berkeley DB. Sont-ils bons? Y at-il d'autres options?

Plus de détails ...

Chaque processus serveur jour> 100K visites. Pour chaque visite, je dois lire les statistiques correspondantes de DB, écrire le journal pour DB et les statistiques de mise à jour dans DB, aka 3 opérations avec DB par visite. Le trafic est en constante augmentation. Ainsi, le moteur DB doit être rapide. D'un côté DB sera géré par démon écrit sur C, Erlang ou tout autre langage de bas niveau. D'un autre côté DB sera géré par des scripts PHP.

Était-ce utile?

La solution

Berkely DB est essayé et testé et durci et est au cœur de nombreux systèmes de volume de transaction méga-haut. Un exemple est l'infrastructure de services sans fil qui utilisent d'énormes magasins LDAP (OpenWave, par exemple) pour traiter plus de 2 milliards de transactions par jour. Ces systèmes ont aussi souvent quelque chose comme Oracle dans le mélange trop pour le point dans le temps de récupération, mais ils utilisent Berkeley DB comme caches répliquées.

En outre, BDB ne se limite pas à des paires de valeurs clés dans le simple sens des valeurs scalaires. Vous pouvez stocker tout ce que vous voulez dans la valeur, y compris les structures / dossiers arbitraires.

Autres conseils

Le système de fichiers lui-même est plus rapide et plus stable que presque toute autre chose. Il stocke les données importantes de façon transparente et efficace. L'API est très simple.

Vous pouvez stocker et récupérer à partir du système de fichiers très, très efficace.

Étant donné que votre question est un peu mince sur les « exigences », il est difficile de dire beaucoup plus.

Qu'en est-il Redis?

http://code.google.com/p/redis/

Vous essayez de ne pas encore a lu à son sujet et il semble être assez rapide et stable pour le stockage des données. Il vous fournit également une bonne solution anti-simple point de défaillance, pour autant que je comprends.

Quel est le problème avec SqlLite ? Puisque vous avez déclaré explicitement non-sql, Berkeley DB sont basées sur des paires clé / valeur qui pourrait ne pas suffire à vos besoins si vous souhaitez développer les ensembles de données, plus encore, comment feriez-vous cet ensemble de données se rapportent les uns aux autres en utilisant la clé / paires de valeurs ....

D'autre part, KDB +, en regardant le FAQ sur leur site web est un relationnel base de données qui peut gérer SQL via leur langage de programmation Q ... savoir, si la nécessité de migrer apparaît, il pourrait y avoir accrocs potentiels, tels que les dialectes incompatibles ou d'une requête qui utilise les spécificités de fournisseurs, d'où la possibilité de s'enfermer dans cette base de données et ne pas être en mesure de migrer du tout ... quelque chose à garder à l'esprit pour plus tard ...

Vous devez faire attention à ce que vous décidez ici et regardez dans une perspective à long terme, futures mises à niveau, la migration vers une autre base de données, comment serait-il facile de mettre à l'échelle, etc

Une entrée évidente dans cette catégorie est InterSystems CACHÉ. (Eh bien, évident pour moi ...) Soyez conscient, cependant, ce n'est pas pas cher. (Mais je ne pense pas que KDB + est non plus.)

MongoDB est la plus rapide et la meilleure base de données NoSQL. Jetez un oeil à cette référence de performance .

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