Si sus datos están dentro de 100s de GB o en TBs o estarán allí en un futuro cercano, entonces debería considerar usar bases de datos de ‘big data’ como Hbase, cassandra, etc.
De lo contrario, puede echar un vistazo a las siguientes opciones:
Supongamos que esta es su configuración:
- ¿Qué necesito aprender para crear aplicaciones web increíbles?
- ¿Debo crear un sitio web móvil o una aplicación para mi inicio que requiera la ubicación del usuario?
- ¿Qué experiencias con jQuery Mobile han tenido las personas?
- ¿Qué podemos hacer con lenguajes de programación web que no sean sitios web / aplicaciones?
- ¿Es más fácil el desarrollo web o el desarrollo de aplicaciones móviles?
Opción 1: replicación maestro-esclavo:
En esto, escribe a un servidor llamado maestro y lee de otro llamado esclavo. Los ungüentos también pueden ser múltiples. Esto es ideal para leer aplicaciones pesadas y casi todas las bases de datos relacionales como MySQL, PostgreSQL tienen un excelente soporte para esto.
Se puede aplicar a : MySQL, PostgreSQL, MSSQL (casi todas las bases de datos relacionales)
Dificultad: fácil a moderada
Opción 2: aumentar la potencia del servidor de bases de datos:
Es quizás la forma más fácil y obvia. Simplemente agregue más potencia al servidor de la base de datos, como agregar CPU, RAM o cambiar HDD con SSD.
Se puede aplicar a: Todos
Dificultad: muy fácil.
Opción 3: combinación de 1 y 2:
Significa que puede aumentar la potencia del servidor maestro y puede agregar uno o más servidores esclavos para la lectura.
Se puede aplicar a: MySQL, PostgreSQL, MSSQL (casi todas las bases de datos relacionales)
Dificultad: fácil a moderada
Opción 4: Configuración multimaestro:
En esto puede leer / escribir en cualquier servidor de bases de datos. Es más adecuado si su aplicación es muy pesada pero puede ser difícil de configurar.
MySQL obtuvo la capacidad de varios maestros en versiones posteriores, pero no sé mucho al respecto.
Se puede aplicar a: MySQL, PostgreSQL, etc.
Dificultad: alta
Por lo tanto, cada base de datos se puede escalar, solo depende de sus necesidades y la estructura de la aplicación.
Las sugerencias anteriores son solo para DBMS relacionales, también puede usar bases de datos NoSQL que, según mi conocimiento, son relativamente fáciles de escalar.