Spanner para cargas de trabajo no relacionales

Spanner es un sistema de base de datos altamente confiable y completamente administrado. Mientras que Spanner evolucionó para convertirse en un sistema de administración de bases de datos relacionales. tiene sus raíces como un sistema de almacenamiento de par clave-valor no relacional y conserva la y las características fundamentales de un sistema de este tipo. Por lo tanto, puedes usar Spanner como base de datos no relacional (NoSQL) y migrar desde y otras bases de datos no relacionales con Spanner. Este documento ayuda para que comprendas si Spanner es adecuado para tus y no relacionales.

Las bases de datos NoSQL llegaron a usarse cuando las bases de datos bases de datos carecían de funciones para respaldar las aplicaciones emergentes que requerían una alta escalabilidad, disponibilidad y elasticidad de procesamiento. Lo hicieron sacrificando varios atributos, a menudo, son esenciales para la administración de datos, como las transacciones, coherente y consultas ad hoc. Spanner se creó para brindar compatibilidad la naturaleza exigente de las aplicaciones y las funcionalidades con alta disponibilidad que ofrecen las bases de datos relacionales tradicionales, de modo que los clientes puedan aprovechar de ambos conjuntos de funciones.

Con Spanner, puedes comenzar con una solución simple, tus necesidades de almacenamiento y escalar tu aplicación según sea necesario.

Cómo Spanner cumple con los criterios de las bases de datos NoSQL

Spanner cumple con los siguientes criterios clave para tu de las cargas de trabajo.

Escala y rendimiento

Las bases de datos NoSQL aumentaron su popularidad debido a su capacidad de escalar las operaciones de lectura y escritura horizontalmente. Con Spanner, no tienes que preocuparte por el escalamiento o el rendimiento es una preocupación. Spanner con estilo de par clave-valor las bases de datos pueden escalar horizontalmente para admitir cientos de millones de operaciones de lectura o escritura solicitudes por segundo y petabytes de datos. Procesamiento de Spanner la capacidad escala con la carga de trabajo y mantiene un perfil de latencia baja y coherente incluso cuando tu aplicación escala en varios órdenes de magnitud.

API de NoSQL

Por lo general, se accede a las bases de datos relacionales tradicionales con SQL, que viene con una curva de aprendizaje para los desarrolladores que no están familiarizados con las bases de datos relacionales. Los clientes de estas bases de datos también suelen depender de conexiones persistentes. requerir que se implemente la infraestructura de agrupación de conexiones para escalar. En Por el contrario, la API de Spanner se basa en una solicitud gRPC/HTTP2 y de respuesta ante incidentes que maneja automáticamente las fallas de conexión. Spanner ofrece un entorno sencillo, nativo del lenguaje y eficiente APIs de lectura y escritura NoSQL que no requieren conocimientos de SQL. Además, Los clientes de Spanner no requieren ninguna agrupación de conexiones para a gran escala.

Completamente administrado

Un gran beneficio de las bases de datos NoSQL es que se perciben como más fáciles de administrar. Como servicio completamente administrado, Spanner no coloca carga operativa de los clientes. Spanner no tiene tiempo de inactividad las actualizaciones de software y hardware en segundo plano, mientras se mantiene compatibilidad. La API y la semántica de Spanner son las mismas que si las operaciones se realizaban en una sola base de datos de máquina y no porque requieren conocimientos sobre la arquitectura interna de Spanner. Spanner se ejecuta en implementaciones que varían desde una décima parte de un nodo hasta decenas de miles de nodos, con un escalamiento automático y responsivo con un escalador automático administrado

Datos semiestructurados

Spanner admite tipos de datos flexibles, como JSON y BYTES, que son usarse para almacenar datos semiestructurados o no estructurados. Al igual que otras bases de datos NoSQL, puedes usar estos tipos de datos para evitar especificar todo tu esquema de almacenamiento por adelantado.

Control de acceso

Al igual que otras bases de datos NoSQL, Spanner admite accesos basados en IAM automático. Los administradores pueden configurar y administrar el acceso controlar políticas sin almacenar nombres de usuario ni contraseñas en la base de datos.

En qué se diferencia Spanner de las bases de datos NoSQL tradicionales

Spanner ofrece las siguientes ventajas en comparación con los NoSQL tradicionales bases de datos.

Transacciones

A medida que las aplicaciones aumentan en complejidad, a menudo necesitan realizar varias filas y tablas y transaccionales en la base de datos. Con Spanner, no necesitas deberá migrar a un almacén de datos transaccional a medida que crezca la base de datos Spanner es totalmente compatible con las transacciones de lectura y escritura. Como que cumple con los requisitos ACID, Spanner mantiene la coherencia de la base de datos en todo momento, sin importar el escalamiento.

Modelado de datos

El diseño de esquemas en bases de datos NoSQL puede ser poco natural debido a la necesidad de adaptarse a todos en una tabla y desnormalizarlos por la fuerza debido a la incapacidad de realizar uniones horizontales. Con Spanner, puedes especificar tu esquema sin recurrir a una sola tabla o a la desnormalización. Para optimizar los patrones de acceso que tocan varias tablas, puedes usar la intercalación de tablas. También puedes realizar uniones entre tablas.

Consultas ad hoc

Incluso si usas principalmente la API de NoSQL, suele ser útil ejecutar tareas ad hoc. con fines de depuración o análisis. Spanner cumple con el lenguaje de consulta estándar de SQL. Puedes usar la priorización de solicitudes para aislar el tráfico ad hoc de baja prioridad del tráfico en línea o usar Data Boost de Spanner para ejecutar consultas analíticas en recursos de procesamiento completamente aislados del tráfico de la base de datos en línea.

Índices secundarios con coherencia sólida

Las aplicaciones a menudo requieren índices secundarios para admitir búsquedas de baja latencia. Las bases de datos NoSQL típicas ofrecen índices secundarios con coherencia eventual o, imponer restricciones sobre qué tan grande puede crecer un índice Esto puede complicar la lógica de la aplicación que debe sortear estas restricciones. Spanner ofrece índices secundarios con coherencia sólida a gran escala sin restricciones de tamaño. Esto te permite enfocarte en la lógica de tu aplicación sin preocuparte por problemas de coherencia.

¿Spanner es adecuado para tus necesidades de base de datos NoSQL?

Spanner es un sistema de almacenamiento de datos flexible y NoSQL. Si bien algunas aplicaciones comienzan con necesidades de almacenamiento simples, a medida que aumentan su complejidad, necesitan más funciones que, por lo general, no ofrecen las bases de datos NoSQL, como transacciones, índices secundarios coherentes y un lenguaje de consulta flexible. Con Spanner, no tendrás restricciones debido a estas limitaciones y hacer crecer tu aplicación según sea necesario.

La mayoría de las cargas de trabajo no relacionales son una excelente opción para Spanner. No solo Spanner ofrece una API de lectura y escritura NoSQL sencilla, sino que también cuenta con el respaldo de alta disponibilidad, alta confiabilidad, baja latencia la elasticidad del procesamiento y la escalabilidad extrema. Spanner te permite y consolidar cargas de trabajo diversas en una única plataforma flexible.