Mòdul ASGBD

ASGBD - Disponibilitat d'un SGBD

☁️ Bases de dades al núvol

📘 Què és el núvol en el context de l’SGBD?

El núvol representa una de les tecnologies actuals més utilitzades per garantir la disponibilitat, l’escalabilitat i el rendiment dels Sistemes Gestors de Bases de Dades (SGBD). Permet utilitzar infraestructures virtuals que poden ser:

Avantatges de l’ús del núvol

⚠️ Inconvenients o riscos

☁️ Principals proveïdors de núvol per a SGBD

Aquestes plataformes ofereixen monitoratge en temps real, còpies automàtiques, sistemes de recuperació davant desastres i integració amb eines DevOps.

💬 Resum

Treballar amb un SGBD al núvol ofereix molts avantatges a nivell de rendiment, flexibilitat i manteniment. Tot i això, cal tenir en compte la dependència d’internet i la confiança dipositada en el proveïdor. És una solució recomanable per entorns amb teletreball, projectes dinàmics i empreses que busquen escalabilitat sense gran inversió inicial.

Clúster en sistemes de bases de dades

📘 Què és un clúster?

Un clúster és un conjunt de servidors interconnectats que funcionen com una única unitat per oferir serveis, com ara una base de dades, de manera més robusta i fiable. Això permet aconseguir alta disponibilitat i tolerància a fallades.

🎯 Objectiu principal

Funcionament bàsic

Tots els nodes del clúster comparteixen accés a la mateixa base de dades o disc. Quan un node falla, un altre pot assumir automàticament el seu rol, evitant talls de servei.

Exemples típics:

Components típics d’un clúster

Beneficis del clúster

Consideracions

Exemple gràfic (conceptual)

🖥️ Node 1 (actiu) + 🖥️ Node 2 (en espera) → Base de dades comuna

Si el Node 1 falla, el Node 2 s’activa automàticament (failover).

Conclusió

Els clústers són una solució professional per entorns crítics que requereixen disponibilitat 24/7. Són àmpliament usats en entorns corporatius i serveis en línia amb gran demanda.

SGBDD – Sistemes Gestors de Bases de Dades Distribuïdes

📘 Què és un SGBDD?

Un Sistema Gestor de Bases de Dades Distribuïdes (SGBDD) és un tipus d’SGBD que permet gestionar una base de dades que no es troba emmagatzemada en un únic lloc, sinó que està repartida entre diversos ordinadors o nodes interconnectats.

Cada node pot estar en una ubicació geogràfica diferent, però es presenta a l’usuari com si fos una base de dades única i coherent.

🎯 Objectius d’un SGBDD

Funcionament bàsic

El SGBDD controla com i on es fan les consultes, actualitzacions i sincronitzacions entre nodes. Pot fer rèpliques de les dades per garantir tolerància a errors i millorar la disponibilitat.

Components habituals:

Exemples de SGBDD

Avantatges

⚠️ Inconvenients

💬 Conclusió

Els SGBDD són ideals per a empreses amb presència global, grans volums de dades i necessitat de disponibilitat constant. Tot i la seva complexitat, són una eina poderosa per mantenir bases de dades robustes, escalables i resilients.

Regles D.A.T.E. per a la disponibilitat del SGBD

📘 Què són les regles D.A.T.E.?

Les regles D.A.T.E. són un conjunt de principis que defineixen les característiques essencials que ha de tenir un sistema per ser considerat altament disponible. Aquest acrònim fa referència a:


D – Disponibilitat

El sistema ha d’estar disponible la major part del temps. Això implica minimitzar els talls de servei, tant previstos (manteniments) com imprevistos (errors, fallades de maquinari...).

Exemple: sistemes amb SLA del 99,99% de disponibilitat anual.

A – Accessibilitat

Els usuaris autoritzats han de poder accedir al sistema quan ho necessitin, sense bloquejos ni problemes de connexió. Això implica garantir una conectivitat estable i una infraestructura de xarxa segura.

Exemple: configuració redundant de xarxes i sistemes de control d’accés.

T – Tolerància a errors

El sistema ha de continuar funcionant encara que es produeixi un error o fallada en una part del sistema. Això inclou mecanismes com el failover, rèpliques, backups, i sistemes de recuperació automàtica.

Exemple: clústers amb basculació automàtica (Oracle RAC, SQL AlwaysOn...)

E – Escalabilitat

El sistema ha de poder créixer i adaptar-se a l’augment de dades, d’usuaris o de càrrega de treball, sense perdre rendiment. Aquesta escalabilitat pot ser:

Exemple: bases de dades en núvol amb escalat automàtic.


Conclusió

Seguir les regles D.A.T.E. és fonamental per dissenyar i mantenir sistemes de bases de dades robustos i disponibles. Aquests criteris són especialment rellevants en entorns de producció crítica, on la pèrdua d’accés a les dades pot tenir un gran impacte.

SGBDD – Funcionament i característiques (2a part)

📘 Com funciona un SGBDD?

