Uma visão sobre NOSQL
Quando ouvi pela primeira vez o termo NoSQL, imaginei logo “Não SQL??” e os questionamentos vieram tão rápido quanto esse pensamento: “Como assim não usar SQL não faz sentido algum isso”, “Não é possível usar um Banco de Dados não relacional” entre outros.
Só que para a minha surpresa alguns meses depois fui conhecendo melhor a tecnologia abordada pelos NoSQL da vida e eles são bem interessantes, mais até do que eu imaginava que pudessem ser.
Não sou especialista nessa tecnologia ainda, estou engatinhando nela, entretanto andei lendo alguns artigos e fiquei meio abismado com a modelagem proposta por alguns deles o que me deixou um pouco confuso. Modelar um banco relacional é algo tão natural hoje que você modela bancos almoçando ou comendo cereal pela manhã. Mas modelar um banco não relacional é algo totalmente diferente pelo menos para mim, ainda fico um pouco com medo de modelar algo assim.
Um dos motivos desse “medo” é a aplicação acabar ficando de certa forma inconsistente. Pode ser que esse seja um pensamento idiota, mas faz algum sentido se parar para pensar que alguns dos NoSQL(como o que eu estou tendo mais contato o MongoDB usarei ele como exemplo) não temos um schema pré definido é o famoso schemaless. Em algum momento eu posso tentar chamar um determinado dado que só tem em um documento da minha coleção por exemplo.
Já te assustei? Eu sabia que não rsrs.
No caso o MongoDB oferece alguns recursos para que isso se resolva e você consiga ter dados consistentes nas suas coleções. Não sabe o que é um documento ou uma coleção ??