2008-08-26 10 views
57

He seguido el proyecto CouchDB con interés en los últimos años, y veo que ahora es un proyecto de incubadora Apache. Antes de eso, el sitio web de CouchDB estaba lleno de no se utiliza para el código de producción tipo de descargo de responsabilidad, por lo que no había hecho más que vigilarlo. Me gustaría conocer sus experiencias si ha estado usando CouchDB ya sea para un proyecto en vivo o un piloto de tecnología.¿Alguien que use CouchDB?

Respuesta

18

Conocí a una de las personas (Jan) que trabajaba en ella hace un tiempo (como 6 meses) y he estado jugando con ella desde entonces. Encontré que la comunidad en torno a CouchDB era a la vez muy eficiente y servicial, por lo que cada vez que encontraba un problema, lo resolvía en cuestión de minutos u horas como mínimo.

Acabamos de iniciar un proyecto la otra semana que básicamente requiere que almacenemos datos de forma no relacional y debido a la tienda de documentos orientada a CouchDB, lo seleccionamos como una de las tecnologías a utilizar. Así que esta es realmente la primera vez que lo ejecutaré en producción, pero todavía estoy bastante confiado al respecto. :)

Apenas una actualización aquí (2009-10-25):

Nuestra primera CouchDB instalar es de 20 GB, que alberga 40 millones de discos. Ha estado en producción desde enero de 2009, y ha sido genial. Lea (GET) la velocidad es excelente y la usamos como una tienda de datos complejos, y luego solo es de extracción.

Nuestra segunda instalación de couchdb tiene dos bases de datos, una es de más de 160,000,000 documentos (210 GB) y crece entre 150,000-300,000 documentos por día. El otro es solo 35,000,000 de documentos (7 GB). Esta configuración tiene muchas más lecturas y escrituras, y las pruebas iniciales funcionan muy bien. Ver construir en la base de datos de 160,000,000 tomó aproximadamente una semana, pero desde entonces nos hemos actualizado a una instancia más grande de Amazon EC2 y también nos estamos preparando para actualizar a CouchDB 0.10.x (de 0.9.1) ya que esta versión incluye mucho rendimiento mejoras en la construcción de vistas.

+0

esta era la razón por la que lo estaba viendo. Revisamos las bases de datos xml de Xindice y TextML hace unos años para un proyecto que pedía a gritos un almacenamiento de datos no cuadrado. Me pregunto si tuviera que ver el proyecto de hoy, ¿miraría más allá de CouchDB ...? –

+0

@reefnet_alex Bueno, publique un momento sobre cómo le gusta. :) – Till

6

Estoy usando couchdb en algunas situaciones, como una tienda de documentos para http://devk.it (en desarrollo) y en una escala mucho mayor como tienda de plantillas para un sistema distribuido de entrega de correo electrónico.

CouchDB es muy hábil para lo que hace, pero no pude hacer que funcionara a un nivel de concurrencia tan alto como hubiera esperado. También tenga en cuenta que el tamaño máximo del documento es bastante limitado en 1 MB debido al tamaño máximo de búfer de entrada codificado en mochiweb. Sin embargo, puede modificar un archivo de encabezado y volver a compilar para superar este límite.

+0

interesante para escuchar sobre el tamaño máximo del documento y la solución. Devk.it parece que va a ser una aplicación útil –

+5

CouchDB ya anula el límite predeterminado de 1 MB a 4 GB. –

+0

No lo encontré en el momento :) Me alegra ver que esto se ha extendido. –

22

Uso el CouchDB para alimentar una aplicación de Facebook (más de 35,000 usuarios activos mensuales). Durante un tiempo usé MySQL, pero después de trasladar el proyecto completo de Perl a Erlang, decidí buscar el oro y migrar todos los datos a CouchDB y usarlos en su lugar.

CouchDB ha sido una gran tienda de datos para trabajar. Creo que está en camino de convertirse en un jugador importante en servicios basados ​​en web.

+2

Supongo que aún diría que incluso para un proyecto que no iba a utilizar Erlang? –

+0

Sí, definitivamente lo haría. –

3

Por el momento estoy trabajando con CouchDB para una tesis de informática. Estoy escribiendo sobre mis progresos y opiniones en mi blog, http://metalelf0dev.blogspot.com. Creo que el proyecto está bien hecho, pero la documentación existente no está organizada como debería.Un tutorial rápido sobre la interfaz web de Futon podría ser realmente útil para los principiantes. IMHO :)

41

Después de 18 meses de prototipos, probando y esperando a que CouchDb se prepare moved an internal application a CouchDB en diciembre de 2008. Hasta ahora estoy muy feliz con ese movimiento. Nos deshace de muchos objetos del sistema de archivos (archivos PDF y JPEG, ahora almacenados como archivos adjuntos en CouchDB). Esto nos permite deshacernos de NFS y simplificar el clúster/replicar nuestros servidores web de frontend.

Hasta qué punto CouchDB está listo para usted depende en gran medida de la cultura de su organización. Tenemos un equipo de desarrollo interno que mantiene varias aplicaciones internas de Erlang. Como CouchDB está escrito en Erlang y la base de código es bastante decente, nos sentimos seguros de que podríamos solucionar los problemas de tope de show en CouchDB en caso de necesidad, o al menos recuperar nuestros datos. También contratamos a uno de los principales equipos de CouchDB como consultor, por si acaso.

Pero CouchDB seguro no es 1.0 todavía. Hay bloqueos en los procesos de trabajo web todo el tiempo (si los usa mal). La replicación se rompe para nosotros y no obtenemos mensajes de error al respecto. La documentación todavía es muy deficiente. Sin embargo, estoy seguro de que no se comerá nuestros datos y el desarrollo avanza a un ritmo razonable.

Para darle una idea acerca de nuestra aplicación: actualmente nuestra base de datos más grande es de aproximadamente 512000 registros que toman 7,5 GB de espacio de disco.

+11

Wa ahora están funcionando felizmente con una base de datos de 32 GB. – max

+11

Actualización breve: la configuración se está ejecutando ahora durante 6 meses sin mantenimiento en los sitios web internos y públicos. Entonces CouchDB está listo para producción. Al menos para nosotros – max

+1

@mdorseif Realmente aprecio el seguimiento que ha publicado, entonces, ¿cómo está el sofá un año después? :) – David

5

Estoy usando CouchDB para almacenar (y publicar) valoraciones de artículos en mi blog. No es exactamente tráfico pesado, pero hasta ahora ha sido sólido.

También estoy planeando añadir comentarios en algún momento que probablemente también almaceno en CouchDB.

Me ha resultado bastante fácil comenzar, en OSX solo puede descargar CouchDBX para comenzar rápidamente. Yo uso un backend Sinatra con RestClient para interactuar con 'el sofá' a través de verbos HTTP directos y tal.

Muy divertido.

1

Utilicé couchdb dos veces en producción. Primero fue el proyecto de me gusta de wiki y creo que couchdb fue el candidato perfecto para ese rol. Guardar la versión de todos los documentos ayuda mucho. El segundo proyecto fue bastante cargado y la idea fue arrojar datos sociales primero, luego consultarlo con varios filtros. Parecía que las funciones estándar de consulta de CouchDB se ven un poco puras para nuestras necesidades. Pero agregamos a Lucene como un indexador de texto completo y después de eso hacemos muchas consultas durante la parte de Lucene. Y esa solución se ve lo suficientemente bien.