Base de datos sin servidor: elegir la mejor opción para usted

abril 28

¿Qué es una base de datos sin servidor?

Los proveedores de servicios en la nube ofrecen servicios de computación sin servidor. En este modelo de computación en la nube, el proveedor ejecuta servidores y administra la asignación de recursos de forma dinámica. El costo de la tecnología sin servidor se calcula de acuerdo con los recursos utilizados por la aplicación, no con las unidades de capacidad compradas previamente.

 

Las bases de datos sin servidor son un requisito previo para la informática sin servidor. Están diseñados específicamente para cargas de trabajo impredecibles y que cambian rápidamente. La computación sin servidor todavía requiere servidores, y las bases de datos sin servidor son esenciales para operar esos servidores.

 

 

  • Características de las bases de datos sin servidor
    • Arquitectura multiinquilino
    • Calidad de servicio dinámica
    • Distribución geográfica
    • Lenguaje de consulta transaccional único
  • Elección de una base de datos sin servidor
    • Necesidades del modelo de datos
    • Infraestructura como código
    • Totalmente administrado
    • Modelo de precios
  • Ventajas y desventajas de las bases de datos sin servidor
    • Ventajas de utilizar una base de datos sin servidor
    • Desventajas de usar bases de datos sin servidor

 

Características de las bases de datos sin servidor

Arquitectura multiinquilino 

Una de las ventajas de una base de datos sin servidor es que puede actuar como un único grupo de recursos para varios proyectos de su organización.

 

Para el equipo de desarrollo, esta es una gran ventaja, ya que no es necesario crear fuentes de datos aisladas específicas de la aplicación.

 

Esto es posible gracias a la arquitectura de múltiples inquilinos, que permite a los desarrolladores configurar múltiples aplicaciones y configurar todas las implementaciones en el mismo clúster de base de datos.

Calidad de servicio dinámica

Cuando se usa multicliente, puede asignar a cada inquilino prioridades únicas. En este caso, puede asignar prioridades a inquilinos específicos para usar esos recursos del sistema.

 

This allows operations teams to maximize resource usage across the organization’s projects. You can run your resources at 60-80% utilization; if more than 90% of the peak is observed, the lower priority workloads are suppressed.

Distribución geográfica

Dado que la mayoría de las empresas hacen negocios a escala global, debe proporcionar datos a usuarios de todo el mundo. Al trabajar con una infraestructura que tiene muchos centros de datos en diferentes ubicaciones geográficas, puede proporcionar datos físicamente cerca de sus usuarios, lo que puede mejorar significativamente la experiencia del usuario. 

 

Además, al utilizar alta disponibilidad distribuida geográficamente, existe un menor riesgo de interrupción del servicio. Las bases de datos sin servidor le permiten replicar múltiples conjuntos de datos a nivel mundial sin herramientas adicionales o desarrollo personalizado. Los protocolos integrados en la capa de red de la base de datos sin servidor le permiten responder correctamente a los errores y la degradación del rendimiento.

Lenguaje de consulta transaccional único

Una ventaja clave de una base de datos sin servidor es que le permite servir múltiples aplicaciones usando un almacén de recursos. Sin embargo, aplicar una única estructura de datos o para todas las aplicaciones que usan esos datos puede causar serios desafíos en el desarrollo. Por ejemplo, no es posible almacenar datos en su formato original cuando se utiliza esta estructura.

 

Algunas aplicaciones requieren esquemas de datos sólidos, mientras que otras requieren un modelo de datos sin esquema. La base de datos ideal sin servidor admite datos estructurados y no estructurados, por lo que puede acomodar varios modelos de datos diferentes

 

Serverless databases can make a schema optional. This can help support both structured and unstructured data use cases. It also lets you benefit from the advantages of a schema, without any of its disadvantages (because it’s possible to process data without it).

Elección de una base de datos sin servidor

Serverless databases are available as managed services from public cloud providers like AWS and Microsoft Azure. Serverless applications can also be supported by open source NoSQL databases like MongoDB and Cassandra. Let’s consider the different factors at stake when evaluating databases for a serverless application. 

Necesidades del modelo de datos

El primer factor a considerar son los requisitos del modelo de datos de la aplicación y el grado en que la base de datos cumple con estos requisitos.

 

Amazon ha promovido el concepto de una base de datos diseñada específicamente. La idea aquí es que en el pasado, la mayoría de las aplicaciones se vieron obligadas a utilizar bases de datos relacionales. Hay muchos tipos de bases de datos diferentes para elegir, y todos ellos pueden usarse para impulsar bases de datos sin servidor. Elija el que mejor se adapte a su aplicación:

 

  • Relacional / SQL / normalizado-improves query flexibility at the expense of performance. For example, MySQL, PostgreSQL and Raima Database Manager
  • NoSQL / desnormalizado-optimizes read-time queries at the expense of denormalized data sets and more difficult querying. These include MongoDB, Cassandra, and DynamoDB.
  • Casos de uso específicos-a database for a specific purpose, such as Elasticsearch for full-text search, Neo4J for graph modeling, or Redis for in-memory operations and ultra-high performance.

 

