Estoy empezando a usar NoSQL MarkLogic DB y trato de elegir el mejor lenguaje de consulta para aprender y usar en el futuro. En el lado del servidor, MarkLogic ofrece la posibilidad de utilizar la API de JavaScript o la API de XQuery .
Quiero recibir un consejo. ¿Qué idioma es mejor para concentrarse y aprender? ¿JavaScript o XQuery?
No tiene que ser una opción binaria. Puede usar módulos JavaScript Y XQuery (y XSLT).
El idioma a usar depende en gran medida de sus propias preferencias, así como del tipo de datos con los que trabaja principalmente. Hay ventajas y desventajas para cada idioma, pero en términos de API y funcionalidad, hay una paridad casi completa.
Si ya está familiarizado con JavaScript y es competente, puede que le resulte más fácil y accesible.
XQuery no es tan conocido o popular en estos días, por lo que es más difícil encontrar desarrolladores que ya sean competentes. Puede llevar un tiempo familiarizarse con la sintaxis y comprender qué son FLWOR y secuencias.
Si tiene muchos documentos XML, entonces XQuery y XSLT serían la elección natural. Construir y manipular XML en JavaScript es un poco horrible, en mi opinión.
Debido a que la API de JavaScript se encuentra en la parte superior del motor V8 y XQuery es un código nativo, existen algunas diferencias de rendimiento. Por ejemplo, hacer una llamada a una función incorporada de MarkLogic desde JavaScript es más lento que si se hiciera en un módulo XQuery.
También hay algunas limitaciones para los módulos de JavaScript. Por ejemplo, hay límites de memoria, no hay un xdmp:spawn-function() y no tiene optimización de llamadas de cola . Por lo tanto, incluso si su base de código es principalmente JavaScript, puede encontrar que hay algunas circunstancias en las que un módulo XQuery podría funcionar mejor o ser más fácil de realizar una tarea en particular.