En el campo de sistemas informáticos, es de vital importancia comprender los conceptos que fundamentan las bases de datos, ya que todo, absolutamente todo sistema se alimenta de ellos, ya sean, aplicaciones web, móviles, software de escritorio etc.
Es una colección de información/datos almacenada de cierta forma y con una estructura específica, (eso depende del motor usado, por ejemplo MongoDB o PostgreSQL), que tienen rutinas optimizadas para guardar, eliminar, consultar y gestionar información.
Entonces, una base de datos está conformada por modelos o tablas; cada tabla tiene N atributos, de diferentes tipos de datos, ellos se guardan como registros, por ejemplo: un registro de la tabla de usuarios en una base de datos, tiene la información del nombre y apellido de una persona (más campos dependiendo de nuestra lógica de negocio), y así podemos tener millones de registros, relacionarlos, indexarlos y demás.
La necesidad de tener una base de datos, se debe a que desde hace años, con la creciente ola informática, no es sostenible simplemente tener nuestra información en un archivo normal, un Excel por ejemplo, Excel No es una base de datos.
Es necesario poder almacenar millones de registros de forma optimizada para nuestros sistemas, y por ello debemos contar con la herramienta adecuada para consultarlos, ya que nuestros recursos siempre serán limitados, en el curso de postgreSQL puedes aprender sobre ello.
En el campo, existen principalmente 2 tipos de motores de base de datos, relacionales y no relacionales. Cada una es más adecuada dependiendo del caso de uso.
Por ejemplo, las bases de datos no relacionales son buenas para guardar modelos con una alta transaccionalidad, pues, su tiempo de respuesta es más bajo, comparadas con las relacionales, pero carece de restricciones, puedes verlo con más detalle en el curso de MongoDB
Por otro lado, una base de datos relacional, se basa en los principios ACID (accesibilidad, consistencia, integridad y disponibilidad), además usa álgebra relacional como fundamento para crear estructuras, relacionarlas entre sí y con ello, guardar datos; Si quieres aprender más sobre teorías de conjuntos ve al curso de Matemáticas Discretas, o el Curso de PostgreSQL para verlo en la práctica, el cual es un buen motor de base de datos relacional.
Dentro de los motores de bases de datos relaciones se encuentran distintas opciones, por ejemplo MySQL, PostgreSQL, SQL Server, MariaDB, etc; Cada una de ellas con diferentes características que las diferencian entre sí, pero todas comparten los mismos principios.
MySQL: es el motor más utilizado en el mercado, esto porque el stack más utilizado es LAMP (Linux, Apache, MySQL y PHP) con esto se sirve la mayor parte de internet, aunque MariaDB, que es un fork mantenido por la comunidad, es muy similar a MySQL.
PostgreSQL: ofrece mejor rendimiento, también ciertas características como almacenamiento de archivos y objetos en formato JSON que permiten hacer búsquedas similares a las que se harían con una base de datos no relacional.
SQL Server: es muy utilizada dentro del software corporativo y bancario, ya que es tecnología Microsoft.
Redis: es una base de datos no relacional ampliamente utilizada para hacer caché, la mayoría de los frameworks modernos de desarrollo web ofrecen soporte y compatibilidad con él, ya que monta toda su estructura en memoria RAM.
MongoDB: es otra base de datos no relacional pero la diferencia es que esta está orientada a documentos y los datos se almacenan en estructuras de tipo BSON (Binary JSON), su principal característica es el dinamismo con el que se puede utilizar un esquema, esto implica que puede cambiarse a criterio del desarrollador sin seguir un estándar en especial.
Al final del día, piensa en que la información que guardas, el día de mañana, será útil para tomar decisiones importantes, es por ello que se crean almacenes de datos especializados para tal fin, esto y mucho más aprenderás con esta ruta de aprendizaje.
Puedes aprender desde cero cómo diseñar y utilizar los mejores motores de Bases de Datos, empieza por el Curso de Porstgres y seguidamente el Curso de MongoDB o también puedes seguir esta ruta de aprendizaje y llegar al objetivo que quieres alcanzar.
SQL: (Structured Query Language) es el lenguaje basado en el álgebra relacional que es utilizado en la gestión de Bases de Datos, permite entre otras cosas hacer consultas, insersiones y modificaciones de esquemas.
MySQL: Es un sistema de gestión de Base de Datos relacional de código abierto más ampliamente utilizado en el mundo.
Base de Datos Relacional: Consiste en almacenar datos en forma de relaciones, todo dentro de un esquema lógico que en este caso son tablas, las relaciones son creadas a través de columnas en las tablas que hacen referencia a otro registro.
Base de Datos No Relacional: También conocida como NoSQL son las Bases de Datos que no siguen el modelo Relacional y que tampoco utilizan SQL como lenguaje de consultas, se caracterizan también por no seguir los principios ACID y también por utilizar colecciones en vez de tablas para almacenar datos.
Ciencia de Datos: Área de conocimiento que busca agregar valor a los datos por medio de la confluencia de análisis estadísticos, métodos computacionales y visualización de información.
John Freddy Vega
hace 5 días
Angie Vanegas Pinto
hace un mes