Usted está disfrutando de las siguientes características con su base de datos:
- de utilizarlo en la producción
- Los datos son naturalmente relacional (en relación a sí mismo)
- tasa de inserción enorme (no hay preocupaciones MVCC)
- consultas complejas
- Transacciones
Estos son todos los motivos no para cambiar a CouchDB.
Por supuesto, la historia no es tan simple. Creo que has descubierto lo que muchas personas nunca aprenden: los problemas complejos requieren soluciones complejas. No podemos simplemente reemplazar nuestra base de datos y tomarnos el resto del mes. Por supuesto, CouchDB (y BigCouch) admiten una escala horizontal excelente (¡y también la replicación de centros de datos cruzados!), Pero el costo será reescribir una aplicación de producción. Eso no está bien.
Entonces, ¿dónde puede beneficiarse CouchDB?
Sugiero que comience aumentando su aplicación con aplicaciones CouchDB. Implemente CouchDB, importe sus datos en él y cree aplicaciones que no sean de misión crítica. Vea dónde encaja mejor.
Para su proyecto, estos son los puntos fuertes CouchDB:
- Es una herramienta sencilla pequeña — fácil para que usted instale en una estación de trabajo o servidor
- Es un servidor web. Integra muy bien con su infraestructura y políticas de seguridad.
- Por ejemplo, si usted tiene una política flexible, simplemente configurarlo en su LAN
- Si usted tiene una red estricta y la política de cortafuegos, puede configurarlo detrás de una VPN, o con sus certificados SSL
- Con ese paso hecho, es muy fácil de acceder ahora. Simplemente realice solicitudes http o http. Ya sea que esté importando datos de Oracle con una herramienta personalizada o usando su navegador web , todo es lo mismo.
- ¡Sí! ¡CouchDB es un servidor de aplicaciones también! Tiene una aplicación administrativa incorporada, para explorar datos, cambiar la configuración, etc. (como un phpmyadmin incorporado). Pero para usted, el valor será construir aplicaciones e informes de administrador como aplicaciones simples, tradicionales HTML/Javascript/CSS. Puede ser tan elegante o tan simple como desee.
- A medida que el proyecto crece y se convierte en valiosa, que se encuentran en una gran posición para crecer, mediante la replicación
- Cualquiera de ampliar el núcleo con racimos CouchDB grandes
- O replicar sus datos y aplicaciones en diferentes centros de datos, o en estaciones de trabajo individuales, o teléfonos móviles, etc. (la estrategia será más evidente cuando llegue el momento.)
CouchDB le da un servidor web y sitio web sencilla. Le proporciona una API de servicios web incorporada a sus datos. Hace que sea fácil construir aplicaciones web. Por lo tanto, CouchDB parece ideal para extendiendo su aplicación principal, no reemplazando.
¿Necesita realizar alguna transacción?¿Necesita una replicación sincrónica garantizada? – edze
Gracias por su aclaración. Sí; Necesito transacciones PERO puedo tolerar un poco de retraso en la replicación. –
http://stackoverflow.com/questions/299723/can-i-do-transactions-and-locks-in-couchdb – edze