Las empresas manejan muchos datos, ya sean de tipo financiero, personal, de inventario, entre otros. Es por ello que es aconsejable tenerlos en un formato ordenado y con niveles de acceso para que se pueda encontrar y consultar solo por aquellos autorizados. Algunas pymes guardan los datos en sistemas de ficheros en textos planos (como por ejemplo, Excel). Sin embargo, cuando empiezan a crecer perciben que este sistema contiene datos redundantes y duplicados, no es muy seguro y es difícil acceder de forma externa. Entonces, las empresas se plantean almacenar la información en una base de datos. Pero, ¿qué ventajas presenta la base de datos en el almacenamiento frente al sistema de ficheros?
¿Qué es una base de datos?
Una base de datos es una herramienta que recopila datos, los organiza y los relaciona para que se pueda hacer una rápida búsqueda y recuperar con ayuda de un ordenador. Hoy en día, las bases de datos también sirven para desarrollar análisis. Las bases de datos más modernas tienen motores específicos para sacar informes de datos complejos.
Cuando una empresa tiene una base de datos y quiere implementar un software , tiene que andarse con cuidado dependiendo del software que instala. Cuando se implementa un sistema ERP o de gestión documental, estos tendrán una mejor conexión con aquellas bases de datos que tienen el mismo lenguaje nativo. Por ejemplo, el software Office 365 se conectará mejor con una de Microsoft que con una de Oracle . No obstante, la dificultad de conexión entre softwares y bases de datos de fabricantes distintos tampoco suele ser grande.
Sin embargo, cuando el software es de tipo e-commerce , por ejemplo, es más complicado. Esto se debe a que no hay una conexión directa entre el e-commerce y la base de datos, sino que se necesita una capa intermedia para conectar ambas partes.
Además, es importante saber que hay varios tipos de base de datos: la relacional; la distribuida; NoSQL; orientada a objetos; y, gráficas. La existencia de estas diversas bases de datos se debe a la variedad de forma de trabajo que se requiere de ellas.
Nota: antes de adquirir una base de datos u otra es importante ver qué ofrece cada una y cuál sirve mejor para el propósito que se tiene. En la Guía ERP 2024 hay una comparativa de base de datos para poder estudiarlas en mayor profundidad.
Base de datos relacional
La base de datos relacional es una recopilación de la información empresarial organizada de tal forma que se puede consultar, actualizar, analizar y sacar los datos fácilmente. La información se encuentra en tablas y campos relacionados entre sí.
Las tablas contienen información de la empresa, ya sea acerca de libros, clientes, etc. Además, las tablas también son conocidas como relaciones debido a su capacidad de referirse mutuamente entre ellas con un enlace lógico (join). Las tablas se componen de filas o registros (con todos los datos de una misma empresa, producto, cliente, etc.) y columnas o atributos (conjunto de valores de un tipo en concreto).
El sistema de gestión de base de datos (DBMS, Data Base Management System) es un software que sirve para crear y acceder a los datos de la base de datos, como por ejemplo, SAP HANA o Amazon RDS . El lenguaje estándar para el acceso y manipulación de la base de datos es conocido como SQL (Structured Query Language).
Base de datos distribuida
La base de datos distribuida consiste en el almacenamiento de porciones de la base de datos en diferentes ubicaciones físicas y, por tanto, el procesamiento está distribuido o replicado entre los distintos puntos de una red de trabajo.
Consecuentemente, la base de datos distribuida tiene una mayor disponibilidad de los datos debido a sus múltiples ubicaciones. De esta forma, si una de las bases de datos fallase, se podría seguir funcionando correctamente, aunque puede que un poco ralentizado. Sin embargo, esta misma característica de estar distribuido puede provocar que haya duplicidad de los datos y un menor nivel de seguridad.
Dentro de las bases de datos distribuidas hay 2 tipos: homogéneas y heterogéneas. Las homogéneas son conscientes de las otras ubicaciones y cooperan en el procesamiento de las solicitudes. Además, tienen el mismo esquema y el mismo sistema de gestión de base de datos (DBMS). Mientras que las heterogéneas cooperan de forma limitada el procesamiento ya que pueden tener el DBMS y los esquemas diferentes e, incluso, que los sitios no se conozcan entre sí. En resumen, las homogéneas se utilizan generalmente dentro de una misma empresa u organización y, por eso, tienen el mismo DBMS y se conocen. Las heterogéneas se suelen utilizan entre distintas empresas u organizaciones en las que cada una tiene su propio DBMS y, es posible, que ni conozcan cuáles son las otras ubicaciones.
¿Sabías que? La base de datos distribuida más conocida en la actualidad es el Blockchain . La cual se hizo famosa gracias a las criptomonedas como Bitcoin y Ethereum.
Base de datos NoSQL
El nombre de la base de datos NoSQL proviene de Not only SQL o, en español, no solo SQL. Esto se debe a que este tipo de base de datos suele evitar el uso del SQL o lo usa de apoyo, pero no como consulta. El hecho de evitar el SQL es porque se usa para proyectos en los que se necesita trabajar en la base de datos con un gran volumen. En las bases de datos con lenguaje SQL, los distintos atributos de un elemento, están en diferentes columnas, mientras que en una NoSQL todos los atributos se encuentran en una misma columna, ahorrando espacio. Algunos ejemplos de lenguajes usados por bases de datos NoSQL son: JSON (JavaScript Object Notation); CQL (Contextual Query Language, anteriormente conocido como Common Query Language); o GQL (Graph Query Language). Además, este tipo de bases de datos no suele permitir las uniones lógicas o joins. Esta restricción se debe al extremadamente alto volumen de datos que suelen manejar.
¿Sabías que? La base de datos NoSQL surgió con la aparición de las redes sociales (como Instagram, Facebook o Twitter) debido al incremento de datos que suponía.
Base de datos orientada a objetos
La base de datos orientada a objetos, o Object-Oriented Database, representa los datos en forma de objetos y clases. El objeto puede ser desde un resultado de búsqueda a una tabla; y una clase es una colección de objetos.
Los objetos tienen la capacidad de encapsular tanto un estado como un comportamiento de un objeto. Además, también puede almacenar las relaciones que tiene con otros objetos e, incluso, agruparse con otros objetos para formas objetos complejos. De esta forma, el objeto puede ser referenciado o nombrado posteriormente, como una unidad sin tener que entrar en sus complejidades. Este tipo de base de datos están generalmente están escritas en lenguajes de programación orientados a objetos como Java, C o Smalltalk.
Base de datos gráfica o de grafos
En cuanto a la base de datos gráfica, también conocida como orientada a grafos, se diferencian de las anteriores en que están especializadas en establecer relaciones entre los datos de forma visual y navegar por dichas relaciones. Para leer la información, hay que leer los nodos o conectores (puntos de conexión de los datos de las tablas), generando un lenguaje natural. Algunos ejemplos de bases de datos de gráficas son Neo4j y Amazon Neptune.
Base de datos ¿en la nube o en local?
Cada vez hay más proveedores que ofrecen la opción de tener la base de datos en la nube . Esto se debe al aumento de la demanda de este tipo. Sin embargo, todavía hay empresas que se deciden por la opción on-premise (en local).
La tendencia a ir a la nube se debe a varios motivos, entre ellos: la rapidez de implementación; las facilidades de acceso fuera del sistema; no tener que hacerse cargo del mantenimiento de los servidores . Sin embargo, algunas empresas que prefieren tener las bases de datos en local.
Aquellas empresas que tienen la base de datos en local, pueden trabajar con el software en local o de forma híbrida (base de datos en local, pero el software en la nube). Las razones por las que tener la base de datos en local pueden ser: porque les compensa porque tienen servidores propios donde pueden alojarlas sin que les suponga un coste extra; permite tener todo bajo su control; y, otras, porque piensan que teniendo los datos en su propia empresa tendrán una mayor seguridad TIC. Este último punto es muy relativo. Si una empresa no tiene bien protegido su hardware , la seguridad podría verse comprometida. Además, la nube también tiene mejoras continuas de seguridad.
¿Cuánto cuesta una base de datos?
A la hora de valorar el precio de una base de datos hay que sopesar por qué se adquiere. Cuando se va a adquirir un nuevo software, el propio proveedor suele ofrecer el servicio de base de datos incluido en el total del coste del software. Este pago puede hacerse tanto por pago por uso (SaaS, Software as a Service ) como total. En el caso de que la empresa ya tuviera un servidor propio y quisiera tenerla de forma propietaria y no “alquilada” al proveedor, debería hablar con los fabricantes directos. Esto se debe a que muchos proveedores no pueden ofrecer la base de datos de forma independiente del software.
Además, el precio de la base de datos depende de múltiples factores, desde el tipo de base de datos que hace falta, a si tiene que tener un desarrollo personalizado hasta la empresa con la que se contrata.
Una base de datos básica de 1 GB puede costar entre 210 y 400€ al mes. Sin embargo, 1GB es una cantidad muy baja para una empresa. También hay que tener en cuenta el DWU (Data Warehouse Unit ) o Unidad de Almacenamiento de Datos. El DWU es una medida abstracta y estándar de los recursos de proceso y de rendimiento. Otros factores que influyen son: si se requiere notificaciones del e-mail o del HTTPS, streaming del almacenaje, número de instancias, entre otras funcionalidades y cantidades necesarias no incluidas en el precio básico de una base de datos estándar. En la siguiente imagen se muestra un ejemplo de cálculo del precio de la base de datos de Azure SQL Database de 1 tera: