PASSION ACADEMY
BASE DE DATOS
Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
¿Cómo se crean las bases de datos?
La creación de una base de datos dependerá siempre de la temática que siga. Existen muchos tipos de bases de datos por lo que no todas siguen el mismo patrón, por lo que antes de crearla, se debe analizar muy bien la información que se quiere presentar.
Los programas de base de datos están formadas por tablas que contienen diversos tipos de información. Estas tablas contienen filas y columnas: las filas contienen un registro y las columnas contienen información sobre la tabla.
Los programas de desarrollo de base de datos más conocidos son los que señalamos a continuación:
Access
Oracle
MySQL
Visual FoxPro
MariaDB
MongoDB
SQLite
Firebird
Cubrid
PostgreSQL
SQL
Server
Servidor Base de Datos
Hoy en día la utilización de bases de datos es algo fundamental en cualquier aplicación, y por lógica su uso se ha extendido en las empresas, tanto offline como online. Las aplicaciones web y de escritorio las usan para escribir, modificar y recuperar información de forma rápida.
Al comenzar a trabajar con bases de datos nos enfrentaremos a un concepto nuevo, el cual se conoce como servidor de base de datos.
En el artículo de hoy exploraremos el concepto,
sus funciones, características y cuáles son los mejores servidores de bases de datos para
usar en tus apps.
¿Qué es un Servidor de Base de Datos?
Un
servidor de base de datos, también conocido como database server o
RDBMS (Relational DataBase Management Systems) en caso de bases de datos
relacionales, es un tipo de software de servidor que permiten la organización de la
información mediante el uso de tablas, índices y registros.
A
nivel de hardware, un servidor de base de datos es un equipo informático
especializado en servir consultas a clientes remotos o locales que
solicitan información o realizan modificaciones a los registros y tablas que
existen dentro de las bases de datos del sistema (en muchos casos desde
un servidor web o
de aplicaciones).
Las
bases de datos que existen dentro, sirven para gestionar y administrar inmensas
cantidades de información, como sucede en casos de empresas, instituciones,
universidades o bancos, que almacenan datos de usuarios/clientes tales como
direcciones, teléfonos, emails, ingresos, egresos, calificaciones, etc.
El
origen de los servidores de bases de datos data de casi 60 años, cuando
surgieron en la década de 1960 para
comenzar a dar soluciones de manejo y administración de volúmenes de datos a
grandes empresas.
Más
tarde, estos datos comenzaron a compartirse a través de lo que se denomina
como cliente de base de datos.
Funciones de un Servidor de Base de Datos
Si
vamos a la función fundamental de un servidor de base de datos, encontraremos
que es el servicio que provee de información a otras aplicaciones web o
equipos/hosts, tal como se especifica en el modelo cliente servidor.
Mediante
el uso de un cliente de base de datos, se puede acceder a la información que se
guarda en las diferentes bases de datos. Una vez el cliente ha accedido
mediante un usuario, contraseña y nombre de host, se le permiten realizar
diferentes tareas, dependiendo del nivel de privilegios que posea.
Algunos
usuarios tienen privilegios de administrador y pueden administrar por completo
las bases de datos a las que se conectan, mientas que otros usuarios tienen
privilegios parciales para solo leer datos (hacer consultas de lectura, también
llamado SELECT).
Los
motores de bases de datos modernos permiten simultaneidad de consultas, lo que
significa que un usuario puede escribir en determinada tabla, mientras que otro
hace lectura de datos, o también escribe al mismo tiempo, todos desde
diferentes lugares geográficos incluso.
Una
vez que el cliente de base de datos termina la consulta, la conexión con el
server finaliza.
La
disponibilidad de la base de datos depende directamente de que el hardware y
software de base de datos funcione de forma correcta.
Por
ejemplo, si hay un fallo en la RAM o CPU del hardware que soporta el servidor,
seguramente no podrán acceder. O bien si hay un fallo que impide que el
servidor SQL inicie correctamente, el servicio también se verá afectado.
Usos populares de servidores de bases de datos
Existen
muchos usos populares que se les ha dado a los servidores de base de datos
desde su invención, por ejemplo:
- Administración de registros de personas: el
uso de software para registros médicos, así como fichas de perfiles de
clientes en clínicas, centros de odontología y más, es algo muy común de
ver.
- Administración de documentos: sirve
para organizar documentos de texto de diversa índole, algo muy usado en
las diferentes empresas.
- Administración contable e impositiva: el
uso de base de datos en estudios contables mejora el manejo de facturas,
pagos de impuestos, gastos, ingresos y egresos.
- Indexación de sitios web: el
caso más popular del mundo es Google con su inmensa base de datos para
indexar, gestionar y modificar los aspectos de sitios webs en sus
resultados.
- Servir contenido dinámico: con el auge del servidor PHP y la programación web, se comenzaron a usar las bases de datos para servir datos de foros, CMS, administraciones de usuarios, gestores de contenidos (como WordPress) y más.
Ejemplos de Servidor de Bases de Datos
MySQL server
MYSQL ha
sido desde hace décadas el líder indiscutido de bases de datos utilizadas en
desarrollo web y de aplicaciones que utilizan lenguajes populares como PHP, Ruby o
Python.
Es
un servidor de bases de datos de tipo relacional, es considerada por muchos
como la base de datos más popular del mundo.
Se
caracteriza por la ejecución de tareas en simultáneo tanto lectura como
escritura. Además es software libre licenciado bajo GNU/GPL, ofrece gran
velocidad de acceso a los datos y soporta múltiples motores de almacenamiento
como MyISAM e INNODB.
Permite
uso de índices, múltiples transacciones, balanceo de carga, clustering, backups
en caliente, etc.
PostgreSQL server
PostgreSQL es
un servidor de bases de datos de tipo relacional, open source y orientado a
objetos licenciado bajo la licencia PostgreSQL.
Tras
MYSQL es una de las opciones más elegidas, sobre todo en entornos empresariales
y gubernamentales donde la seguridad de los datos es algo primordial.
Se
caracteriza por ofrecer una gran estabilidad, robustez y velocidad a la hora de
administrar los datos.
Otra
razón por la que es muy elegido entre bancos e instituciones financieras es debido
a su excelente forma de manejar grandes volúmenes de datos y alta simultaneidad
de usuarios.
Microsoft SQL Server
Es el servidor de base de datos SQL relacional de Microsoft. Es muy popular entre usuarios de la plataforma Windows Server, debido a que ofrece una compatibilidad nativa con el lenguaje de programación ASP/ASP.NET, así como con toda la suite de desarrollo de aplicaciones de sistemas operativos Windows.
Ofrece
soporte de procedimientos almacenados, transacciones, administración mediante
una interfaz gráfica (GUI), uso de comandos DML y DDL, uso de servidor remoto,
y también ofrece una interfaz de comandos llamada osql o SQLCMD.
MongoDB server
MongoDB es
a diferencia del resto de las opciones, el motor de base de datos NoSQL
orientado a documentos más popular del mundo.
Es
software libre, y a diferencia de MySQL, PostgreSQL y los demás, no guarda
datos en tablas, sino en estructuras BSON (muy parecidas a JSON) dinámicas, algo que
hace que su acceso sea rápido y fácil.
Se
caracteriza por ser multiplataforma, corriendo sin problemas en Windows, Linux,
MacOS y Solaris.
Otras
funciones que ofrece son indexación, replicación de datos, balanceo inteligente
de carga, almacenamiento de archivos, agregación de datos (similar al GROUP BY
de SQL), configuración de privilegios de usuarios y encriptación por SSL/TLS.
Es
especialmente útil cuando se necesita una inmediatez de datos, acceso rápido, y
recuperación ante fallas de forma instantánea.
Comentarios
Publicar un comentario