Question

Je recherche une bibliothèque + un serveur raisonnablement bien testé pour stocker une table de hachage distribuée persistante.

J’hésite à utiliser des solutions SQL car les données sont fortement documentées et consistent en des millions de blobs d'environ 64 Ko avec un seul index (calculé par le hash de BLOB) - et doivent pouvoir être distribués pour perspectives d'évolution à long terme.

Pour des raisons de dépenses et de bande passante, les solutions externes telles que S3 ne sont pas une option.

Quelque chose comme CouchDB ou Project Voldemort serait idéal - cependant, il existe un manque notable de liaisons .NET pour les deux (le PV peut être IKVMC depuis Java - mais a des "problèmes"). La clé et la valeur sont des tableaux d'octets (la clé est de 16 octets, la valeur peut aller jusqu'à 2048 Ko, avec une moyenne de 64 Ko)

J'ai jusqu'à présent recherché un type de port .NET pour Dynamo, Chord et similaires - mais la majorité des résultats semblent être des caches purement en mémoire et ne présentent aucune forme de persistance ou de réplication.

Quelqu'un a des idées ou des suggestions?

Était-ce utile?

La solution

Consultez la Rhino DHT d'Ayende. Pourrait être plus en ligne avec ce que vous recherchez. La source peut être acquise ici .

Autres conseils

DryadLINQ ou Hadoop.Net peut vous aider.

Hadoop.Net est la version Hnetop dotnet. Pour en savoir plus sur Hadoop, ici

Je pense en fait que vous devriez envisager SQL Server 2008. Stockez les données dans une table avec une colonne varbinary (max), ainsi qu'une colonne contenant le hachage de cette colonne. Indexez le hachage, comme vous l'avez suggéré.

Vous pourrez alors utiliser les différentes fonctionnalités de distribution du produit.

Envisagez de MS Velocity .

Résumé: «Velocity» est une plate-forme de cache d’applications distribuée en mémoire permettant de développer des applications évolutives, disponibles et à hautes performances. «Velocity» fusionne la mémoire de plusieurs ordinateurs pour donner aux applications une vue unique du cache. Les applications peuvent stocker n'importe quel objet CLR sérialisable sans se soucier de l'endroit où l'objet est stocké. L'évolutivité peut être obtenue en ajoutant simplement plus d'ordinateurs à la demande. «Velocity» permet également de stocker des copies de données sur le cluster, protégeant ainsi les données contre les défaillances. «Velocity» peut être configuré pour fonctionner en tant que service accessible via le réseau ou intégré à l’application distribuée.

Vous pouvez essayer StorageEdge car il dispose de la technologie NCache. Vous pourrez ainsi utiliser le cache distribué, ce qui améliorera les performances, la fiabilité et l’évolutivité de SharePoint tout en optimisant son stockage.

Voici un lien vers la page d'accueil de StorageEdge http://www.alachisoft.com/storageedge/ I espérons que cela vous aidera:)

Reste pour .NET, vous pouvez toujours essayer NCache, un nom important dans la mise en cache distribuée. Vous trouverez ses détails sur http: //www.alachisoft.com/ncache/

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