Como cualquier padre de un niño de cinco años puede atestiguar, el tiempo vuela cuando te diviertes. ¿Dónde se ha ido todo el tiempo? Eso es más o menos lo que sentimos con N1QL, el lenguaje de consulta SQL para JSON. Hoy en día, miles de desarrolladores, clientes y aplicaciones modernas utilizan N1QL en sus aplicaciones para acceder, analizar y manipular datos.
Un repaso de N1QL
Couchbase creó N1QL para facilitar a los desarrolladores empresariales la transición a NoSQL. Aunque pasarse a NoSQL ya ofrece ventajas significativas, no todas las bases de datos NoSQL son iguales porque sus lenguajes de consulta son diferentes. La mayoría de las bases de datos NoSQL tienen soporte SQL limitado - o ninguna.
Tener un soporte limitado o nulo de SQL hace que la migración de aplicaciones sea muy costosa, ya que hay que reescribir la capa de acceso a los datos y volver a formar a los desarrolladores. (Recuerde: NoSQL significa "no sólo SQL".) N1QL ofrece a los desarrolladores de aplicaciones un lenguaje declarativo expresivo, potente y completo con uniones ANSI estándar del sector para consultar, transformar y manipular datos JSON, igual que SQL. Los desarrolladores pueden visualizar y optimizar planes de consulta complejos para grandes conjuntos de datos y ofrecer el mejor rendimiento a cualquier escala para satisfacer las demandas de millones de usuarios.
Al combinar la potencia de SQL con la flexibilidad de JSON, N1QL permite a los desarrolladores
escribir consultas ad hoc sin limitaciones. Rebanando y cortando datos con select, uniones ANSI,
proyectar, anidar, desanidar, agrupar, ordenar, funciones de ventana, CTE, funciones definidas por el usuario y otras funciones de manipulación de datos dentro de una única consulta, los desarrolladores pueden mejorar la eficiencia a la velocidad del negocio.

Y a lo largo de los años, las empresas han ido eligiendo Couchbase frente a otras soluciones NoSQL debido al lenguaje de consulta similar a SQL de N1QL.

"Cuando Couchbase me presentó N1QL, rápidamente nos dimos cuenta de que N1QL ofrece la flexibilidad de buscar con un lenguaje que se parece en un 99% a SQL. Así que para todos los desarrolladores fue una transición fácil".
FIDENCIO GARRIDO
Ingeniero principal, DIRECTV
Los años de formación
Para que nuestros clientes puedan desarrollarse al ritmo de sus respectivos negocios, los cinco primeros años de N1QL se han caracterizado por una innovación consumada:
2015: GA de N1QL en servicio de consulta con Couchbase 4.0
2016: Mejoras en la indexación de matrices, MOI y paginación con Couchbase 4.5
2017: Agregación push down a índice, réplica de índice, Plasma para GSI con Couchbase 5.0
2018: Uniones ANSI, partición y poda de índices con Couchbase 5.5
2018: GA de N1QL en analítica con Couchbase 6.0
2020: Funciones analíticas de ventana, soporte de búsqueda, Index advisor con Couchbase 6.5
2020: Índice Flex, Soporte para conjuntos de datos externos, enlaces remotos con Couchbase 6.6
2021: El futuro ya está aquí. Véalo a continuación.
Novedades - Couchbase Connect.ONLINE
Tenemos muchas funciones interesantes en la próxima versión. Acompáñenos en una presentación durante Couchbase Connect.ONLINE el 14 de Octubre de 1:00 p.m. a 2:00 p.m. Hora del Pacifico mientras vemos lo nuevo en N1QL. Estas son algunas de las características que cubriremos: soporte de colecciones en N1QL e índices, optimizador basado en costos, funciones definidas por el usuario y transacciones. Sí - transacciones distribuidas para N1QL.
¿Cómo se compara N1QL con SQL?
SQL es vasto en su sintaxis, profundo en su semántica y rico en características. ¿Cómo se compara N1QL con SQL en sus características? ¡Aquí está la vista de diez mil pies de ella!

N1QL para conocer tu opinión?
¿Eres cliente de Couchbase y utilizas N1QL? Escríbeme en los comentarios y cuéntame cómo ha ido tu transición o cualquier otro aspecto destacado que quieras compartir.
Hola Binh,
La transición está en marcha y ha sido interesante con algunos retos especialmente por 2 razones:
- Modelo de datos JSON (frente al modelo de datos de un RDBMS)
- la consulta, el índice y los datos son servicios diferentes (en comparación con el motor/optimizador de un RDBMS)
La parte de desaprender (de RDBMS/SQL) es muy divertida.
Más documentación sobre N1QL, posiblemente interna, ayudará a suavizar la curva de aprendizaje. Además, será interesante ver el próximo optimizador basado en costes para N1QL.
Gracias