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