2008-09-20 21 views
6

Necesito una tabla hashtable/binarytree .Net persistente, funcionalmente similar a berkeley-db Java edition.Tabla binaria/hash binaria persistente en .Net

Funcionalmente debería funcionar en un generador similar a un DHT como memcached y velocidad, etc., pero no tiene que ser distribuido. En esencia, estoy buscando una tabla hash persistente.

¿Alguien tiene alguna idea o sugerencia?

Una pregunta similar es también aquí: Looking for a simple standalone persistent dictionary implementation in C#

Paul

+0

¿Estás diciendo que quieres una base de datos? ¿O que quieres poder escribir una tabla hash en el disco y leerla de nuevo? ¿O algo mas? –

+0

Necesito un sistema basado en .Net puro similar al berkeley db. – Kinlan

+0

Puede enlazar mi pregunta a http://stackoverflow.com/questions/100235/looking-for-a-simple-standalone-persistant-dictionary-implementation-in-c –

Respuesta

0

¿Ha intentado utilizar la estructura en colecciones en System.Collections.Generic? Y usar la serialización para llevar a ese cachorro a un documento XML o algo similar.

+0

Eso estaría bien quizás para colecciones pequeñas, pero necesito escalar a la región TB. – Kinlan

1

Puede considerar Caching Application Block o System.Web.Caching. Ambos tienen métodos para conectarlos a una base de datos de SQL Server como backing store.

El otro método sería simplemente serializar el objeto utilizando un formateador XML o binario. (que se puede usar para la clonación profunda por cierto)

+0

gracias por los pensamientos, pero ninguno de estos son la respuesta. Básicamente, el archivo berkely db es un árbol binario permanente o una tabla hash y puede tener muchos TB de tamaño. Lo que pasa con el bdb es que se trata de un db incorporado, que es lo que necesito, por lo que el servidor sql también está fuera de cuestión. – Kinlan

1

Como alternativa, puede buscar utilizar un motor de índice como Lucene.net.

Lo que le daría más de una lista sería una mejor indexación y creo que la capacidad, aunque ese no es realmente el uso previsto. El uso previsto es analizar archivos, pero también se puede usar para analizar bases de datos. En mi lugar de trabajo anterior, utilizaron Lucene (implementación de Java) para indexar nuestro catálogo de productos por categorías de datos de la base de datos.

+0

Un caso de uso que tengo realmente encaja muy bien en lucene.net. gracias por el rec. – Kinlan