Un Sistema Gestor de Bases de Dades Distribuïdes (SGBDD) funciona sobre una col·lecció de bases de dades distribuïdes entre diversos ordinadors, però que als usuaris es presenten com una única base de dades lògica.

Tipus de distribució

Transparències en un SGBDD

Un bon SGBDD ha d’oferir diversos nivells de transparència per a l’usuari, com:

Gestió de transaccions

Una transacció distribuïda pot implicar diversos nodes. Per garantir-ne la coherència, s'utilitzen protocols com el 2PC (Two-Phase Commit):

  1. Fase 1 – Preparació: cada node confirma si pot fer el commit.
  2. Fase 2 – Confirmació: si tots els nodes accepten, es fa el commit; si no, es fa rollback.

🔐 Seguretat i consistència

És fonamental garantir que les dades siguin consistents, segures i sincronitzades entre totes les ubicacions. Això pot incloure:

Exemples de solucions SGBDD

Avantatges d’un SGBDD

⚠️ Inconvenients

Conclusió

Els SGBDD són una solució robusta i escalable per a entorns distribuïts, especialment útils en aplicacions globals o crítiques. Tot i que requereixen una gestió tècnica més avançada, ofereixen una gran fiabilitat i disponibilitat si es configuren correctament.

Fragmentació en SGBDD

📘 Què és la fragmentació?

La fragmentació és una tècnica emprada en Sistemes Gestors de Bases de Dades Distribuïdes (SGBDD) que consisteix a dividir una base de dades en parts més petites, anomenades fragments, que poden ser emmagatzemades en diferents llocs (nodes).

Aquesta estratègia permet:


Tipus de fragmentació

1. Fragmentació horitzontal

Consisteix a dividir les files d’una taula en grups. Cada fragment conté un subconjunt de registres amb la mateixa estructura.

Exemple: una taula d’alumnes dividida per campus:

2. Fragmentació vertical

Consisteix a dividir les columnes d’una taula. Cada fragment conté només algunes columnes de la taula original, però inclou la clau primària per poder unir-les.

Exemple:

3. Fragmentació híbrida (mixta)

Combina la fragmentació horitzontal i vertical. Es pot dividir primer per files i després per columnes, o viceversa.

Exemple: alumnes del campus A (fragmentació horitzontal), amb dades separades en dues taules (vertical).


Avantatges de la fragmentació

⚠️ Consideracions i desavantatges

Conclusió

La fragmentació és una tècnica essencial en sistemes distribuïts per millorar l’eficiència i adaptar el sistema a escenaris globals o complexos. Una bona estratègia de fragmentació pot reduir temps de resposta i millorar l’experiència d’usuari.

Replicació de dades en SGBDD

📘 Què és la replicació?

La replicació és el procés mitjançant el qual es creen i mantenen còpies sincronitzades d’una base de dades o d’un subconjunt de les seves dades en diversos nodes d’un sistema distribuït.

Aquesta tècnica s’utilitza per garantir una major disponibilitat, redundància i tolerància a fallades.

🎯 Objectius de la replicació

Tipus de replicació

1. Replicació sincrònica

Les dades es repliquen en temps real entre nodes. Tota escriptura o actualització s’ha de completar en tots els nodes abans de considerar-se finalitzada.

Avantatge: màxima coherència.
Inconvenient: pot alentir les operacions si algun node és lent o falla.

2. Replicació asincrònica

Les dades es repliquen amb cert retard (retard controlat). Les escriptures es fan primer en un node principal, i es propaguen després als altres.

Avantatge: més ràpid i tolerant a la latència.
Inconvenient: pot haver-hi inconsistències temporals.

Models de replicació

Exemples de replicació

Avantatges

⚠️ Inconvenients

Conclusió

La replicació és una estratègia clau per millorar la disponibilitat i la resiliència de les bases de dades, especialment en entorns distribuïts o amb alts requeriments de servei. La seva correcta implementació permet garantir continuïtat operativa i rendiment.

Clúster d'Oracle – Oracle RAC

📘 Què és Oracle RAC?

Oracle RAC (Real Application Clusters) és una solució d’Oracle que permet a diversos servidors accedir a una base de dades compartida simultàniament. Està dissenyada per proporcionar alta disponibilitat, escalabilitat i tolerància a fallades.

Característiques clau

Components d’un entorn RAC

Alta disponibilitat i failover

Oracle RAC garanteix que si un node falla, un altre node assumeix automàticament la càrrega, sense necessitat de reiniciar la base de dades o perdre connexions. Aquesta funcionalitat és essencial per sistemes 24/7.

Escalabilitat

A mesura que creix el volum de dades o les consultes, es poden afegir nous nodes al clúster sense necessitat d’aturar el sistema. Això permet adaptar-se a les necessitats de rendiment en temps real.

Avantatges d'Oracle RAC

⚠️ Inconvenients o requisits

Alternatives similars

Conclusió

Oracle RAC és una de les solucions més potents per a entorns empresarials que requereixen alta disponibilitat i tolerància a fallades. Tot i el seu cost i complexitat, ofereix una plataforma estable per a aplicacions crítiques que no poden permetre’s caigudes de servei.