Omitir navegación

¿Qué son las bases de datos?

Definiciones, tipos y ejemplos de bases de datos

¿Qué son las bases de datos?

En su definición más básica, una base de datos es cualquier colección de información interrelacionada. Cuando escribimos la lista de la compra en un papel, estamos creando una pequeña base de datos análoga. Pero, ¿qué es una base de datos en informática? En este contexto, una “base de datos” se define como una colección de información que se almacena en forma de datos en un sistema informático; por ejemplo, el inventario de su supermercado habitual.

¿Para qué se usan las bases de datos?

Las bases de datos se usan para almacenar y organizar los datos de forma que resulte más fácil administrarlos y acceder a ellos. A medida que una colección de datos crece y se hace más compleja, es más difícil mantener los datos organizados, accesibles y seguros. Para ayudar con esto, se usan sistemas de administración de bases de datos (DBMS), que incluyen una capa de herramientas de administración.

¿Qué son los datos?

El término “datos” hace referencia a cualquier información que se captura y almacena sobre una persona, un lugar, una cosa o un objeto, que se denomina entidad, así como los atributos de esa entidad.

Por ejemplo, si captura y almacena información sobre restaurantes locales, cada restaurante es una entidad y su nombre, dirección y horario comercial son atributos de esa entidad. Toda la información que recopila y almacena sobre sus restaurantes favoritos son datos.

Tipos de bases de datos

En líneas generales, las bases de datos se agrupan en relacionales y no relacionales. Las bases de datos relacionales están muy estructuradas y reconocen un lenguaje de programación denominado Lenguaje de consulta estructurado (SQL, por sus siglas en inglés). Las bases de datos no relacionales son muy diversas y admiten una gran variedad de estructuras de datos. Puesto que muchas bases de datos no relacionales no utilizan SQL, a menudo se denominan bases de datos NoSQL.

Tipos de estructuras de datos

Las estructuras de tabla son propias de las bases de datos relacionales. Organizan los datos en filas y columnas, donde las filas contienen entidades y las columnas contienen atributos de las entidades. Las tablas anchas, o almacenes de columnas anchas, usan columnas dispersas con atributos vacíos para aumentar considerablemente el número total de columnas que se pueden tener en la tabla. Dado que algunos espacios están vacíos, las tablas anchas son un ejemplo de una estructura de base de datos no relacional.

Las estructuras lineales organizan los elementos en una secuencia.

Matriz

Lista vinculada

Árbol binario

Las estructuras de árbol organizan los elementos en una base de datos jerárquica compuesta por nodos que dimanan de un nodo raíz y entre los que se establecen relaciones de tipo primario-secundario.

Grafo

Las estructuras de grafo organizan los elementos en una red no jerárquica de nodos con relaciones complejas entre sí.

Tabla hash

Las estructuras basadas en hash asignan claves a valores usando funciones hash que asocian datos relacionados mediante la asignación de índices a tablas hash.

Bases de datos orientadas a documentos

Las bases de datos orientadas a documentos organizan la información sobre una entidad en un único objeto (el documento), que es independiente de otros objetos. No es necesario establecer relaciones entre los objetos y se puede editar un solo objeto sin que afecte a los demás.

Bases de datos relacionales

En una base de datos relacional, que es el tipo más común, los datos se organizan en tablas que contienen información sobre cada entidad y representan categorías predefinidas mediante filas y columnas. Estos datos estructurados son eficaces y flexibles a la hora de acceder a ellos.

Algunos ejemplos de bases de datos relacionales son SQL Server, Azure SQL, MySQL, PostgreSQL y MariaDB.

Bases de datos no relacionales

Las bases de datos no relacionales almacenan datos no estructurados o semiestructurados. No usan tablas con columnas y filas como lo hacen las bases de datos relacionales. En su lugar, utilizan un modelo de almacenamiento que está optimizado para los requisitos específicos del tipo de datos que se almacena. Las bases de datos no relacionales permiten acceder a conjuntos más grandes de datos distribuidos, actualizarlos y analizarlos rápidamente.

Algunos ejemplos de bases de datos no relacionales son: MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis y Neo4j.

Algunas bases de datos no relacionales se conocen como bases de datos NoSQL. El término “NoSQL” hace referencia a almacenes de datos que no usan SQL (o no solo SQL) para las consultas. En su lugar, las bases de datos NoSQL usan otros lenguajes de programación y construcciones para consultar los datos. Muchas bases de datos NoSQL admiten consultas compatibles con SQL, pero la forma en la que ejecutan estas consultas suele ser diferente de la forma en la que una base de datos relacional tradicional ejecutaría la misma consulta SQL.

