Consulta SQL++ / N1QL

¿Eres nuevo en NoSQL? ¡Conozca N1QL!

Hace unos años NoSQL podría haber sonado como un monstruo alienígena, pero dados los avances en la tecnología y la forma en que las aplicaciones web y móviles modernas almacenan y acceden a los datos, es y se ha convertido en una parte fundamental del desarrollo actual.

Couchbase facilita más que nunca el cambio (o la adición) de una base de datos relacional a NoSQL con la incorporación de su última tecnología de consulta.

Lo que ya sabe sobre SQL

Probablemente proceda de un sistema de gestión de bases de datos relacionales (RDBMS) como MySQL, SQL Server, Oracle o alguna de las muchas otras bases de datos SQL populares. Todas estas bases de datos comparten algunas cosas en común:

  • Utilizar tablas que contengan datos en filas y columnas
  • Limitado a determinados tipos de datos (en su mayor parte)

Los datos de estas tablas podrían estar relacionados.

Relaciones de datos entre tablas

Si llevas tiempo utilizando un RDBMS, sabrás que muchas de tus tablas estarán relacionadas. Por ejemplo, supongamos que tiene las dos tablas siguientes:

Tabla de usuarios

Nombre Tipo
id int
nombre de usuario varchar
contraseña varchar

Tabla de perfiles

Nombre Tipo
id int
nombre varchar
usuario_id int

Se establece una relación entre estas dos tablas sobre el user_id de la tabla profile y el id de la tabla user. Esto se debe a que cada usuario tendrá un perfil. Por supuesto, la relación se basa en claves externas y primarias.

Unir datos de tablas

Unir datos de dos tablas es una práctica común en un RDBMS. Siguiendo con el ejemplo anterior, es probable que lo siguiente te resulte familiar:

Te estarás preguntando a dónde quiero llegar, porque esto es bastante básico. Lo verás en un momento.

Lo que cree saber sobre NoSQL

Con Couchbase y las bases de datos NoSQL en general tus datos se almacenan como JSON. Todo el concepto de tablas y filas se tira por la ventana, lo que puede parecer un poco extraño al principio. Por ejemplo, qué pasa si tienes los siguientes dos documentos JSON:

usuario_1

perfil_1

Los datos de estos documentos siguen siendo no estructurados, lo que significa que no estás confinado al esquema de una tabla. Si quieres añadir o eliminar contenido, puedes hacerlo sin tocar ningún otro documento ni cambiar la estructura permitida.

La forma de consultar estos documentos varía según la plataforma NoSQL, pero hay algo que no varía. Si quisieras unir estos dos documentos, tendrías que hacer dos llamadas a la base de datos del lado del servidor y reconstruir los datos en un único documento. Por ejemplo, tomemos este psuedocódigo:

No es muy divertido tener que unir documentos de esa manera, y puede resultar bastante lioso si tienes que unir más de un documento.

Cómo Couchbase une SQL y NoSQL

Con Couchbase 4.0 ya no tienes que diseñar complicada lógica del lado del servidor para realizar las consultas simples que verías típicamente en un RDBMS.

Couchbase 4.0 introduce N1QL, que se puede considerar como una extensión de SQL. Lo que esto significa para ti es que puedes usar el lenguaje SQL que ya conoces y amas, con datos NoSQL. Usando N1QL puedes crear la siguiente consulta para los documentos mencionados anteriormente:

No está tan mal, ¿verdad? Claro que hay algunas diferencias con lo que podría estar acostumbrado en MySQL o similares, pero no lo suficiente como para que sea complicado de entender o aprender.

¿Qué otras ventajas aporta N1QL de Couchbase al mundo NoSQL? Muchas cosas, pero por ejemplo, aquí van algunas:

  • Todo el trabajo pesado para obtener y manipular datos ocurre en Couchbase, no en tu servidor de aplicaciones.
  • Tendrás todos tus comandos SQL favoritos, además de otros extras.
  • Es rápido

¿Puede incluirse en los lenguajes de programación que ya utiliza?

SQL funciona en casi todos los lenguajes de programación, pero ¿lo hará N1QL?

Existe un SDK de Couchbase para la mayoría de los lenguajes de programación más populares. Tanto si desarrollas en Java, Node.js o .NET, puedes usar N1QL en tu aplicación con la misma facilidad con la que usas SQL.

Conclusión

Pasar de una base de datos que utiliza De SQL a NoSQL puede parecer un movimiento aterrador, pero con Couchbase 4.0 y N1QL, la transición entre las dos plataformas no es demasiado diferente de lo que ya sabes. Para que te hagas una idea de lo que supondría la transición, echa un vistazo a este vídeo interactivo y muy completo Tutorial N1QL.

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

Autor

Publicado por Nic Raboy

Nic Raboy es un defensor de las tecnologías modernas de desarrollo web y móvil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y móvil más fácil de entender.

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.