Introducció a les Bases de Dades NoSQL
Les bases de dades NoSQL (Not Only SQL) són sistemes de gestió de bases de dades dissenyats per emmagatzemar, gestionar i recuperar dades de manera eficient en entorns on les bases de dades relacionals tradicionals poden no ser adequades. Aquestes bases de dades són especialment útils per a aplicacions que requereixen alta escalabilitat, flexibilitat en l'estructura de dades i capacitat per gestionar grans volums de dades.
Característiques Clau de les Bases de Dades NoSQL
- Escalabilitat Horitzontal: Capacitat per distribuir dades i càrregues de treball a través de múltiples servidors.
- Model de Dades Flexible: Suport per a estructures de dades no rígides, com ara documents, claus-valor, columnes àmplies i gràfics.
- Alta Disponibilitat: Dissenyades per ser tolerants a fallades i proporcionar alta disponibilitat.
- Rendiment: Optimitzades per a operacions de lectura i escriptura ràpides.
- Consistència Eventual: Moltes bases de dades NoSQL opten per la consistència eventual en lloc de la consistència immediata.
Tipus de Bases de Dades NoSQL
- Bases de Dades de Documents: Emmagatzemen dades en formats de documents, com JSON, BSON o XML.
- Exemples: MongoDB, CouchDB
- Bases de Dades de Claus-Valor: Emmagatzemen dades com a parelles clau-valor.
- Exemples: Redis, DynamoDB
- Bases de Dades de Columnes Amples: Emmagatzemen dades en files i columnes, però amb una estructura flexible.
- Exemples: Cassandra, HBase
- Bases de Dades de Gràfics: Optimitzades per a emmagatzemar i navegar relacions complexes entre dades.
- Exemples: Neo4j, ArangoDB
Exemples Pràctics
Exemple 1: MongoDB (Base de Dades de Documents)
MongoDB és una base de dades NoSQL de documents que emmagatzema dades en format BSON (una extensió binària de JSON).
Inserció de Documents
// Inserir un document en una col·lecció db.usuaris.insertOne({ "nom": "Joan", "edat": 30, "correu": "[email protected]", "adreça": { "carrer": "Carrer Major", "ciutat": "Barcelona" } });
Consulta de Documents
Exemple 2: Redis (Base de Dades de Claus-Valor)
Redis és una base de dades NoSQL de claus-valor que emmagatzema dades en memòria per a un accés ràpid.
Inserció de Claus-Valor
Consulta de Claus-Valor
Exercicis Pràctics
Exercici 1: Treballar amb MongoDB
- Inserir Documents: Inseriu tres documents a la col·lecció
productes
amb els següents camps:nom
,preu
,categoria
. - Consultar Documents: Realitzeu una consulta per trobar tots els productes amb un preu superior a 50.
Solució
// Inserir documents db.productes.insertMany([ { "nom": "Producte A", "preu": 30, "categoria": "Electrònica" }, { "nom": "Producte B", "preu": 60, "categoria": "Llar" }, { "nom": "Producte C", "preu": 80, "categoria": "Electrònica" } ]); // Consultar documents amb preu superior a 50 db.productes.find({ "preu": { $gt: 50 } });
Exercici 2: Treballar amb Redis
- Inserir Claus-Valor: Inseriu tres claus-valor amb les claus
producte:1
,producte:2
,producte:3
i els valors corresponents. - Consultar Claus-Valor: Recupereu el valor de la clau
producte:2
.
Solució
# Inserir claus-valor SET producte:1 "Producte A" SET producte:2 "Producte B" SET producte:3 "Producte C" # Consultar el valor de la clau producte:2 GET producte:2
Conclusió
Les bases de dades NoSQL ofereixen una solució flexible i escalable per a la gestió de grans volums de dades en aplicacions modernes. Amb diferents tipus de bases de dades NoSQL disponibles, és important triar la que millor s'adapti a les necessitats específiques de la vostra aplicació. A través dels exemples i exercicis pràctics, hem vist com treballar amb MongoDB i Redis, dues de les bases de dades NoSQL més populars.
Processament de Dades Massives
Mòdul 1: Introducció al Processament de Dades Massives
Mòdul 2: Tecnologies d'Emmagatzematge
Mòdul 3: Tècniques de Processament
Mòdul 4: Eines i Plataformes
Mòdul 5: Optimització de l'Emmagatzematge i Processament
Mòdul 6: Anàlisi de Dades Massives
Mòdul 7: Casos d'Estudi i Aplicacions Pràctiques
- Cas d'Estudi 1: Anàlisi de Logs
- Cas d'Estudi 2: Recomendacions en Temps Real
- Cas d'Estudi 3: Monitoratge de Xarxes Socials