En un futuro bastante cercano debo comenzar una aplicación SAAS y me surgen bastantes dudas en relación a la arquitectura de la base de datos. Por lo que he estado leyendo hay tres maneras de hacerlo:
1.- Una base de datos por cada cliente.
2.- Base de datos compartida, un esquema por cada cliente.
3.- Base de datos compartida, esquema compartido.
Por las características del proyecto de momento me decanto entre la 1 y la 2, pero me gustaría saber si hay alguna opción que se haya demostrado ser más eficiente etc. o alguna experiencia o mal trago con alguna de ellas.
No dejes que esto se convierta en un problema de optimización prematura, utiliza simplemente lo más sencillo de implementar en este momento.
Siempre depende del volumen de datos que estemos hablando y de cuantos usuarios esperas tener, pero en la gran mayoría de los casos, usando un simple modelo relacional compartiendo esquemas y bases de datos no vas a tener el menor problema mientras no alcances el orden de millones de registros.
En un futuro bastante cercano debo comenzar una aplicación SAAS y me surgen bastantes dudas en relación a la arquitectura de la base de datos. Por lo que he estado leyendo hay tres maneras de hacerlo:
1.- Una base de datos por cada cliente.
2.- Base de datos compartida, un esquema por cada cliente.
3.- Base de datos compartida, esquema compartido.
Por las características del proyecto de momento me decanto entre la 1 y la 2, pero me gustaría saber si hay alguna opción que se haya demostrado ser más eficiente etc. o alguna experiencia o mal trago con alguna de ellas.
Un saludo y muchas gracias
20/02/2014 13:19
Siempre depende del volumen de datos que estemos hablando y de cuantos usuarios esperas tener, pero en la gran mayoría de los casos, usando un simple modelo relacional compartiendo esquemas y bases de datos no vas a tener el menor problema mientras no alcances el orden de millones de registros.