miércoles, 23 de octubre de 2013

Bienvenido a Marklogic

Introducción


En este post tratare de explicarte que es Marklogic, que ofrece para el desarrollo de aplicaciones que tienen que manejar grandes cantidades de información o Big Data y un resumen de todas las herramientas que tiene para la elaboración de sistemas eficientes en el manejo, control, transformación, búsqueda y presentación de datos. 

Este post tiene la intención de crear una guía que sirva para iniciar en el mundo de Marklogic y el desarrollo de aplicaciones Big Data, pero no esta de más aclarar que lo que aquí se encuentra no es más que la interpretación y el conocimiento que el autor posee sobre esta tecnología, la cual ha sido adquirida mediante la experiencia de estar realizando aplicaciones de Big Data para empresas con grandes cantidades de información, soluciones que ha sido desarrolladas por un equipo excepcional de trabajo de la compañía Yuxi Pacific de la cual hago parte. 

Si deseas tener información mas detallada puedes visitar la pagina oficial de Marklogic y encontraras toda la documentación necesaria.

Que es Marklogic?


Algunos pueden decir que Marklogic es una Base de Datos NoSQL, pero yo diría que están equivocados, Marklogic es mucho mas que eso, es una plataforma para el desarrollo de aplicaciones Big Data con herramientas de ultima generación que brinda grandes facilidades y utilidades para el control, transformación y presentación de grandes volúmenes de información. Pero creo que esto nos deja en el mismo punto. Por eso vamos a explicar que son Bases de Datos SQL y que es Marklogic.

Todos en algún momento de nuestra travesía por el mundo del desarrollo de aplicaciones tuvimos que habernos topado con una base de datos relacional, esas bases de datos que tienen estructuras fijas como tablas, llaves foráneas, principales, JOINS, etc. Estas bases de datos son fijas dado que debemos diseñar la estructura de cada tabla, definir cuales son las llaves y se les conoce como relacionales por que permiten JOINS (relaciones) entre las tablas para referenciar valores de padre/hijo. 

Pero porque explicamos que son bases de datos SQL? Que tiene que ver Marklogic con esto?, bueno, la respuesta es que Marklogic tiene una base de datos NoSQL, esto es un nuevo paradigma que difiere del modelo de bases de datos relacionales, en las bases de datos NoSQL no hay estructuras fijas, no soportan relaciones y algunas no soportan ACID( atomicidad, coherencia, aislamiento y durabilidad). La buena noticia de esto es que Marklogic tiene una base de datos NoSQL basada en XML que además soporta ACID, es horizontalmente escalable, indexación en tiempo real y muchas otras cualidades que hacen de Marklogic una muy poderosa y confiable base de datos.

Pero con esto que vimos aun hay preguntas, por ejemplo, Porque Marklogic es una plataforma si lo único que se ha explicado dice que Marklogic es una base de datos?, pues bien, aquí esta la explicación de porque Marklogic es una plataforma. Cuando se decide iniciar a desarrollar aplicaciones con Marklogic nos encontramos con una plataforma que además de ofrecernos todas estas herramientas de bases de datos, nos ofrece las siguientes herramientas:

  • Servidor de Aplicaciones(App Servers): Marklogic nos permite crear servidores HTTP, WebDav, XDBC y ODBC que ofrecen una amplia lista de posibilidades de colaboración y de desarrollo. Porque Marklogic nos permite crear aplicaciones directamente en su sistema o podemos dejar las funcionalidades de la aplicación en entornos como Java, .NET, C++ y conectarnos con Marklogic para usarlo como Base de datos.
  • Generador de Aplicaciones(Application Builder): Interfaz ofrecida por Marklogic para gestionar la creación de aplicaciones, bases de datos y todo lo referente a las tareas que se deben realizar cuando queremos desarrollar una aplicación en Marklogic.
  • Administrador de Configuración(Configuration Manager): Interfaz ofrecida por Marklogic para realizar configuraciones de las bases de datos de manera muy fácil y amigable. Esta herramienta nos permite importar y exportar las configuraciones de la base de datos.
  • Tablero de Monitoreo(Monitoring Dashboard): Interfaz ofrecida por Marklogic para realizar seguimiento de las operaciones (querys) que se están realizando en el sistema, espacio en disco, estadísticas de carga y mucho mas para el control de cargas en la base de datos.
  • Query Console: Consola ofrecida por Marklogic en la cual se pueden ejecutar todo tipo de comandos para realizar consultas, actualizaciones, cargas de archivos, eliminación de archivos, etc. Es una gran herramienta para el desarrollo de aplicaciones ya que Marklogic no tiene uno de los mejores sistemas de depuración, por lo tanto realizar las funciones y probarlas directamente en la consola es una muy buena opción.
  • CPF(Content Processing Framework): Como sus siglas lo indican es un framework para el procesamiento de contenido, el cual nos permite realizar casi cualquier tipo de proceso en una maquina de estados que cuenta con prioridades, múltiples decisiones en un mismo estado y diferentes medios para inicializar los procesos. El CPF es una gran herramienta para el desarrollo de aplicaciones que necesitan enriquecer su contenido y realizar transformaciones.
  • REST API: Marklogic cuenta con una API muy robusta la cual puede ser consumida con gran facilidad y puede ser desarrollada de manera guiada. Esto nos permite enfocarnos en el desarrollo de la aplicación y dejarle el trabajo de exponer nuestros datos a la API de Marklogic.
Estas son solo unas de las herramientas que posee Marklogic para el desarrollo de aplicaciones de Big Data, si quieren descubrir que mas ofrece Marklogic pueden visitar su página web y encontrar mas detalles. Sin embargo no quiero dejar de contarles cuanto se aumentan las posibilidades de concurrencia y manejo de datos cuando se combinan dos tecnologías como Hadoop y Marklogic. El poder de procesamiento y respuesta que ofrece esta combinación es el escenario ideal para realizar aplicaciones de tiempo real reduciendo costos de procesamiento y aprovechando al máximo las características ofrecidas por ambas, para mas información no dejes de revisar este enlace Hadoop y Marklogic.



Conclusiones


Marklogic es una gran plataforma que tiene ya mas de 12 años de experiencia haciendo lo que en estos momentos esta de moda que es Big Data. Con la virtud que esta basada en XML, lo que nos ofrece un nivel muy alto de colaboración y manejo de nuestra información. Obviamente, no es la solución a todos los problemas que se pueden presentar cuando se esta desarrollando una aplicación que debe responder a grandes requerimientos de procesamiento, respuesta y concurrencia. Pero es una muy buena opción que por el momento esta dando grandes resultados para las personas que estamos trabajando con esta herramienta y las cosas que vienen en camino como el soporte de búsquedas semánticas con SPARQL va abrir el abanico de posibilidades.

Espero este post sirva para que se animen a conocer Marklogic y para que se den la oportunidad de conocer nuevas herramientas y paradigmas. Esperen los siguientes post acerca de como comenzar a desarrollar aplicaciones con Marklogic y como diseñar soluciones con este nuevo paradigma. 


Saludos y recuerden dejar su comentario.


0 comentarios:

Publicar un comentario