Llegamos a ustedes gracias a:



Noticias

CouchDB 3.0 pone la seguridad primero

[28/02/2020] Apache CouchDB, la base de datos NoSQL alabada por su velocidad y capacidad de consulta, pero ridiculizada por las potencialmente laxas opciones de seguridad por defecto, acaba de lanzar una versión 3.0 que aborda las preguntas de seguridad de frente, haciendo que la base de datos sea ahora "segura por defecto".

La versión 3.0 de CouchDB también aborda algunas de las limitaciones de escalabilidad horizontal de la base de datos, mejora su sistema nativo de búsqueda de texto completo y añade otras optimizaciones de rendimiento.

Desde su inicio, CouchDB ha favorecido lo que sus desarrolladores describen como una filosofía "abierta por defecto", lo que significa que las configuraciones por defecto fueron diseñadas para facilitar la puesta en marcha de la base de datos. Sin embargo, estas opciones predeterminadas también hicieron a CouchDB más vulnerable a los ataques. En el 2017, muchas implementaciones de CouchDB abiertas por defecto fueron vandalizadas.

CouchDB 3.0 sigue muchas de las prácticas de seguridad de la vieja escuela en bases de datos SQL. Debe suministrar una contraseña de administrador al momento de la instalación, y todas las bases de datos recién creadas son accesibles solo para los usuarios administradores del servidor de forma predeterminada, en lugar de ser legibles y escribibles en todo el mundo. CouchDB 3.0 también añade más roles de usuario granulares. Por ejemplo, el nuevo rol de sistema _metrics permite a los usuarios obtener estadísticas de sistema de los puntos finales de la API de CouchDB sin permisos de administrador.

Dos nuevas características tienen como objetivo mejorar el rendimiento, las particiones y la división de los fragmentos. Al configurar CouchDB 3.0, se da la opción de añadir particiones, que agrupan los documentos lógicamente según una clave de partición y los almacenan juntos en un solo shard. La partición acelera las consultas de datos que normalmente se mantienen juntos, ya que el índice no tiene que ser atravesado tanto.

La división de fragmentos es una mejora de la tecnología de fragmentación existente en CouchDB, que permite que una base de datos sea dividida o "dividida" en múltiples nodos. La desventaja: Tiene que decidir cuántos fragmentos y dónde van, en el momento de la instalación; no puede volver a fragmentar después del hecho. La división de los fragmentos permite reequilibrar los fragmentos sin tener que reconfigurar CouchDB. (Sin embargo, todavía no puede fusionar los fragmentos).

Otra característica de CouchDB 3.0 que mejora el rendimiento son los controles de cola de E/S, que le permiten priorizar ciertas clases de operaciones de E/S. Por ejemplo, si tiene una base de datos de lectura pesada, puede optar por permitir que las operaciones de E/S de lectura pasen por alto la cola en aras de la velocidad.

CouchDB 2.0 usaba un sistema de búsqueda agrupado, alimentado por Lucene, aportado por IBM, que tenía la reputación de ser difícil de configurar y trabajar con él. CouchDB 3.0 mejora el proceso de instalación y configuración del paquete Lucene, con gráficos de Kubernetes Helm y recetas de Chef para automatizar el proceso.