Un tipo de base de datos no relacional (una base de datos de objetos) usa la programación orientada a objetos. Los objetos se codifican con un estado (datos fácticos), que se almacena en un campo o variable, y un comportamiento, que se muestra mediante un método o una función. Los objetos se pueden mantener en un almacenamiento persistente para siempre y leerse y asignarse directamente sin una API o herramienta, lo que proporciona un acceso más rápido a los datos y un mejor rendimiento. Sin embargo, las bases de datos de objetos no son tan populares como otros tipos de bases de datos, y pueden necesitar un soporte técnico más complejo.

Memorias caché y bases de datos en memoria

Todos los datos de una base de datos en memoria se almacenan en la memoria de acceso aleatorio (RAM) de un equipo. Cuando se consulta o se actualiza este tipo de base de datos, se accede directamente a la memoria principal. No hay ningún disco involucrado. Los datos se cargan rápidamente porque el acceso a la memoria principal (que está cerca del procesador en la placa base) es mucho más rápido que si se accede a un disco.

Las bases de datos en memoria se usan normalmente para almacenar copias de información a la que se accede con frecuencia, como los datos de precios o de inventario. Esto se conoce como almacenamiento en caché. Cuando se almacenan datos en caché, se guarda una copia en una ubicación temporal para que se carguen más rápido la próxima vez que se soliciten. Consulte más información sobre el almacenamiento en caché.

Ejemplos de bases de datos

Las bases de datos pueden parecer un misterio invisible, pero la mayoría de nosotros interactuamos con ellas todos los días. Estos son algunos ejemplos comunes de bases de datos relacionales, NoSQL y en memoria:

Transacciones financieras

Los bancos utilizan bases de datos para realizar un seguimiento de las transacciones de los clientes, desde las consultas de saldo hasta las transferencias entre cuentas. Estas transacciones deben producirse casi al instante y los datos de grandes cantidades de transacciones deben estar siempre actualizados. Para estos fines, los bancos utilizan sistemas de procesamiento transaccional en línea creados con bases de datos relacionales, que pueden controlar un gran número de clientes, cambios frecuentes en los datos de las transacciones y tiempos de respuesta rápidos.

Catálogos de comercio electrónico

Si tiene un sitio web de comercio electrónico, el catálogo incluye productos individuales y cada uno tiene sus propios atributos. Una base de datos orientada a documentos (ejemplo de base de datos no relacional) usa documentos individuales para describir todos los atributos de un único producto. Puede cambiar los atributos en el documento sin que afecte a ningún otro producto. Las bases de datos en memoria se suelen usar para almacenar en caché los datos de comercio electrónico a los que se accede con frecuencia, como el inventario y los precios, con el fin de acelerar la recuperación de los datos y reducir la carga en la base de datos.

Redes sociales

Cuando se une a una red social, su información se agrega a una base de datos no relacional de todos los usuarios que utilizan esa red. Cuando se conecta con otras personas de esa red, pasa a formar parte de un grafo social. Este es el motivo por el que puede ver una lista filtrada de sus amigos o conexiones profesionales, y descubrir a nuevas personas que esos amigos y conexiones conocen.

Resultados personalizados

Las bases de datos no relacionales permiten la personalización en línea, algo que se ha vuelto tan común que es posible que ni siquiera lo note. Si reserva un vuelo a través de un sitio web de viajes, también verá opciones para reservar hoteles y coches de alquiler. La base de datos del sitio web contiene una gran cantidad de información no estructurada (detalles de vuelos, preferencias de viaje, reservas de hoteles o coches anteriores) que se usa para ofrecerle sugerencias personalizadas y ahorrar tiempo, dinero o esfuerzo. Del mismo modo, las bases de datos en memoria se usan como el almacén de una sesión para contener de manera eficaz los datos temporales del usuario, como las preferencias de búsqueda o el carro de la compra, mientras utiliza la aplicación.

Análisis de negocios

Cuando las organizaciones desean extraer información de sus propios datos, las bases de datos relacionales las ayudan a administrar el análisis. Por ejemplo, un departamento de soporte técnico para cuestiones de tecnología podría realizar un seguimiento de los problemas de los clientes en diversas dimensiones, como el tipo de problema, el tiempo para resolverlo y la satisfacción del cliente. Una base de datos relacional que usa una estructura de tabla organiza los datos de problemas de los clientes con solo dos dimensiones a la vez, pero, con un sistema de procesamiento analítico en línea, el departamento de soporte técnico puede consultar más de una tabla al mismo tiempo, lo que permite un análisis multidimensional que procesa grandes cantidades de datos a gran velocidad.

