Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Database e Hosting Replit DB

In questa lezione approfondiamo l'utilizzo di Replit DB, il database integrato della piattaforma di vibe coding Replit
In questa lezione approfondiamo l'utilizzo di Replit DB, il database integrato della piattaforma di vibe coding Replit
Link copiato negli appunti

In questa lezione approfondiamo come utilizzare Replit DB, il database integrato di Replit, pensato per essere semplice, persistente e pronto all’uso nei nostri progetti. Replit DB è particolarmente utile per applicazioni web, bot, strumenti CLI e molto altro. Ci permette di memorizzare e recuperare dati facilmente, senza bisogno di configurare server o dipendenze esterne.

I database in Replit

Su Replit abbiamo a disposizione due principali sistemi di storage per i nostri progetti, pensati per rispondere a esigenze diverse in termini di complessità e scalabilità.

Il primo è il semplice e immediato Key-Value Store, offerto da Replit DB, che ci consente di salvare e recuperare dati utilizzando coppie chiave-valore. Questo sistema è estremamente leggero, non richiede configurazioni particolari ed è perfetto per applicazioni semplici, bot, prototipi o progetti che richiedono una gestione rapida e diretta dei dati senza la necessità di strutturare database complesse.

Dall’altra parte, per progetti più articolati che richiedono una gestione robusta dei dati e funzionalità avanzate, possiamo affidarci a PostgreSQL, un database relazionale molto potente e flessibile. PostgreSQL ci permette di organizzare i dati in tabelle, definire relazioni tra di esse e utilizzare query SQL complesse per manipolare e interrogare i dati. Questa soluzione è ideale per applicazioni di medie e grandi dimensioni, dove la struttura, l’integrità e le performance della gestione dati sono fondamentali.

Come si accede a PostgreSQL DB 

Per iniziare ad utilizzare Replit DB in un nostro progetto dobbiamo per prima cosa aggiungere un database. Per fare ciò possiamo utilizzare uno dei seguenti metodi:

  • Chiedere ad Agent di aggiungere un database alla nostra app Replit, fornendo i dettagli su quali dati vogliamo memorizzare. Agent si occuperà di aggiungere l’integrazione, creare lo schema del database e aggiornare l’app in modo che possa comunicare correttamente con il database.
  • Usare lo strumento Database e selezionare “Crea un database”. In questo caso, dovremo creare noi le tabelle e aggiornare l’app per connettersi al database.

Supponiamo di volere aggiungere manualmente il database. Quindi, come mostrato nell'immagine in basso:

Selezioniamo l'icona del database. Ci verrà mostrata una schermata come questa:

Chiaramente senza un piano a pagamento non potremmo utilizzare il DB di Replit (PostgreSQL). Una volta creato un database, per poter eseguire comandi SQL utilizzeremo SQL runner, ovvero uno strumento presente nel workspace che ci permette di eseguire comandi SQL direttamente sul nostro database e di visualizzarne i risultati in modo semplice e immediato. Per utilizzare SQL runner:

  • Apriamo lo strumento Database nel nostro Repl.
  • Selezioniamo la scheda “My Data”.
  • Clicchiamo sull’icona di SQL runner.

Per eseguire una query, scriviamo la nostra istruzione SQL nell’area di testo e premiamo il pulsante "run" (icona a forma di freccia o simile) accanto al campo, come mostrato nell’immagine:

Lo strumento Database di Replit include anche Drizzle Studio, un’interfaccia grafica che ci permette di esplorare e modificare i dati in modo visuale, senza dover scrivere codice SQL. Questi strumenti visivi ci aiutano a evitare errori di sintassi e offrono funzionalità molto utili come:

  • Filtrare e ordinare i dati per concentrarci sulle informazioni più rilevanti.
  • Esportare i dati in un file per usarli esternamente.
  • Inserire o modificare i dati nelle righe direttamente dall’interfaccia.
  • Creare e gestire schemi, tabelle, viste ed enumerazioni.

Un'immagine di Drizzle Studio è mostrata in basso:

Come si usa PostgreSQL DB (in Python)

