WorksheetsBases de Dades
Total questions: 84
Worksheet time: 42mins
Quina és la definició més precisa d'una Base de Dades Distribuïda (BDD)?
Una base de dades que es guarda en un USB i es porta d'un lloc a l'altre.
Un conjunt de múltiples bases de dades lògicament relacionades, distribuïdes en diferents espais físics i interconnectades per una xarxa.
Diverses bases de dades diferents sense cap connexió entre elles.
Una base de dades que només funciona al núvol d'Apple.
Des del punt de vista de l'usuari final, com s'ha de veure una Base de Dades Distribuïda?
Com un sistema complex amb molts servidors.
Com una única base de dades local (Visió Lògica Única), amagant la complexitat de la xarxa.
Com una llista d'adreces IP.
Com una carpeta compartida lenta.
Quina funció principal té el SGBDD (Sistema de Gestió de Bases de Dades Distribuïdes)?
Fer que la xarxa vagi més ràpida.
Gestionar l'emmagatzematge i proporcionar mecanismes per fer transparent la distribució a l'usuari.
Dissenyar les pàgines web.
Reparar els ordinadors si s'espatllen.
Quina és la diferència principal entre un sistema Centralitzat i un de Distribuït?
El Centralitzat és més car.
En el Centralitzat, dades i motor estan en un sol lloc; en el Distribuït, estan repartits en diversos nodes.
El Distribuït no necessita electricitat.
No hi ha cap diferència.
Quin és el principal risc (punt feble) d'una base de dades Centralitzada que la Distribuïda intenta solucionar?
El "Punt Únic de Fallada": si cau el servidor central, tot el sistema deixa de funcionar.
Que els cables són massa curts.
Que és massa difícil de programar.
Que ocupa massa espai al despatx.
Com anomenem cadascun dels ordinadors o servidors que formen part d'un sistema distribuït?
Nodes (o Llocs).
Píxels.
Drivers.
Mòdems.
Què entenem per "Autonomia Local" en un sistema distribuït?
Que els ordinadors tenen bateria pròpia.
La capacitat de cada node per processar les seves dades locals i funcionar fins i tot si perd la connexió amb la resta de la xarxa (temporalment).
Que la base de dades s'actualitza sola.
Que no cal programador.
Si un sistema distribuït permet afegir nous nodes fàcilment per assumir més càrrega de treball, diem que té una bona...
Seguretat.
Escalabilitat (Horitzontal).
Visibilitat.
Transparència.
Què és una BDD "Heterogènia"?
Una base de dades amb molts colors.
Una base de dades on només hi ha dades de text.
Un sistema on els diferents nodes poden tenir diferent maquinari, sistemes operatius o gestors de bases de dades (ex: un amb Linux/Oracle i l'altre amb Windows/SQL Server).
Una base de dades molt petita.
Quin component és imprescindible perquè existeixi una Base de Dades Distribuïda?
Una impressora làser.
Una xarxa de comunicacions (Network) que uneixi els nodes.
Una pantalla tàctil.
Altaveus.
Quina és la relació entre "Fiabilitat" i "Bases de Dades Distribuïdes"?
Les distribuïdes són menys fiables perquè tenen més cables.
Les distribuïdes augmenten la fiabilitat perquè si cau un node, els altres poden continuar donant servei.
No tenen relació.
Les centralitzades són les úniques fiables.
Quin és el principal desavantatge de dissenyar un sistema distribuït en lloc d'un centralitzat?
És més complex de gestionar i mantenir (sincronització, seguretat, protocols).
És massa simple.
No permet guardar fotos.
Els usuaris no el volen fer servir.
Quina és la definició més precisa d'una Base de Dades Distribuïda (BDD)?
Una base de dades que es guarda en un USB i es porta d'un lloc a l'altre.
Un conjunt de múltiples bases de dades lògicament relacionades, distribuïdes en diferents espais físics i interconnectades per una xarxa.
Diverses bases de dades diferents sense cap connexió entre elles.
Una base de dades que només funciona al núvol d'Apple.
Des del punt de vista de l'usuari final, com s'ha de veure una Base de Dades Distribuïda?
Com un sistema complex amb molts servidors.
Com una única base de dades local (Visió Lògica Única), amagant la complexitat de la xarxa.
Com una llista d'adreces IP.
Com una carpeta compartida lenta.
Quina funció principal té el SGBDD (Sistema de Gestió de Bases de Dades Distribuïdes)?
Fer que la xarxa vagi més ràpida.
Gestionar l'emmagatzematge i proporcionar mecanismes per fer transparent la distribució a l'usuari.
Dissenyar les pàgines web.
Reparar els ordinadors si s'espatllen.
Quina és la diferència principal entre un sistema Centralitzat i un de Distribuït?
El Centralitzat és més car.
En el Centralitzat, dades i motor estan en un sol lloc; en el Distribuït, estan repartits en diversos nodes.
El Distribuït no necessita electricitat.
No hi ha cap diferència.
Quin és el principal risc (punt feble) d'una base de dades Centralitzada que la Distribuïda intenta solucionar?
El "Punt Únic de Fallada": si cau el servidor central, tot el sistema deixa de funcionar.
Que els cables són massa curts.
Que és massa difícil de programar.
Que ocupa massa espai al despatx.
Com anomenem cadascun dels ordinadors o servidors que formen part d'un sistema distribuït?
Nodes (o Llocs).
Píxels.
Drivers.
Mòdems.
Què entenem per "Autonomia Local" en un sistema distribuït?
Que els ordinadors tenen bateria pròpia.
La capacitat de cada node per processar les seves dades locals i funcionar fins i tot si perd la connexió amb la resta de la xarxa (temporalment).
Que la base de dades s'actualitza sola.
Que no cal programador.
Si un sistema distribuït permet afegir nous nodes fàcilment per assumir més càrrega de treball, diem que té una bona...
Seguretat.
Escalabilitat (Horitzontal).
Visibilitat.
Transparència.
Què és una BDD "Heterogènia"?
Una base de dades amb molts colors.
Una base de dades on només hi ha dades de text.
Un sistema on els diferents nodes poden tenir diferent maquinari, sistemes operatius o gestors de bases de dades (ex: un amb Linux/Oracle i l'altre amb Windows/SQL Server).
Una base de dades molt petita.
Quin component és imprescindible perquè existeixi una Base de Dades Distribuïda?
Una impressora làser.
Una xarxa de comunicacions (Network) que uneixi els nodes.
Una pantalla tàctil.
Altaveus.
Quina és la relació entre "Fiabilitat" i "Bases de Dades Distribuïdes"?
Les distribuïdes són menys fiables perquè tenen més cables.
Les distribuïdes augmenten la fiabilitat perquè si cau un node, els altres poden continuar donant servei.
No tenen relació.
Les centralitzades són les úniques fiables.
Quin és el principal desavantatge de dissenyar un sistema distribuït en lloc d'un centralitzat?
És més complex de gestionar i mantenir (sincronització, seguretat, protocols).
És massa simple.
No permet guardar fotos.
Els usuaris no el volen fer servir.
En el disseny d'una BDD, en què consisteix la "Fragmentació"?
En trencar els discos durs.
En dividir una relació (taula) lògica en sub-taules més petites per distribuir-les millor, sense perdre informació.
En fer còpies de seguretat.
En esborrar dades antigues.
Si dividim la taula "Clients" guardant els de Barcelona al node A i els de Girona al node B, quin tipus de fragmentació estem aplicant?
Fragmentació Vertical.
Fragmentació Horitzontal.
Fragmentació Diagonal.
Fragmentació Mixta.
Quina operació SQL o relacional s'utilitza principalment per definir una Fragmentació Horitzontal?
SELECT (Selecció de files segons una condició).
PROJECT (Selecció de columnes).
JOIN.
DELETE.
En la Fragmentació Vertical, què estem separant?
Separem les files per data.
Separem els atributs (columnes) d'una taula. Ex: Dades personals en un lloc i Dades mèdiques en un altre.
Separem els usuaris.
Separem els índexs.
Per poder reconstruir la taula original després d'una Fragmentació Vertical, què és imprescindible incloure a tots els fragments?
El nom de l'usuari.
La Clau Primària (PK) per poder fer el JOIN després.
La data de creació.
Un camp de comentaris.
Com es reconstrueix (es recupera la taula original) una taula que ha estat fragmentada Horitzontalment?
Amb una operació de JOIN (Reunió).
Amb una operació d'UNION (Unió de conjunts).
Amb una divisió.
No es pot reconstruir.
Què és la "Replicació" en una base de dades distribuïda?
Repetir la mateixa consulta molts cops.
El procés d'emmagatzemar còpies de la mateixa dada o fragment en múltiples nodes de la xarxa.
L'acció de fragmentar una taula.
Un error de duplicació de dades.
Quin és el principal AVANTATGE d'utilitzar Replicació Total (còpia a tot arreu)?
Estalvia espai al disc.
Millora la disponibilitat (si cau un node, n'hi ha un altre) i el rendiment de les lectures (llegeixo del més proper).
És més fàcil de programar.
Les escriptures són més ràpides.
Quin és el principal INCONVENIENT de la Replicació?
Augmenta la complexitat de les actualitzacions (escriptures), ja que cal propagar els canvis a totes les còpies per mantenir la coherència.
Ningú sap on són les dades.
És massa ràpida.
Les dades es perden.
Què diu la "Regla de Completesa" (Completeness) en la fragmentació?
Que la taula ha d'estar plena.
Que si descomponem una taula R en fragments, cada dada que estava a R ha d'aparèixer almenys en un dels fragments (no podem perdre dades).
Que els fragments han de ser iguals.
Que hem de completar el formulari.
En què consisteix el problema de l'"Assignació" (Allocation)?
En assignar sous als empleats.
En decidir en quin node o lloc físic concret de la xarxa s'ha d'emmagatzemar cada fragment o rèplica per optimitzar el rendiment.
En donar permisos als usuaris.
En comprar els servidors.
Si tenim una taula fragmentada horitzontalment (per ciutat) i després cada tros el fragmentem verticalment (dades sensibles vs públiques), això és...
Fragmentació Impossible.
Fragmentació Mixta (o Híbrida).
Fragmentació Total.
Fragmentació Caòtica.
Què és una "Transacció" en el món de les bases de dades?
Una transferència bancària de diners.
Una seqüència d'operacions (lectura/escriptura) que es considera una unitat lògica de treball: o es fa tota sencera o no es fa.
L'intercanvi de dades entre dos servidors.
Un error de connexió.
Què signifiquen les sigles ACID, les propietats que ha de complir tota transacció segura?
Atomicitat, Consistència, Aïllament (Isolation), Durabilitat.
Accés, Control, Internet, Dades.
Algorisme, Codi, Informació, Disc.
Altes, Canvis, Insercions, Definicions.
En un entorn distribuït, què significa la propietat d'"Atomicitat"?
Que les dades són molt petites.
Que totes les operacions de la transacció s'han de completar amb èxit a tots els nodes implicats; si una falla, s'han de desfer totes (Tot o Res).
Que la base de dades utilitza energia nuclear.
Que només un usuari pot entrar.
Si una transacció falla a la meitat (per exemple, es talla la llum), què ha de fer el sistema?
Deixar les dades a mitges.
Un COMMIT (Confirmar).
Un ROLLBACK (Desfer): tornar la base de dades a l'estat anterior a l'inici de la transacció.
Apagar el servidor.
Quin és el protocol estàndard més utilitzat per garantir l'atomicitat en transaccions distribuïdes?
Protocol HTTP.
Commit en Dues Fases (2PC - Two Phase Commit).
Protocol de Transferència de Fitxers (FTP).
Protocol de Blockchain.
Què passa en la "Fase 1" (Fase de Votació) del protocol 2PC?
El coordinador demana a tots els nodes si estan preparats per fer el commit. Els nodes responen "SI" o "NO".
Els nodes guarden les dades definitivament.
El coordinador esborra les dades.
Es reinicien els servidors.
En el protocol 2PC, què fa el coordinador si rep un "NO" (o no rep resposta) d'algun dels nodes participants?
Ignora el node que falla i guarda la resta.
Envia una ordre de "Global Commit" a tothom igualment.
Envia una ordre de "Global Abort" (Rollback) a tots els nodes perquè desfacin els canvis provisionals.
Crida al servei tècnic.
Què és el "Control de Concurrència"?
Controlar la velocitat d'internet.
El mecanisme per gestionar l'accés simultani de múltiples transaccions a la mateixa dada sense que es produeixin inconsistències o errors.
Controlar qui entra a l'edifici del servidor.
Evitar que la base de dades s'ompli.
Quina és una tècnica clau per gestionar la concurrència i evitar conflictes d'escriptura?
El Bloqueig (Locking): impedir que altres transaccions accedeixin a una dada mentre jo l'estic modificant.
La fragmentació.
La compressió de dades.
El mode avió.
Què és un "Deadlock" (Interbloqueig o Abraçada Mortal)?
Quan el servidor es mor.
Una situació on la transacció A espera que la B alliberi una dada, i la B espera que la A n'alliberi una altra, quedant-se les dues bloquejades indefinidament.
Un tipus de virus.
Quan s'acaba el temps de la consulta.
Què és l'"Aïllament" (Isolation) en les propietats ACID?
Que el servidor està en una habitació sol.
Que els resultats intermedis d'una transacció no són visibles per a altres transaccions fins que aquesta no acaba (es fa el Commit).
Que cal desconnectar el cable de xarxa.
Que les dades estan xifrades.
Quina alternativa al bloqueig utilitza marques de temps per ordenar les transaccions?
Timestamping (Ordenació per marques de temps).
Rellotge de sorra.
Cronòmetre invers.
Calendari de Google.
Què postula el famós "Teorema CAP" (de Brewer) per als sistemes distribuïts?
Que un sistema ha de tenir sempre 3 còpies de seguretat.
Que és impossible garantir simultàniament les tres propietats: Consistència, Disponibilitat i Tolerància a Particions. Només en pots triar dues.
Que els ordinadors han de portar gorra (Cap).
Que la capacitat del disc dur és infinita.
En el context del Teorema CAP, què significa la "C" (Consistència)?
Que el sistema sempre funciona.
Que tots els nodes veuen exactament les mateixes dades al mateix temps (si llegeixes després d'escriure, obtens l'últim valor).
Que el sistema és constant.
Que les dades no tenen errors ortogràfics.
Què significa la "A" (Availability / Disponibilitat) al Teorema CAP?
Que cada petició rep una resposta (sense error), encara que la dada no sigui la més recent. El sistema no es penja mai.
Que el sistema està disponible només en horari laboral.
Que hi ha molts usuaris connectats.
Que el software és gratuït.
Què és la "Tolerància a Particions" (P)?
La capacitat de dividir el disc dur en particions.
La capacitat del sistema per continuar funcionant fins i tot si es talla la comunicació (xarxa) entre els nodes o servidors.
Que el sistema tolera bé les particions musicals.
Que es pot partir la pantalla en dos.
Si dissenyes una xarxa social com Twitter o Instagram, quina combinació del CAP acostumes a prioritzar?
CA (Consistència i Disponibilitat), sense tolerància a xarxa.
AP (Disponibilitat i Tolerància a Particions): prefereixo que l'app carregui encara que no vegi l'últim "M'agrada" a l'instant, abans que donar error.
CP (Consistència i Partició): prefereixo bloquejar l'app si no puc garantir que la foto és l'última versió.
Cap de les anteriors.
Per contra, un sistema bancari o de borsa, què ha de prioritzar absolutament?
A (Disponibilitat) per sobre de tot.
C (Consistència): és inacceptable que el saldo sigui diferent segons el servidor que miris, encara que el sistema hagi d'anar més lent o bloquejar-se temporalment.
P (Partició) només.
La velocitat gràfica.
Com a alternativa al model rígid ACID (SQL), quin model segueixen moltes bases de dades NoSQL?
Model BASE.
Model BASIC.
Model SOLID.
Model LIQUID.
Què significa la "E" de "Eventual Consistency" (Consistència Eventual) en el model BASE?
Que les dades són eventuals i s'esborren.
Que si deixes de fer canvis, "eventualment" (al cap d'un temps) totes les còpies de les dades seran iguals, però no es garanteix que ho siguin a l'instant.
Que la consistència és un esdeveniment festiu.
Que mai hi haurà consistència.
Què vol dir "Soft State" (Estat tou) en el model BASE?
Que el maquinari és tou.
Que l'estat del sistema pot canviar amb el temps (per la sincronització de fons) fins i tot sense rebre noves ordres d'escriptura.
Que el programari és fàcil d'usar.
Que les dades no són importants.
Les bases de dades relacionals clàssiques (MySQL, PostgreSQL) estan dissenyades originalment per garantir...
Només Disponibilitat.
Propietats ACID (Consistència forta).
Propietats BASE (Flexibilitat).
Caos total.
Per què van aparèixer les bases de dades NoSQL (MongoDB, Cassandra)?
Perquè l'SQL era massa difícil.
Per resoldre problemes de "Big Data" i escalabilitat massiva on el model relacional rígid (ACID) era un coll d'ampolla pel rendiment.
Perquè són més barates.
Perquè Google ho va ordenar.
En un sistema amb "Consistència Eventual", quin risc assumim?
Que l'ordinador exploti.
Que durant uns mil·lisegons (o segons), un usuari a Europa vegi una dada diferent d'un usuari a Amèrica (lectura de dades "brutes" o antigues).
Que es perdin totes les dades per sempre.
Que no funcioni sense internet.
Què postula el famós "Teorema CAP" (de Brewer) per als sistemes distribuïts?
Que un sistema ha de tenir sempre 3 còpies de seguretat.
Que és impossible garantir simultàniament les tres propietats: Consistència, Disponibilitat i Tolerància a Particions. Només en pots triar dues.
Que els ordinadors han de portar gorra (Cap).
Que la capacitat del disc dur és infinita.
En el context del Teorema CAP, què significa la "C" (Consistència)?
Que el sistema sempre funciona.
Que tots els nodes veuen exactament les mateixes dades al mateix temps (si llegeixes després d'escriure, obtens l'últim valor).
Que el sistema és constant.
Que les dades no tenen errors ortogràfics.
Què significa la "A" (Availability / Disponibilitat) al Teorema CAP?
Que cada petició rep una resposta (sense error), encara que la dada no sigui la més recent. El sistema no es penja mai.
Que el sistema està disponible només en horari laboral.
Que hi ha molts usuaris connectats.
Que el software és gratuït.
Què és la "Tolerància a Particions" (P)?
La capacitat de dividir el disc dur en particions.
La capacitat del sistema per continuar funcionant fins i tot si es talla la comunicació (xarxa) entre els nodes o servidors.
Que el sistema tolera bé les particions musicals.
Que es pot partir la pantalla en dos.
Si dissenyes una xarxa social com Twitter o Instagram, quina combinació del CAP acostumes a prioritzar?
CA (Consistència i Disponibilitat), sense tolerància a xarxa.
AP (Disponibilitat i Tolerància a Particions): prefereixo que l'app carregui encara que no vegi l'últim "M'agrada" a l'instant, abans que donar error.
CP (Consistència i Partició): prefereixo bloquejar l'app si no puc garantir que la foto és l'última versió.
Cap de les anteriors.
Per contra, un sistema bancari o de borsa, què ha de prioritzar absolutament?
A (Disponibilitat) per sobre de tot.
C (Consistència): és inacceptable que el saldo sigui diferent segons el servidor que miris, encara que el sistema hagi d'anar més lent o bloquejar-se temporalment.
P (Partició) només.
La velocitat gràfica.
Com a alternativa al model rígid ACID (SQL), quin model segueixen moltes bases de dades NoSQL?
Model BASE.
Model BASIC.
Model SOLID.
Model LIQUID.
Què significa la "E" de "Eventual Consistency" (Consistència Eventual) en el model BASE?
Que les dades són eventuals i s'esborren.
Que si deixes de fer canvis, "eventualment" (al cap d'un temps) totes les còpies de les dades seran iguals, però no es garanteix que ho siguin a l'instant.
Que la consistència és un esdeveniment festiu.
Que mai hi haurà consistència.
Què vol dir "Soft State" (Estat tou) en el model BASE?
Que el maquinari és tou.
Que l'estat del sistema pot canviar amb el temps (per la sincronització de fons) fins i tot sense rebre noves ordres d'escriptura.
Que el programari és fàcil d'usar.
Que les dades no són importants.
Les bases de dades relacionals clàssiques (MySQL, PostgreSQL) estan dissenyades originalment per garantir...
Només Disponibilitat.
Propietats ACID (Consistència forta).
Propietats BASE (Flexibilitat).
Caos total.
Per què van aparèixer les bases de dades NoSQL (MongoDB, Cassandra)?
Perquè l'SQL era massa difícil.
Per resoldre problemes de "Big Data" i escalabilitat massiva on el model relacional rígid (ACID) era un coll d'ampolla pel rendiment.
Perquè són més barates.
Perquè Google ho va ordenar.
En un sistema amb "Consistència Eventual", quin risc assumim?
Que l'ordinador exploti.
Que durant uns mil·lisegons (o segons), un usuari a Europa vegi una dada diferent d'un usuari a Amèrica (lectura de dades "brutes" o antigues).
Que es perdin totes les dades per sempre.
Que no funcioni sense internet.
Quin és l'avantatge més important relacionat amb la "Fiabilitat" en una BDD?
Que els ordinadors són més nous.
Que no existeix un "Punt Únic de Fallada": si un node cau, la resta del sistema pot continuar funcionant.
Que les dades mai s'esborren.
Que no necessita còpies de seguretat.
Com millora el "Rendiment" una base de dades distribuïda ben dissenyada?
Fent que els processadors vagin més ràpid.
Apropant les dades al lloc on es necessiten (Localitat de les dades), reduint el trànsit de xarxa i el temps de resposta.
Utilitzant menys memòria RAM.
No millora el rendiment, sempre és més lenta.
Què entenem per "Creixement Modular" o Escalabilitat com a avantatge?
La capacitat de fer les pantalles més grans.
La facilitat per afegir nous nodes (servidors) a la xarxa per augmentar la potència o capacitat sense haver de substituir tot el sistema.
La capacitat de reduir la mida de la lletra.
La capacitat de canviar de color el programari.
Des del punt de vista econòmic (maquinari), per què pot ser millor una BDD?
Perquè els ordinadors els regalen.
Perquè sol ser més barat tenir un clúster de molts servidors petits (PC) que no pas un únic "Mainframe" gegant amb la mateixa potència total.
Perquè no gasta electricitat.
Perquè Microsoft et paga per usar-la.
Quin és el DESAVANTATGE principal pel que fa al desenvolupament de programari (Software)?
El programari és massa simple.
La gran complexitat de disseny i implementació: gestionar la sincronització, els errors de xarxa i la distribució és molt difícil.
No hi ha desavantatges.
Que ocupa poc espai.
Per què la "Seguretat" és més difícil de gestionar en un entorn distribuït (Desavantatge)?
Perquè els hackers viuen lluny.
Perquè només hi ha un servidor per protegir.
Perquè la xarxa de comunicacions és un punt feble i hi ha molts més punts d'accés (nodes) que cal protegir individualment.
Perquè les contrasenyes són més curtes.
Quin problema sorgeix amb la "Integritat de les dades" en les BDD?
És molt difícil garantir que totes les còpies (rèpliques) siguin idèntiques en tot moment, especialment si hi ha fallades de xarxa.
Les dades es tornen de color verd.
No es poden guardar números.
És massa fàcil de mantenir.
Què passa amb els costos de manteniment i personal?
Són més baixos perquè tot és automàtic.
Augmenten, ja que cal personal més especialitzat (tècnics de xarxes, administradors de sistemes distribuïts) i més temps de gestió.
Són gratuïts.
No cal personal.
Quin desavantatge té la xarxa de comunicacions en si mateixa?
Que la xarxa no es pot veure.
Que pot convertir-se en un coll d'ampolla (lentitud) o un punt de fallada si es satura de dades viatjant d'un node a l'altre.
Que els cables són barats.
Que la xarxa sempre va ràpida.
Què significa la "Manca d'estàndards" com a inconvenient en sistemes heterogenis?
Que no hi ha banderes.
Que encara costa fer que bases de dades de diferents marques (Oracle, SQL Server, MySQL) es comuniquin entre elles de forma fluida i eficient.
Que tothom usa el mateix sistema.
Que els estàndards són massa estrictes.
Si comparem el disseny de la base de dades (Schema Design)...
És més fàcil en distribuït.
És molt més complex en distribuït, ja que has de decidir com fragmentar (trossejar) i on replicar les dades òptimament.
És igual en els dos casos.
No cal dissenyar res.
En resum, quan NO hauries de triar una Base de Dades Distribuïda?
Quan tens milions d'usuaris a tot el món.
Quan necessites màxima disponibilitat 24/7.
Quan la teva aplicació és petita, local i tens un pressupost limitat o poca experiència tècnica (és matar mosques a canonades).
Quan vols aprendre molt.