Sistemas de administración de bases de datos

Los administradores de bases de datos utilizan sistemas de administración de bases de datos (DBMS) para controlar los datos, especialmente cuando trabajan con macrodatos. El término “macrodatos” hace referencia a grandes volúmenes de datos estructurados y no estructurados que a menudo recibe el sistema en tiempo real o casi en tiempo real. Un sistema DBMS facilita también la administración de los datos que se usan en varias aplicaciones o que residen en varias ubicaciones.

Los distintos sistemas de administración ofrecen diferentes niveles de organización, escalabilidad y aplicación. Además del tipo de datos que desee organizar y cómo desee acceder a ellos, el sistema DBMS que use también depende de dónde residan los datos, del tipo de arquitectura que use la base de datos y de cómo planee escalar la capacidad.

¿Sus datos están en el entorno local, en la nube o en ambos sitios?

En las bases de datos locales, los datos residen en hardware privado en el entorno local (a menudo denominado nube privada). Para agregar capacidad de datos, los administradores de bases de datos deben asegurarse de que los servidores locales tienen suficiente espacio disponible, o bien ampliar la infraestructura con nuevo hardware para crear espacio.

En las bases de datos basadas en la nube, los datos estructurados o no estructurados residen en una plataforma de informática en la nube privada, pública o híbrida (es decir, una plataforma que combina almacenamiento en una nube pública y una privada). Dado que las bases de datos en la nube están diseñadas para un entorno virtualizado, son muy escalables y ofrecen una alta disponibilidad. También ayudan a reducir los costos, ya que no es necesario comprar tanto hardware y solo paga por el almacenamiento que use.

¿La arquitectura de su base de datos es centralizada, distribuida o federada?

En una base de datos centralizada, todos los datos residen en un sistema, en un solo lugar. Este sistema es el punto de acceso para todos los usuarios.

Una base de datos distribuida abarcar bases de datos tanto relacionales como no relacionales. En las bases de datos distribuidas, los datos se almacenan en varias ubicaciones físicas, ya sea en varios equipos locales o dispersos en una red de equipos interconectados.

En una base de datos federada, varias bases de datos distintas que se ejecutan en servidores independientes se unifican en un objeto grande. Una cadena de bloques es un tipo de base de datos federada que se usa para administrar de forma segura los libros de contabilidad financieros y otros registros de transacciones.

¿Cómo ampliará su capacidad a medida que aumenten los datos, con escalado horizontal o vertical?

El escalado (o reducción) vertical es el proceso de agregar recursos, como memoria o CPU más eficaces, a un servidor actual.

El escalado (o reducción) horizontal agrega más máquinas al grupo de recursos.

El escalado horizontal, en lugar del escalado vertical, amplía el ciclo de vida del hardware actual, permite actualizar los recursos sin depender de un proveedor, reduce el costo y crea potencial de flexibilidad a largo plazo.

Bases de datos de Azure

Simplifique las operaciones con datos usando bases de datos totalmente administradas que automaticen la escalabilidad, la disponibilidad y la seguridad. Elija entre bases de datos relacionales, NoSQL y en memoria que abarcan motores patentados y de código abierto.

Conozca la familia de bases de datos Azure SQL

Unifique su cartera SQL sin sacrificar la compatibilidad. Migre, modernice e implemente aplicaciones de la forma que desee, desde el perímetro hasta la nube, usando la tecnología de SQL Server que ya conoce.

Escale su capacidad sin temor con Azure Database for PostgreSQL

Azure Database for PostgreSQL lo ayuda a escalar la carga de trabajo de forma rápida y segura con alta disponibilidad, la optimización del rendimiento mediante inteligencia artificial y una seguridad avanzada.

Más información sobre Azure PostgreSQL

Cree aplicaciones de alto rendimiento con Azure Cosmos DB

Azure Cosmos DB es una base de datos NoSQL totalmente administrada con API abiertas y una velocidad garantizada a cualquier escala.

Más información sobre Azure Cosmos DB

Controle el tráfico elevado de forma eficaz con Azure Cache for Redis

Azure Cache for Redis facilita el control de miles de usuarios simultáneos con una velocidad casi instantánea, ya que agrega una capa de almacenamiento en caché rápido a la arquitectura de las aplicaciones.

Más información sobre Azure Cache for Redis
¿Podemos ayudarle?