As metodologias em cascata parecem antiquadas hoje em dia, com SCRUM, Crystal, eXtreme, Kanban e outras, todos esses novos paradigmas para a criação de aplicativos de forma iterativa e rápida realmente se tornaram comuns. Acredito que o NoSQL com o Couchbase é a próxima evolução desse movimento, permitindo que você desenvolva o modelo de dados de forma igualmente suave e iterativa, e muito mais rapidamente.

Quando crio um aplicativo, geralmente conheço apenas parte da ideia. Gosto de mergulhar de cabeça, arregaçar as mangas e descobrir o que fazer. Tenho uma ideia para começar, mas, à medida que começo a desenvolvê-la, aprendo mais e mudo o que penso com frequência; quando mostro o aplicativo para outras pessoas, aprendo mais e mudo novamente. Com o ActiveRecord e o Ruby, tenho que criar migrações toda vez que mudo de ideia sobre como algo deve funcionar do ponto de vista dos dados. Acho que isso é mais do que uma dor de cabeça.

Quando mudei para o Couchbase, encontrei-me em um mundo muito mais tranquilo e orgânico. Eu podia adicionar campos, remover campos e alterá-los com tanta facilidade que fiquei entusiasmado com o desenvolvimento sem migração. A flexibilidade do esquema é SCRUMptious. Sinceramente, acho que ela eliminou muita dor de cabeça e tornou o desenvolvimento mais suave. Ela também me permite ter "colunas" adicionais, que são apenas campos json que podem variar de um "registro" para outro. É claro que esses são documentos no Couchbase, não são colunas ou linhas, mas a maioria das pessoas ainda parece pensar em SQL (por enquanto).

Então, o que significa ter flexibilidade de esquema? O Couchbase armazena dados como documentos JSON. Isso significa que, à medida que recupero e salvo meus objetos Ruby, posso adicionar facilmente novas chaves JSON ao documento ou alterar seus valores de strings para arrays ou o que quer que eu precise alterar. Não preciso fazer uma migração. É quase a mesma coisa que criar ou consumir uma API com JSON, só que o banco de dados e o modelo são meus.

(*Caveat - É claro que se eu já tiver milhões de documentos em um determinado formato de dados, talvez eu queira lidar com a mudança quando eles forem instanciados, ou fazer uma "migração de dados", que é diferente do desenvolvimento de um novo aplicativo. Mesmo isso é trivial de implementar).

Ruby é uma bela linguagem, Rails é uma bela estrutura e, junto com o Couchbase, o desenvolvimento se tornou ainda mais orgânico do que antes. 

@scalabl3

Autor

Postado por A equipe do Couchbase

Jennifer Garcia é gerente sênior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementação, conteúdo e desempenho.

Deixar uma resposta