¿Puede CouchDB manejar miles de bases de datos separadas en la misma máquina?¿Puede CouchDB manejar miles de bases de datos separadas?
Imagine que tiene una colección de BankTransaction
s. Hay muchos miles de registros. (EDITAR: no almacenar transacciones, solo piense en un gran número de registros muy pequeños y que se actualizan frecuentemente. Básicamente es una tabla de unión de SQL-land.)
Cada día desea obtener una vista resumida de las transacciones que ocurrieron solo en su sucursal bancaria local. Si todos los registros están en una única base de datos, la regeneración de la vista procesará todos de las transacciones de todos de las ramas. Este es un trabajo mucho más grande e innecesario para el usuario que solo se preocupa por su subconjunto particular de documentos.
Esto hace que parezca que cada sucursal bancaria debe ser particionada en su propia base de datos, para que las vistas se generen en trozos más pequeños, e independientemente el uno del otro. Pero nunca escuché que alguien lo haya hecho y parece un antipatrón (por ejemplo, duplicar el mismo documento de diseño en miles de bases de datos diferentes).
¿Hay alguna otra manera de modelar este problema? (¿Las particiones deben realizarse entre máquinas separadas, no bases de datos separadas en la misma máquina?) En caso negativo, ¿puede CouchDB manejar las miles de bases de datos que se necesitarán para mantener las particiones pequeñas?
(Gracias!)
Para responder a su pregunta, sí. ** PERO **, es arriesgado usar almacenamiento no transaccional para la transacción ... – ajreal
@ajreal CouchDB es transaccional, de lo contrario no pasaría el cumplimiento de ACID. Cada documento escrito es transaccional a nivel de documento. Simplemente no puede realizar una transacción en> 1 documento a la vez. –