¿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 tu 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 de bases de datos.
¿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 capturas y almacenas 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 recopilas y almacenas sobre tus restaurantes favoritos son datos.
Tipos de bases de datos
En líneas generales, los tipos de 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 puedes 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 de base de datos 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 de base de datos 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, PostgreSQLy 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. Obtén 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 online 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 tienes 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. Puedes 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 te unes a una red social, tu información se agrega a una base de datos no relacional de todos los usuarios que utilizan esa red. Cuando te conectas con otras personas de esa red, pasas a formar parte de un grafo social. Este es el motivo por el que puedes ver una lista filtrada de tus 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 online, algo que se ha vuelto tan común que es posible que ni siquiera lo notes. Si reservas un vuelo a través de un sitio web de viajes, también verás 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 ofrecerte 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 online, 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 desees organizar y cómo prefieras acceder a ellos, el sistema DBMS que usas también depende de dónde residan los datos, del tipo de arquitectura que use la base de datos y de cómo planees escalar la capacidad.
¿Tus 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 costes, ya que no es necesario comprar tanto hardware y solo pagas por el almacenamiento que uses.
¿La arquitectura de tu 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 puede 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ás tu 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 coste y crea potencial de flexibilidad a largo plazo.
Bases de datos de Azure
Simplifica las operaciones con datos usando bases de datos totalmente administradas que automaticen la escalabilidad, la disponibilidad y la seguridad. Elige entre bases de datos relacionales, NoSQL y en memoria que abarcan motores patentados y de código abierto.
Explorar las bases de datos en Azure y encontrar la que necesitas
Más información sobre cómo migrar tus bases de datos a Azure
Crear una base de datos administrada en la nube con tu cuenta gratuita de Azure
Encontrar el producto de base de datos que necesitas en Azure
Conocer la familia de bases de datos Azure SQL
Unifica tu cartera SQL sin sacrificar la compatibilidad. Migra, moderniza e implementa aplicaciones de la forma que desees, desde el perímetro hasta la nube, usando la tecnología de SQL Server que ya conoces.
Explorar las bases de datos en Azure y encontrar la que necesitas
Más información acerca de Azure SQL Database
Más información sobre los aspectos básicos de Azure SQL en una ruta de aprendizaje guiado
Escalar la capacidad sin miedo con Azure Database for PostgreSQL
Azure Database for PostgreSQL te 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.
Crear 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.
Controlar 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.
Empieza a crear soluciones en Azure
Prueba los servicios de informática en la nube de Azure gratis durante 30 días o empieza a usar los precios de pago por uso. Sin compromiso por adelantado; puedes cancelar en cualquier momento.