Blog

¿Base de datos o motor de consultas?

A medida que transitamos por la vida, estamos evaluando constantemente nuestras elecciones. ¿Deberías comer esa ensalada u optar por la hamburguesa? ¿Deberías casarte con tu pareja o buscar en otro lugar? Todos nosotros hacemos estas evaluaciones tanto en nuestra vida personal como comercial. Sin embargo, puede que nunca se le haya ocurrido en sus momentos de introspección privada considerar: ¿Necesito una base de datos o un motor de consulta?

Por supuesto, las decisiones del motor de consulta pueden no ser tan impactantes como el matrimonio, pero al igual que el matrimonio, puedes vivir feliz para siempre o comprometerte con una relación que no funcionará en el largo plazo. Es un panorama confuso porque a menudo los motores de consulta se venden como bases de datos. Las bases de datos parecen ser significativamente más costosas que los motores de consulta a la vez que son más capaces. Y los proveedores tienden a difuminar la línea entre los motores de búsqueda y las bases de datos.


Desde KUNAN les presentamos la siguiente nota extraída del Blog de Vertica, que nos advierte sobre la importancia de seleccionar la arquitectura correcta al iniciar un proyecto moderno de inteligencia de negocios, donde debemos ser conscientes sobre cuál es la alternativa que mejor se adapta a nuestro problema: Mover la tecnología de consultas hacia donde se encuentran los datos por el gran volúmen que estos datos tienen o disponibilizar la base de datos para uso de nuestros usuarios internos.


En ambos casos, Vertica se comporta en forma excelente siendo la base de datos analítica más rápida del mercado o también como ingeniería de consultas para explorar el Big Data mediante Vertica on SQL for Apache Hadoop


Diferencias entre una base de datos y un motor de consulta


Primero, ¿que es una base de datos?


Una base de datos es un lugar donde puede cargar y almacenar datos de la manera más óptima para consultas de clientes. Los datos movidos a una base de datos debido a las optimizaciones le ayudarán a saber qué tan rápido se responden las preguntas y cuántos usuarios concurrentes hacen sus preguntas sobre los datos. Vertica es una base de datos, al igual que otras soluciones como MySQL, Oracle, Microsoft SQL y muchas otras.

Y…¿que es un motor de consulta?


Por otro lado, un motor de consulta es una pieza de software que puede traer a los datos para consultarla. En este caso, realmente no desea mover los datos. Tal vez la información sea demasiado grande y demorará demasiado en moverse. En cambio, le gustaría llevar un motor de consultas directamente a los nodos o la nube que lo contiene y usar los recursos en su lugar. Al consultar los datos con un motor de consulta, le preocupan menos las optimizaciones y le interesa más ver lo que es posible. Es posible que desee explorar los datos que están fuera de las restricciones de los acuerdos de nivel de servicio. Como es probable que algún otro proceso esté escribiendo los datos, aspectos como el cumplimiento de ACID -a diferencia de la base de datos- son menos importantes. Vertica for SQL en Hadoop es un motor de búsqueda, como soluciones como Apache Drill, Cloudera Impala e incluso Apache Spark.


¿Cuando necesito una base de datos y cuando un motor de consultas?


Necesita un motor de consulta cuando tiene una gran cantidad de datos almacenados y necesita llevar analítica a él. Las empresas con frecuencia almacenan datos en Amazon S3 o Hadoop sin conocer el valor de gran parte de ellos. También puede apuntar a múltiples motores de búsqueda, pero estos motores no necesariamente se ejecutarán de forma aislada, ni automáticamente, en este caso, usted tendrá una administración de carga de datos que pueda manejar consultas de ejecución rápida sin chocar entre sí.

Necesita una base de datos cuando su base de datos necesita un nuevo hogar que pueda cumplir con los estándares de SQL, conformidad con ACID y donde la copia de seguridad y la restauración forman parte del sistema. Una base de datos proporciona métodos avanzados para la optimización, por lo que si necesita un análisis más rápido de sus datos, Vertica data base es la herramienta que está buscando. Lo más importante es que almacena datos cuando espera que cumplan con los acuerdos de nivel de servicio sobre análisis. En otras palabras, si tiene que ejecutar “X” cantidad de informes en “X” cantidad de minutos, la base de datos, será tu aliado perfecto.


Comparamos ambas herramientas:


Capacidad Técnica

Base de datos

Motor de consulta

Aislamiento transaccional

Una base de datos administra las transacciones que se solicitan y tiene funciones incorporadas que aseguran que no se olvide ninguna transacción. Una base de datos es consciente de que otras transacciones pueden estar llegando y tiene una estrategia para gestionar acciones.

Un motor de consulta funciona de forma aislada. Puede usar varios motores de búsqueda con los mismos datos. Pero, si busca demasiadas consultas con los mismos datos, pueden fallar.

Optimización de datos

Una base de datos prefiere almacenar datos estructurados para saber exactamente dónde están los datos y cómo acceder a ellos. Al almacenar datos estructurados, puede optimizar mejor su acceso, para aumentar el rendimiento. También puede comprimir datos de manera más eficiente para reducir la “huella” de almacenamiento.

La optimización de datos con los motores de consultas es menor ya que se pueden mezclar entre ellos.

Consulta de datos no estructurados

La mayoría de las bases de datos modernas tienen formas de manejar datos no estructurados, pero se trata principalmente de agregar una estructura.El esquema de lectura es una característica popular en las bases de datos modernas, por ejemplo, lo que le permite leer en datos semiestructurados como JSON.

La mayoría de los motores de consulta analizan datos no estructurados.


Volumen de consulta y gestión de la carga de trabajo

Una base de datos está diseñada para manejar muchos usuarios al mismo tiempo haciendo muchas preguntas sobre los datos. Las bases de datos tienen integrada la gestión de la carga de trabajo. Los grupos de recursos se pueden configurar para que las consultas se ejecuten rápidamente en un grupo, mientras que las consultas menos críticas se pueden asignar a los grupos con menos recursos.

Para los motores de consulta, la administración de la carga de trabajo a menudo se realiza en el nivel del clúster. Aunque existen tecnologías como Ambari, YARN y Mesos, todavía son inmaduras y pueden ser difíciles de implementar para administrar las cargas de trabajo.


Como conclusión… ¿que herramienta elijo para mi negocio?


Las tecnologías de bases de datos han existido durante décadas, mientras que el uso de motores de consulta es relativamente nuevo. Antes de embarcarse en su próximo proyecto de análisis, haga una evaluación cuidadosa sobre cuál necesita. En el caso de Vertica, reconocemos que hay momentos para un motor de consultas y tiempos para la base de datos. Es por eso que vertica posee el Vertica Enterprise Edition. Con él, se puede almacenar datos de forma nativa con todas las garantías de la base de datos. Por otro lado, con soporte para consultar datos como ORC, Parquet y datos S3 en el lugar, Vertica Enterprise tiene la capacidad de actuar como un motor de consulta o una base de datos. Para un motor de consulta pura, Vertica, ofrece Vertica para SQL en Apache Hadoop. El motor de consultas utiliza parte de la misma base de código de Vertica para responder consultas SQL, pero se ejecuta completamente instalado en el clúster de Hadoop como motor de consultas.


Acceda a la nota original en:
https://my.vertica.com/blog/need-database-query-engine/

< Volver

Consultanos.

Te podemos ayudar a agregar valor a tu negocio. Somos tu socio tecnológico.