Conecta con nosotros

A Fondo

Cómo escoger la mejor base de datos para tu empresa (II)

Publicado el

En el artículo que publicamos ayer, «Cómo escoger la mejor base de datos para tu empesa», nos introducimos en algunos de los criterios más interesantes que conviene tener en cuenta a la hora de determinar cuál es la solución más apropiada.

En este sentido, examinamos de cerca cuestiones como cantidad de información a gestionar, usuarios que se van a conectar de forma concurrente, la importancia de factores como latencia o disponibilidad, tipo de estructura de los datos o distribución geográfica de los usuarios.

En esta segunda y última parte de este especial, analizamos criterios que se tienen menos en cuenta como el ratio de lectura/escritura ideal, los índices que vamos a necesitar en función de la información que manejemos (y las consultas que vayamos a hacer sobre la misma), su relación con los distintos lenguajes de programación o incluso, su necesidad de cumplir con la legislación vigente en distintos territorios. ¡No te lo pierdas!

¿OLTP, OLAP o HTAP?

Que no te confundan estos acrónimos. Todo lo que tienes que preguntarte es si tu aplicación necesita una base de datos para transacciones, análisis o ambos.

La necesidad de transacciones muy rápidas (OLTP) implica una velocidad de escritura rápida y un despliegue de índices mínimo. El análisis (OLAP) implica velocidad de lectura pero además, muchos índices.

Finalmente, hay algunos sistemas híbridos (HTAP) que emplean algunos «trucos» que permiten soportar simultáneamente ambos requisitos, incluyendo por ejemplo un «almacén» transaccional primario que alimenta a un «almacén» secundario replicando los datos.

Ratio lectura/escritura

Algunas bases de datos son más rápidas a la hora de leer y consultar información, mientras que otras demuestran ser más veloces escribiendo datos nuevos.

El ratio lectura/escritura que esperas de tu aplicación es una variable más que interesante a la hora de escoger la base de datos más adecuada y tienes que tenerlo en cuenta. La elección óptima de la misma difiere si de lo que hablamos es de aplicaciones que necesitan «leer» una gran cantidad de información (Árbol-B) de las que necesitan escribir una gran cantidad de datos (normalmente un árbol de fusión estructurado en logs).

Índices geoespaciales y consultas

Si en nuestra base de datos trabajamos con información geográfica (como coordenadas geoespaciales) y necesitamos realizar consultar para encontrar objetos dentro de un límite determinado o a una distancia concreta a partir de una ubicación, necesitaremos trabajar con otro tipo de índices, diferentes a los que se manejan para gestionar los datos relacionales típicos.

En estos casos, emplear un Árbol-R es lo más habitual, pero hay más de una docena de posibles estructuras con las que gestionar este tipo de información. Por otro lado, hay por lo menos dos docenas de BBDD que tienen soporte para información geoespacial y que normalmente cumplen con Open Geospatial Consortium.

Índices y consultas de textos completos

Como en el caso anterior, la búsqueda eficiente de textos completos en campos de texto requiere de índices diferentes a los que vamos a encontrar a la hora de tratar datos relacionales o geoespaciales. Para hacerlo, habitualmente se construye un índice de lista invertida de palabras tokenizadas ya que el objetivo es evitar hacer un costoso escaneo de tablas.

Lenguajes de programación

Aunque la mayoría de las bases de datos disponen de APIs para los principales lenguajes de programación, el lenguaje empleado puede determinar en cierta medida la BBDD que nos conviene utilizar.

Por ejemplo, JSON es el formato de datos natural para JavaScript, por lo que elegir una base de datos que soporte el tipo de datos JSON de forma nativa puede ser lo más interesante si nuestra aplicación se ha desarrollado en JavaScript.

Presupuesto

Las bases de datos tienen un precio que puede ir desde ser completamente gratuitas a llegar a ser realmente caras. Muchas BBDD apuestan además por modelos de comercialización freemium, con distintos niveles de capacidad y servicios, por ejemplo en términos como latencia. Además, algunas bases de datos sólo se ofrecen en modalidad cloud en modalidad de pago por uso.

Aunque elegir una base de datos gratuita y de código abierto es desde luego siempre una opción interesante, hay que tener en cuenta que no contaremos con soporte, por lo que os contamos con personal especializado o deberemos a acudir a empresas especializadas.

Otra opción por supuesto y si el presupuesto no es un problema serio, es concentrarse en el desarrollo de la aplicación y confiar en la oferta que nos puede hacer cualquier proveedor cloud.

Compliance legal

En Europa el Reglamento General de Protección de Datos (GDPR) o en Estados Unidos la HIPAA regulan la forma en la que deben gestionarse los datos que recogen las empresas, cómo se protegen y las medidas de seguridad que hay que poner en marcha.

Algunas bases de datos son capaces de manejar los datos de una manera que cumple con algunas o todas estas regulaciones, siempre y cuando se sigan las prácticas recomendadas. Otras en cambio tienen fallos que hacen que sea muy difícil utilizarlas para obtener información personal identificable, independientemente de las medidas de protección de la privacidad que se implementen.

Periodista tecnológico con más de una década de experiencia en el sector. Editor de MuyComputerPro y coordinador de MuySeguridad, la publicación de seguridad informática de referencia.

Lo más leído