Quando sviluppiamo un'applicazione su Replit che utilizza un database PostgreSQL, uno dei primi passi fondamentali è stabilire una connessione sicura con il database e verificare che le query funzionino correttamente. Di seguito, vediamo un esempio pratico di come possiamo connetterci a un database PostgreSQL utilizzando Python:

import os
import psycopg2
database_url = os.environ['DATABASE_URL']
try:
    conn = psycopg2.connect(database_url)
    cur = conn.cursor()
    # example query that assumes users table is present
    cur.execute("SELECT * FROM users WHERE active = true")
    results = cur.fetchall()
finally:
    cur.close()
    conn.close()

In questo frammento di codice, importiamo innanzitutto i moduli necessari: os per accedere alle variabili d'ambiente e psycopg2 per gestire la connessione ad un database PostgreSQL. Recuperiamo l'URL del database dalla variabile d'ambiente DATABASE_URL, così da non esporre dati sensibili nel codice. Successivamente, creiamo una connessione al database utilizzando questo URL e apriamo un cursore che ci permette di eseguire comandi SQL. In questo esempio, eseguiamo una query che seleziona tutti gli utenti attivi dalla tabella users e memorizziamo i risultati. Infine, nel blocco finally, ci assicuriamo di chiudere sempre sia il cursore che la connessione al database, liberando così le risorse anche in caso di errori durante l'esecuzione della query.

Key-Value Store

Key-Value Store di Replit è il secondo sistema di persistenza presente in Replit. E' un database chiave-valore (key-value) progettato per essere semplice da usare, persistente e perfettamente integrato nell’ambiente Replit. A differenza dei database relazionali come MySQL o PostgreSQL, Replit DB non richiede strutture complesse, tabelle o linguaggi di query come SQL. Ogni informazione viene salvata come una coppia chiave-valore, dove la chiave è una stringa unica e il valore può essere una stringa, un numero, una lista, un dizionario (in Python) o qualunque altro oggetto serializzabile.

Key-Value Store di Replit è pensato per essere cloud-native: tutti i dati sono salvati nei server di Replit e accessibili anche da remoto tramite un’API REST, il che significa che possiamo usare questo database anche fuori da Replit, per esempio da un’app mobile o da un altro backend. Tra i punti di forza principali ci sono:

  • Integrazione automatica: già incluso in ogni Repl, pronto all’uso.
  • Supporto per più linguaggi: Python, Node.js, Bash e qualsiasi altro linguaggio tramite l’API REST.
  • Zero configurazione: nessuna installazione o provisioning.
  • Accesso remoto: possiamo interagire con il DB anche da applicazioni esterne.
  • Prezzo: è gratuito fino a un uso moderato, incluso nei piani free di Replit.

In sintesi, è uno strumento potente e immediato per dare ai nostri progetti una memoria persistente, senza barriere tecniche. È perfetto per salvare informazioni utente, dati temporanei, preferenze, contatori e molto altro, con la facilità di scrivere semplicemente db["chiave"] = valore.

Per fare un esempio pratico, vediamo che il Key-Value Store funziona in modo simile a un dizionario in Python o a un oggetto in JavaScript. Ecco come possiamo aggiungere dati:

from replit import db
# Add a key and value to the database
db["key1"] = "value1"

Possiamo anche chiedere all'Agent di installare le librerie necessarie per eseguire il codice sopra riportato. In modo da far fare tutto a lui.

Ecco come poter usare il Key-Value Store:

from replit import db
db["key1"] = "value1"
print(db["key1"])

Conclusioni

In questa lezione abbiamo esplorato le due principali soluzioni di storage offerte da Replit: il Key-Value Store integrato, semplice e pronto all’uso, e il database PostgreSQL, più avanzato e adatto a progetti complessi.

Abbiamo visto come entrambi ci permettono di memorizzare dati in modo persistente, con approcci diversi in base alle esigenze del progetto. Replit DB è perfetto per iniziare rapidamente, mentre PostgreSQL offre tutta la potenza e la flessibilità di un database relazionale. In entrambi i casi Replit ci fornisce strumenti visivi e automatizzati per facilitare la gestione dei dati, permettendoci di concentrarci sullo sviluppo delle nostre applicazioni.

Se vuoi aggiornamenti su Database e Hosting Replit DB inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche