Bases de Datos: Conceptos Fundamentales y Tecnologías NoSQL

Clasificado en Informática

Escrito el en español con un tamaño de 2,8 KB

Bases de Datos

Características

  • Datos persistentes: No se pierden.
  • Masivos: Gigabytes, Terabytes o más.
  • Eficientes: Buenas prestaciones en todo momento.
  • Fiables: Garantizan la integridad de los datos.
  • Concurrentes/Multiusuario: Permiten el acceso simultáneo de varios usuarios.
  • Seguras: Protegidas contra fallos de software, hardware y eléctricos.
  • Convenientes: Vistas física y lógica separadas. Lenguajes de manipulación de datos declarativos. Escalables.

Conceptos Básicos

Modelo de Datos

Conjunto de herramientas conceptuales para describir los datos, sus relaciones, significado, restricciones y consistencia. El modelo de datos relacional es el más utilizado.

Entidad

Categorías generales para almacenar información de personas, lugares, cosas, etc.

Atributos

Características de las entidades.

Diagrama Entidad-Relación

Representación gráfica de las entidades, sus atributos y las relaciones entre ellas.

Cardinalidad

Número de entidades de un tipo que se relacionan con una de otro tipo.

Tabla (Relación)

  • Entidades: Registros, filas o tuplas.
  • Atributos: Campos o columnas.

Dominio

Conjunto de valores permitidos para cada atributo.

Valor Null

Indica que no hay ningún valor o es desconocido.

Campo Clave

Atributo importante para búsquedas y relaciones entre registros.

Clave Primaria

Identifica unívocamente a un registro. No puede estar duplicada.

Clave Compuesta

Contiene varios campos simultáneamente.

Relaciones entre Tablas

  • Relaciones lógicas: Entre los datos representados en las tablas.
  • Integridad referencial: Mecanismo para mantener la coherencia, evitando valores vacíos, cambios en campos y borrados de registros en la tabla principal.

NoSQL (Not only SQL)

  • No utilizan un sistema relacional.
  • Varios modelos de datos (documentos, gráficos, pares clave-valor, objetos, columnas, JSON, XML, etc.).
  • Uso creciente.

Ventajas

  • Flexibilidad: No todos los datos son estructurados.
  • Facilidad de desarrollo de prototipos.
  • Escalabilidad.

Algunos Nombres

  • HBase (Hadoop)
  • MongoDB
  • Cassandra (Apache)
  • Redis
  • Dynamo DB (Amazon)
  • Neo4j
  • CouchDB
  • Azure DocumentDB (Microsoft)

Inconvenientes

• Menos velocidad • Menos maduras • Muchas no soportan transacciones • Menos conocidas

Entradas relacionadas: