¿Cómo se hacía antes?
Anteriormente... y cuando digo anteriormente, digo hasta hace 1-3 años o incluso actualmente, ya sabéis que la informática y el desarrollo web cambia en muy poco tiempo, se partía de una base de datos determinada como MySQL, PostgreSQL, SQLite,... en función de la base de datos teníamos unas consultas u otras ya que tienen pequeñas diferencias.
El método que se seguía era generar un string con la consulta (este estaba formado por una parte fija y otra variable aunque el resultado final era un string) después "lanzarlo" a la base de datos y ahí controlar si había un error o si lo que nos devolvía era un resultado vacío o no.
Posteriormente, ese resultado debía ser procesado. Como podéis ver todo esto era un proceso tedioso y no muy eficiente en cuanto al tiempo a decidarle.
¿En qué se diferencia ahora?
Mientras que anteriormente el proceso era más pesado y requería conocimientos de base de datos y dependía tanto del lenguaje de programación como de la base de datos, los ORM lo que pretenden es crear una capa intermedia que nos abstraiga de la base de datos y sea más compatible y fácil de usar.
Ahora, en función del módulo de ORM que usemos Sequelize o Mongoose en Node.js (JavaScript), Eloquent en Laravel (PHP), el ORM de Django (Python), u otros tantos tienen una forma de crear un modelo con una serie de atributos. Se crea una única vez y tiene una forma muy similar a lo que sería un objeto en ese lenguaje. Ese modelo servirá para las bases de datos que sean compatibles con el ORM y en lugar de conocer cómo hacer las sentencias hay que conocer los diferentes métodos que nos ofrece.
Dicho de otra forma, permite crearnos una estructura de objetos y métodos fácilmente entendibles abstrayéndonos de las bases de datos a la vez que las hace más portables.
¿Entonces?
En la medida de lo posible, salvo que queramos apurar y sea necesario podemos desentendernos totalmente de las bases de datos y su sistema de consultas, al menos en pequeños proyectos, en otros más grandes donde haya que tener en cuenta la eficiencia si es importante saberlo, la elección de índices y estructura de objetos en MongoDB puede cambiar brutalmente la eficiencia si se manejan muchos datos, pero por lo general para esos casos suele ya haber un especialista que se encargue.
En todo caso, lo mejor que podemos hacer, es empezar a utilizarlo lo antes posible. Pero como ya he dicho dependerá del lenguaje y framework que estéis usando. Quienes no estén usando uno, mucho están tardando, es como el front-end que no usa un preprocesador para CSS es algo que no tiene sentido si quieres ser bueno y productivo en tu trabajo.
No hay comentarios:
Publicar un comentario