Saltar al contingut

Neon

Neon

Les càrregues de treball de les bases de dades s’estan traslladant al núvol; ningú vol gestionar una base de dades per si mateix.

El cost és particularment important quan es dissenya un sistema per al núvol. Un servei Postgres modern es pot dissenyar de manera diferent perquè sigui més econòmic i eficient en entorns de núvol mitjançant un enfocament de separació d’emmagatzematge i computació.

Una de les implicacions immediates és no utilitzar mai volums EBS i utilitzar en el seu lloc una combinació d’emmagatzematge local i S3. Emmagatzematge local per a dades actives i S3 per a dades inactives.

Cada usuari obté un Postgres dedicat que s’executa en un contenidor, mentre que les dades s’emmagatzemen de forma segura en un sistema multiusuari escrit en Rust.

L’emmagatzematge consta de dos serveis:

  • Safekeepers implementa un protocol de consens.

  • Els Pageservers serveixen pàgines de base de dades amb baixa latència i proporcionen “espai de treball” per a actualitzacions. Els Pageservers no són part del sistema de registre: pots perdre tots els Pageservers i no perdràs cap dada.

La combinació de Safekeepers i S3 proporciona el sistema de registre.

Aquesta arquitectura ofereix una sorprenent quantitat de beneficis:

  1. La computació i l’emmagatzematge estan separats, per la qual cosa no es produeix un excés d’aprovisionament. L’emmagatzematge està recolzat per un S3 fiable i econòmic, per la qual cosa no cal triplicar el cost d’emmagatzematge de les dades. Els “Safekeepers” només han d’emmagatzemar una petita finestra de les dades més recents que encara no es guarden en S3. A més, els “Safekeepers” i “Pageservers” es poden compartir entre usuaris, per la qual cosa l’usuari final tampoc paga el triple per la computació. Les còpies de seguretat i les restauracions s’integren perfectament, ja que estan totes incorporades en l’arquitectura d’emmagatzematge.

  2. Atès que l’emmagatzematge és independent, la computació, que és un procés de Postgres, es torna sense estat (excepte la memòria cau del búfer). Això permet reprogramar dinàmicament la computació i moure-la d’un node a un altre. I això obre la possibilitat d’executar una capa de computació que s’escala en resposta als canvis en el trànsit, inclosa la reducció a 0 quan la base de dades no està en ús.

  3. Aquesta arquitectura permet ramificar instantàniament la seva base de dades Postgres de manera immediata utilitzant la tècnica “copy on write” per crear entorns de prova, provar migracions amb una “instantània” de l’entorn de producció, etc.

Crea un nou projecte:

Documentació


El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.

©2022-2025 xtec.dev