Sin categoría

Cuando se trata de tecnología de bases de datos, NorthScale está a favor de la elección

El lunes, el analista Matt Aslett publicó ¿Cómo responderán los pro-SQL a NoSQL? en el blog "Demasiada información" de The 451 Group. Buena lectura. Lo esencial del artículo es lo siguiente: Hay un montón de personas y empresas que van por ahí afirmando que su tecnología de base de datos SQL, memcached o "NoSQL" es "la mejor". El título implica que hay un bando "pro-SQL" y un bando NoSQL enfrentados entre sí, luchando por algún premio. Su conclusión es muy práctica: Esto no debería ser un "nosotros contra ellos". No podríamos estar más de acuerdo. NorthScale no es ni pro-SQL ni NoSQL, somos pro-elección.

Ninguna de estas tecnologías es "la mejor" en sentido absoluto. Pero cada una de ellas puede ser la mejor opción para una aplicación, un caso de uso y un entorno concretos. La tecnología de base de datos relacional es la mejor opción para muchas aplicaciones; la tecnología de base de datos relacional combinada con memcached es la mejor opción para muchas otras aplicaciones; y para otras, las tecnologías de base de datos alternativas representan la mejor opción. Para algunas aplicaciones, está indicada una combinación de estos enfoques. Además de la conclusión de Matt de que "mucho dependerá de la carga de trabajo en cuestión", también es cierto que no se trata estrictamente de una decisión tecnológica. Mucho dependerá también de los conjuntos de habilidades de desarrolladores y operaciones, las inversiones en herramientas, los requisitos de integración, la infraestructura de hardware y muchos otros factores. Inevitablemente, estos factores también influyen en la decisión sobre qué enfoque o enfoques deben utilizarse para almacenar los datos operativos de un determinado sistema de software. Nuestro objetivo es orientar a los usuarios y ofrecerles la posibilidad de elegir. NorthScale Memcached Server se despliega junto con la tecnología de base de datos relacional cuando es apropiado; NorthScale Membase Server proporciona una tecnología de base de datos elástica que es una opción apropiada para una gran clase de aplicaciones y datos, y un ajuste perfecto para entornos de computación en nube. También creemos que es importante proporcionar un camino claro y sin fisuras de relacional, a relacional + memcached, a relacional + memcached + membase. No puedo concluir esto sin comentar también los comentarios iniciales del post de Matt. Como Matt señala, memcached es una caché (de ahí su nombre) y no un almacén de valores clave. Aunque algunos tachen esta afirmación de mofa, enturbiar la cuestión sobrecargando el nombre puede llevar (y ha llevado) a la confusión de los usuarios y a la pérdida de datos. Una cosa está clara, sin embargo: muchos usuarios han expresado su deseo de algo que tenga algunas de las características de memcached (simple, rápido y escalable horizontalmente), con plena compatibilidad con el cliente y la API de memcached, pero con la semántica adicional y las garantías de un almacén de datos. La comunidad memcached ha estado trabajando en un motor de almacenamiento para permitir una respuesta sensata a este tipo de peticiones. La estructura del motor de almacenamiento se ha desarrollado abiertamente como una rama de desarrollo publicada y, tras una revisión más profunda, se añadirá a la rama de desarrollo principal de la comunidad. Permite que el "front-end" de memcached (escuchador, inspector de paquetes, decodificador de protocolos, algún soporte de hilos y estadísticas) se empareje con un back-end que realice operaciones de datos bajo la dirección del front-end. Estos motores de almacenamiento back-end pueden proporcionar persistencia, replicación y otras innumerables capacidades que sería claramente contraproducente forzar en una "distribución memcached" monolítica. NorthScale, junto con Zynga y NHN, anunció recientemente Membase Server. Este proyecto aprovecha la interfaz del motor de almacenamiento memcached para construir un almacén de valores clave, totalmente compatible con memcached, sin crear una oferta Frankenstein (una especie de memcached que almacena cosas). Probablemente la ventaja más importante de este enfoque es que somos totalmente compatibles con el protocolo memcached, y construido a partir de la base de código más reciente. Así, los usuarios de nuestra distribución seguirán beneficiándose de los esfuerzos de la comunidad (de la que NorthScale es el principal contribuidor de código fuente). En lugar de trabajar en el contexto de la comunidad, otros tomaron una instantánea puntual del proyecto memcached y empezaron a realizar cambios de forma privada. El reto es que los sistemas resultantes ya no son, citando a uno de los líderes del proyecto memcached, "distribuciones de memcached". Son una bifurcación privada de lo que una vez fue memcached - una instantánea de una versión antigua de memcached con cambios propietarios en ese viejo (y cada vez más viejo) código. Este enfoque tiene un grave inconveniente. Los usuarios de esos sistemas se pierden lo que hace que el código abierto sea un modelo tan exitoso para el desarrollo de software de infraestructura: una rica comunidad de innovadores que evolucionan y mejoran el software, y destacan y solucionan los problemas del código. Porque NorthScale Memcached Server es una distribución de memcached, los usuarios se benefician de la compatibilidad completa con el protocolo memcached, de la autenticación SASL, del motor bucket que permite el multi-tenancy seguro, y de muchas otras mejoras actuales y futuras del proyecto. Los usuarios no están atrapados en una base de código antigua. Y porque estamos usando APIs e interfaces soportadas por la comunidad, podemos construir soluciones que son compatibles con memcached sin crear ofertas Frankenstein que son algo así como memcached que algo así como almacena datos. Y no nos vemos en la incómoda situación de intentar convencer al mundo de que una caché es una base de datos.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por James Phillips

James Phillips es cofundador, CEO y CSO de Couchbase. James Phillips cuenta con más de 20 años de experiencia en la industria del software. James comenzó su carrera escribiendo software para las plataformas de microordenadores Apple II y TRS-80.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.