NoSQL Por una variedad de razones, las empresas confían en la tecnología de bases de datos relacionales que existe desde hace décadas. Las aplicaciones de misión crítica de ejecución prolongada suelen estar respaldadas por bases de datos relacionales, que cuentan con tecnología robusta y soporte experto. Sin embargo, a medida que se desarrollan nuevos casos de uso y aplicaciones de Big Data, las empresas recurren a la tecnología de base de datos NoSQL para satisfacer sus necesidades.
En comparación con las bases de datos relacionales tradicionales, las bases de datos NoSQL proporcionan un modelo de datos más flexible, escalabilidad horizontal y mayor rendimiento. Sin embargo, estas ventajas vienen con ciertos problemas de la base de datos NoSQL.
Desafíos de NoSQL:
- Copias de seguridad en coherencia con la aplicación: determinar la secuencia de cambios en las réplicas, que es fundamental para seleccionar qué valores deben componer una instantánea, es una dificultad típica en los sistemas de replicación basados en quórum. Por ejemplo, es difícil determinar un orden riguroso entre dos requests de escritura en el mismo objeto de base de datos que llegaron a dos Nodes distintos al mismo tiempo. Como resultado de la ausencia de pedidos, es difícil determinar el valor más reciente de un elemento de la base de datos en un momento dado.
- Madurez: los defensores de NoSQL estarían de acuerdo en que las crecientes demandas conducirán inevitablemente a la obsolescencia, pero el ciclo de madurez de RDBMS parece ser más seguro. RDBMS es más confiable y funcional ya que existe desde hace décadas. Muchas alternativas de NoSQL aún se encuentran en la etapa de preproducción y aún no tienen implementadas todas sus características esenciales.
- Fallos de Nodes y bases de datos durante las copias de seguridad y restauraciones: los fallos de Nodes son comunes en las bases de datos NoSQL, ya que están diseñadas para crecer a cientos de Nodes. Como resultado, cualquier método de copia de seguridad debe tener en cuenta las fallas en la recopilación de datos de los Nodes inactivos y su influencia en la consistencia del quórum. Por otro lado, las restauraciones deben tener en cuenta los Nodes de clúster fallidos y modificar la población de datos en consecuencia.
- Analítica e inteligencia de negocios: NoSQL fue creado para satisfacer las necesidades de las aplicaciones Web 2.0, por lo que todas sus características están orientadas a ese objetivo. Otros sistemas comerciales, por otro lado, requieren ir más allá del ciclo insertar-leer-actualizar-eliminar. Incluso las consultas más básicas necesitan amplios conocimientos de programación, y las herramientas de BI integradas son insuficientes.
- Rendimiento: considere el mismo sistema que antes en términos de rendimiento (RPO y RTO). Debido a que es imposible paralelizar el procesamiento de archivos de base de datos más allá de cierto punto, será imposible lograr los SLA del cliente en términos de RTO si el procesamiento por fila es lento. Debido a las mismas limitaciones de paralelización, los procedimientos de recuperación también se ven afectados. Esto significa que el procesamiento de respaldo y recuperación para 100 mil millones de filas de más de 10 millones de archivos debe ser rápido, y una solución debe minimizar drásticamente el procesamiento de archivos de base de datos por fila y por archivo.
- Integridad de los datos: la verificación de la integridad de los datos a nivel de bloque es otro problema con las bases de datos NoSQL distribuidas. La suma de comprobación funciona para bases de datos ampliadas porque los datos restaurados son físicamente idénticos a los datos de la copia de seguridad. Los datos restaurados en las bases de datos de escalamiento horizontal son semánticamente comparables a los datos de copia de seguridad, pero no son físicamente idénticos. En esta situación, tendremos que idear un método único para identificar la equivalencia semántica entre los datos recuperados y los respaldados, lo que nos permitirá detectar problemas de corrupción de datos que puedan surgir durante el proceso de respaldo y restauración.
- Experiencia: a pesar de que hay millones de desarrolladores en todo el mundo, la mayoría de ellos están familiarizados con la arquitectura RDBMS. Se debe considerar que todos los desarrolladores de NoSQL se encuentran en las primeras etapas de sus carreras y aún no han alcanzado el estatus de expertos. Si bien este problema finalmente se resolverá, ahora es difícil seleccionar el revelador correcto.
- Eliminación de duplicados: en los sistemas de bases de datos tradicionales, la eliminación de duplicados es simple: un bloque con valores bit a bit idénticos. Las copias de datos no siempre son idénticas en los sistemas de almacenamiento de bases de datos NoSQL modernos porque la secuenciación y el vaciado de cambios varían entre Nodes, lo que crea un nuevo desafío para la deduplicación.
Debido a sus mayores capacidades/capacidad y economías, las bases de datos NoSQL se están volviendo más populares. Sin embargo, los desarrolladores deben tener cuidado y ser conscientes de los límites reales del sistema.
Publicación traducida automáticamente
Artículo escrito por kandulasundar3036 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA