JetBrains libera YouTrackDB: la base de datos orientada a objetos que usaron en secreto durante años

Servidores y bases de datos - YouTrackDB de JetBrains
YouTrackDB es la nueva base de datos open source de JetBrains, usada en producción durante años.

JetBrains acaba de hacer algo que nadie esperaba: liberó el código fuente de YouTrackDB, la base de datos orientada a objetos que ha estado ejecutando sus propios productos en producción durante años. Y no, no es un experimento de fin de semana. Es una base de datos real, usada en producción, con miles de millones de registros.

Mientras el mundo tech estaba distraído con MongoDB, PostgreSQL y Neo4j, los creadores de IntelliJ IDEA, Kotlin y ReSharper estaban construyendo silenciosamente su propio motor de base de datos. Y ahora cualquiera puede usarlo.

¿Qué es YouTrackDB exactamente?

YouTrackDB es una base de datos orientada a objetos con capacidades de grafo. Corre sobre la JVM, requiere JDK 21 o superior, y está licenciada bajo Apache 2.0. Es un fork mejorado de OrientDB, pero con años de desarrollo interno de JetBrains encima.

La característica que más ruido está haciendo en la comunidad técnica es su recorrido de enlaces con complejidad O(1). No hay JOINs costosos. No hay tablas intermedias. Los objetos se vinculan directamente y navegar entre ellos es instantáneo.

Para que quede claro: en SQL tradicional, cuando necesitas los datos de un usuario y sus órdenes de compra, ejecutas un JOIN que escanea índices, construye tablas temporales y, si tienes suerte, vuelve en milisegundos. En YouTrackDB, el usuario tiene una lista de órdenes como una propiedad navegable. Es un salto directo.

Las características que importan

JetBrains no se anduvo con rodeos. YouTrackDB viene con un arsenal técnico que la pone a la altura —y en algunos aspectos por encima— de las bases de datos más populares:

¿Por qué esto es importante para los devs LATAM?

Por varias razones. Primero, es open source real — Apache 2.0, sin trampas de licencia empresarial, sin "gratis hasta que factures un millón". Cualquier startup, cualquier proyecto personal, cualquier empresa latinoamericana puede descargarlo, instalarlo y usarlo sin pagar un peso.

Segundo, el enfoque orientado a objetos reduce drásticamente la complejidad del código. En LATAM, donde muchos equipos son pequeños y los recursos son limitados, una base de datos que entiende de objetos directamente significa menos ORMs, menos mapeo objeto-relacional, menos bugs tontos por desajuste de tipos. Menos código, menos bugs, menos dolores de cabeza.

Tercero, corre en cualquier lado. Una sola línea de Docker y tienes la base de datos funcionando:

docker run -it youtrackdb/youtrackdb-console

Eso es todo. No necesitas configurar clusters, no necesitas kubernetes, no necesitas un DBA dedicado.

¿Y el rendimiento?

La pregunta del millón. Según los benchmarks iniciales compartidos por la comunidad, YouTrackDB maneja transacciones con aislamiento snapshot a velocidades comparables a PostgreSQL en operaciones típicas CRUD, pero la supera ampliamente en consultas con relaciones profundas (3+ niveles de profundidad). En esos escenarios, la ausencia de JOINs marca una diferencia de 5x a 10x.

¿La desventaja? Es joven. La versión actual es 0.5.0-SNAPSHOT — sí, todavía en snapshot. El ecosistema de herramientas es mínimo comparado con lo que ofrecen MongoDB o PostgreSQL. Pero considerando que JetBrains ya lo usa en producción para YouTrack, Space y otros productos, la madurez real es mucho mayor que lo que sugiere el número de versión.

El elefante en la sala: OrientDB

Si conoces OrientDB, YouTrackDB te va a resultar familiar. Y con razón: es un fork. Pero no es un fork cualquiera. JetBrains tomó OrientDB, resolvió bugs críticos, optimizó el motor de consultas, reescribió partes del kernel de almacenamiento, y añadió características propias que desarrollaron para sus productos internos.

La comunidad técnica está dividida. Algunos ven esto como un "revival" de OrientDB después de que su desarrollo original se estancara. Otros lo ven como una jugada de JetBrains para no depender de terceros en su infraestructura crítica. Sea cual sea el motivo, el resultado es el mismo: una base de datos open source sólida, moderna y gratuita que antes no existía.

¿Deberías migrar tu proyecto hoy?

No. Si tu proyecto está funcionando bien con PostgreSQL, MongoDB o Neo4j, no hay razón para migrar solo porque hay algo nuevo y brillante. Pero deberías tenerlo en el radar para tu próximo proyecto, especialmente si trabajas con datos altamente conectados — redes sociales, motores de recomendación, catálogos de productos con relaciones complejas, sistemas de permisos, o cualquier cosa que en SQL requiera 5+ JOINs.

Y si estás empezando un proyecto nuevo, definitivamente vale la pena invertir un par de horas en el REPL de YouTrackDB. La experiencia de "objetos que son objetos hasta en la base de datos" es algo que tienes que probar para entenderlo.

La base de datos está disponible en github.com/JetBrains/youtrackdb. Tiene documentación, ejemplos en Java, y una comunidad activa en Zulip. Todo lo que necesitas para empezar a experimentar.

Comparte esto con ese colega que todavía escribe JOINs de 8 líneas cuando podría estar usando objetos. Le vas a cambiar la forma de pensar.