¿Cuál es la diferencia entre Google Cloud Spanner y Cloud SQL?

La principal diferencia es que Spanner es escalable horizontalmente, mientras que Cloud SQL no lo es.

para Cloud SQL puede seleccionar el tipo de máquina, tipo de disco duro y tamaño, región y zona. El rendimiento máximo de datos a través de la red es de 2000 MB / s. Estás limitado a tener todo en un servidor, así que ese es básicamente tu límite.

La eficiencia de Spanner depende, por otro lado, del número de nodos que se utilizan. con cada nodo, el rendimiento aumenta para que pueda escalar horizontalmente simplemente agregando nodos (solo cambie un dígito en la configuración, eso es todo :)). Cada nodo tiene 2 TB de almacenamiento y la posibilidad de 10000 QPS de lecturas o 2000 QPS de escrituras.

Por supuesto, la velocidad también depende del esquema y el modelado de la base de datos.

con respecto a los precios, Spanner es más caro, cuesta 0.9 $ por hora (~ 650 $ por mes). Con CloudSQL depende del tipo de instancia, por lo que es posible ajustarlo según las necesidades.

Spanner no es para sus necesidades genéricas de SQL … La llave se utiliza mejor para oportunidades de escala masiva … Miles de escrituras por segundo, a nivel mundial. 10,000s – 100,000s de lecturas por segundo, a nivel mundial.

Esos volúmenes son extremadamente difíciles de lograr con SQL / mySQL “normal” sin realizar un fragmentación compleja de la base de datos. Spanner se ocupa de todo esto Y permite actualizaciones de ACID (que es básicamente imposible con bases de datos fragmentadas). Lo logran con relojes súper precisos para manejar conflictos.

Por lo tanto, no equipare Spanner a Cloud SQL … Spanner es una herramienta especial que cambiará la forma en que realiza un trabajo relacional global a escala masiva. No es para administrar su lista de clientes.

Hay muchas similitudes entre estas ofertas en que ambas admiten una consistencia sólida y una sintaxis SQL para consultar la base de datos. Sin embargo, los dos productos están en diferentes niveles de madurez (Cloud SQL está generalmente disponible mientras Cloud Spanner está en versión Beta a partir de este escrito), y Cloud SQL tiene una mayor compatibilidad con el código de cliente SQL existente (por ejemplo, ofrece un proxy que permite la interacción de los existentes Clientes SQL y bibliotecas creadas para MySQL), mientras que Cloud Spanner proporciona un conjunto de características más amplio (como consultas con límite de tiempo que permiten realizar lecturas más rápidas si está viendo datos obsoletos) pero, debido a esto, también asume la interacción a través de Cloud Spanner API y no una biblioteca o cliente SQL tradicional.

Aparte de la gran diferencia de precio (la llave cuesta mucho más), la verdadera diferencia es:

  • la llave no es compatible con ANSI SQL
  • la llave no proporciona funcionalidades RDBMS completas
  • la llave tiene su propia API no compatible con las API de db existentes

eso significa que, una vez que trae su código a la llave inglesa, no puede volver a mysql o dbs similares, sin reescribir gran parte de él.

Bajo el capó, ambos usan la misma maquinaria de ejecución, por lo que debería ver un rendimiento muy similar para ambas API.

Además, las diferencias entre ambos requieren cargas de trabajo y cierto tipo de aplicaciones.