La mayoría de las aplicaciones tienen datos que se ajustan a una de las dos primeras categorías. La elección es flexibilidad frente a rendimiento. Si sus patrones de acceso a los datos pueden cambiar y necesita flexibilidad, utilice una base de datos relacional. Utilice una base de datos NoSQL para lograr un alto rendimiento a escala.

Infraestructura como código

Infrastructure as Code (IaC) se está convirtiendo en la mejor práctica para desarrolladores y especialistas en TI. IAC le permite definir completamente la infraestructura mediante un archivo de configuración, implementarlo a pedido y realizar actualizaciones de manera coherente y repetible.

 

This approach is especially useful for serverless applications and applications, where the infrastructure is tightly integrated. Serverless applications include queues, streams, blob storage, with event triggers connecting them together. If your serverless application doesn’t use IaC, it can be very difficult to manage, and therefore your serverless database must also support IaC.

Totalmente administrado

La idea detrás de la tecnología sin servidor era trasladar las pesadas tareas de infraestructura a los proveedores de la nube, liberando tiempo de desarrollo. Es natural extender esto también a la base de datos y depender de una base de datos administrada para evitar el mantenimiento relacionado con el parcheo, las actualizaciones y el escalado de la base de datos. Sin embargo, para algunos casos de uso, las bases de datos administradas pueden no proporcionar una solución óptima y pueden ser menos personalizables para casos de uso específicos. La alternativa es ejecutar una base de datos independiente como MongoDB y usarla para servir sus aplicaciones sin servidor.

Modelo de precios

Muchas aplicaciones sin servidor utilizan un modelo de precios de pago por uso. En AWS Lambda, paga por los cálculos reales realizados por su función Lambda, independientemente de la cantidad de tráfico o el tiempo de ejecución de la función. De manera similar, servicios como Amazon SQS, SNS y API Gateway utilizan un modelo de precios de pago por uso.

 

El pago por uso en el mundo de las bases de datos es ligeramente diferente. Esto se debe a que debe pagar por el almacenamiento además de la potencia informática necesaria para acceder a los datos. Sin embargo, el almacenamiento suele tener un precio por GB y aún puede ser mucho más rentable que pagar por un AWS EBS volumen adjunto a una instancia informática.

Ventajas y desventajas de las bases de datos sin servidor

Ventajas de utilizar una base de datos sin servidor

Comprar una cantidad fija de servidores y usarlos para entregar una base de datos sin servidor es complejo y, por lo general, proporciona una baja utilización, lo que lo hace mucho más costoso que usar una base de datos administrada sin servidor. Las opciones de base de datos administrada también eliminan los costos operativos como licencias, instalación, mantenimiento, soporte y parches.

 

En una arquitectura sin servidor, los desarrolladores y operadores pueden ahorrar tiempo al no tener que configurar y ajustar estrategias de autoescalado. Los proveedores de la nube son responsables de ampliar la capacidad para satisfacer la demanda sin problemas. Ahora, un pequeño grupo de desarrolladores puede desarrollar aplicaciones de forma independiente, sin necesidad de equipos de soporte de ingeniería o infraestructura. 

Desventajas de usar bases de datos sin servidor

Infrequent use of a database can result in higher database response latency, compared to databases running actively on dedicated servers, virtual machines, or containers. This happens because the cloud provider spins down the server when the serverless database is not used. The longer the startup time, the longer the wait time. This problem can be mitigated using features like AWS Lambda’s provisioned concurrency.

 

La informática sin servidor tampoco es adecuada para determinadas cargas de trabajo informáticas, como la informática de alto rendimiento. La razón es que el proveedor de la nube impone ciertos límites de recursos, que no permiten un rendimiento o rendimiento extremos. Otra razón es que puede ser más rentable configurar la cantidad requerida de servidores y ejecutarlos durante un período de tiempo específico para lograr los rendimientos o la capacidad de cálculo requeridos.

 

Monitoreo sin servidor is much more difficult than in traditional server infrastructure. Diagnosing performance or excessive resource usage problems can be difficult. You can reserve all the features, but you can’t attach a profiler, debugger, or APM tool to study the details.

 

Los entornos que ejecutan arquitecturas sin servidor generalmente no son de código abierto, lo que dificulta la replicación precisa de las características de rendimiento en un entorno local. Afortunadamente, ya están surgiendo buenas herramientas de supervisión sin servidor que pueden resolver este problema.

 

Las bases de datos sin servidor pueden confundirse con ser más seguras que las bases de datos tradicionales. Es cierto que los proveedores de la nube toman las medidas necesarias para abordar las vulnerabilidades del sistema operativo. Sin embargo, la vulnerabilidad a los ataques en realidad podría ser mucho mayor, porque la aplicación tiene más componentes que una arquitectura tradicional, y todos ellos son puntos de entrada para aplicaciones sin servidor. Los enfoques de seguridad que operan a nivel de servidor o de punto final no son relevantes en un entorno sin servidor. Las nuevas herramientas de seguridad sin servidor se centran en proteger las funciones individuales sin servidor.

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.