¿Qué base de datos podría escalar mejor para aplicaciones móviles?

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:

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.

¿Qué base de datos es mejor para escalar aplicaciones móviles? Si su aplicación llega al punto donde la base de datos se convierte en un bloqueador significativo debido al tráfico, entonces necesitará ingresar a algunos sistemas y arquitectura de red. La base de datos por sí sola no lo ayudará a escalar. Es probable que necesite una capa de almacenamiento en caché para obtener resultados frecuentes, colas para descargar y administrar el flujo.

Deje de preocuparse por la optimización prematura y preocúpese por sacar algo de código. Tener lo mejor de todo es inútil cuando nadie está usando la aplicación.