Las metodologías en cascada parecen anticuadas hoy en día, con SCRUM, Crystal, eXtreme, Kanban y otras, todos estos nuevos paradigmas para construir aplicaciones de forma iterativa y rápida se han convertido realmente en algo común. Creo que NoSQL con Couchbase es la siguiente evolución de ese movimiento, permitiéndote desarrollar el modelo de datos igual de suave e iterativo, y mucho más rápido.

Cuando creo una aplicación, a menudo sólo conozco una parte de la idea. Me gusta sumergirme, arremangarme y resolverlo. Tengo una idea para empezar, pero a medida que me pongo a construirla, aprendo más, y cambio lo que pienso a menudo, cuando se lo enseño a otras personas aprendo más y lo vuelvo a cambiar. Con ActiveRecord y Ruby, tengo que crear migraciones cada vez que cambio de opinión sobre cómo debería funcionar algo desde el punto de vista de los datos. Esto me parece más que un fastidio.

Cuando cambié a Couchbase, me encontré en un mundo mucho más pacífico y orgánico. Podía añadir campos, eliminarlos y cambiarlos tan fácilmente que me daba vértigo el desarrollo sin migraciones. La flexibilidad del esquema es SCRUMptious. Sinceramente, creo que me ha ahorrado muchos quebraderos de cabeza y ha facilitado el desarrollo. También me permite tener "columnas" adicionales que no son más que campos json que pueden variar de un "registro" a otro. Por supuesto, estos son documentos en Couchbase, no son columnas o filas, pero la mayoría de la gente todavía parece pensar en SQL (por ahora).

¿Qué significa tener flexibilidad de esquema? Couchbase almacena datos como documentos JSON. Eso significa que cuando recupero y guardo mis objetos Ruby, puedo añadir fácilmente nuevas claves JSON al documento o cambiar sus valores de cadenas a matrices o lo que necesite cambiar. No tengo que hacer una migración. Es casi lo mismo que crear o consumir una API con JSON, sólo que es mi base de datos y modelo.

(*Caveat - Por supuesto, si ya tengo millones de documentos en un determinado formato de datos, puede que quiera manejar el cambio cuando se instancian, o hacer una "migración de datos", que es diferente al desarrollo de una nueva aplicación. Incluso esto es trivial de implementar).

Ruby es un lenguaje precioso, Rails un framework precioso y, combinado con Couchbase, el desarrollo se ha vuelto aún más orgánico que antes. 

@scalabl3

Autor

Publicado por El equipo de Couchbase

Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el diseño, la implementación, el contenido y el rendimiento.

Dejar una respuesta