Questa pagina descrive Calíope 1.5. È la versione che sto costruendo adesso; la 1.4 è sull'App Store su tutti i dispositivi, Mac compreso, quindi ciò che appartiene alla 1.5 compare sotto come pubblicato perché è finito nella versione che sto costruendo, ma non si può scaricare finché la 1.5 non arriva sull'App Store.
Calíope cresce da tre cose: ciò che arriva dal supporto, i report di diagnostica che le persone scelgono di condividere e il lavoro quotidiano su database reali. Questa pagina dice a che punto è ogni voce — comprese quelle che ho deciso di non fare, con il loro motivo, perché una roadmap che elenca solo promesse dice ben poco. Manca qualcosa? Suggerisci una funzione.
🟡 In valutazione
— valuto ambito, fattibilità tecnica e domanda. Nessuna data implicita
Più motori: la cucitura è già posata
In valutazione
Aggiungere un motore a Calíope significa implementare dei protocolli, non modificare gli strumenti. Quel lavoro è fatto e collaudato: il motore di backup, il comparatore di schemi e il catalogo degli errori ci passano già, e nessun nome di motore è scritto fuori dalla propria cartella — nemmeno nei cinque file di traduzione. PostgreSQL è stato il primo motore ad arrivare così, nella 1.3, senza riscrivere un solo strumento. SQL Server è arrivato allo stesso modo nella 1.5; quale motore verrà dopo è ancora in valutazione.
Fondamenta in 1.2 · primo motore nuovo in 1.3
Redis
In valutazione
Un archivio chiave-valore in memoria, che ha una forma diversa da una tabella: un esploratore di chiavi con i pattern che si scrivono davvero, il tempo di vita di ogni chiave visibile e modificabile, una vista che disegna ogni valore secondo il suo tipo — stringa, lista, set, sorted set, hash, stream — e un pannello del server con memoria, keyspace e client. Qui non c'è SQL, quindi arriverebbe come strumento a sé, come è arrivato MongoDB.
ClickHouse
In valutazione
Analitica colonnare su server, tramite la sua interfaccia HTTP. Ciò che aggiunge è la scala che un motore per righe non raggiunge: aggregazioni su miliardi di righe e viste materializzate che tengono precalcolata la parte costosa. Riusa l'editor SQL e l'albero dello schema, con il proprio dialetto e il proprio vocabolario per ciò di cui è fatta una tabella. L'analitica colonnare in un file locale è arrivata con l'Editor DuckDB nella 1.5; ClickHouse porterebbe la stessa forma su un server, e Redis aggiungerebbe il chiave-valore.
Altre lingue dell'interfaccia
In valutazione
Calíope esiste in cinque lingue: inglese, spagnolo, francese, tedesco e italiano. Sono emersi il portoghese e il giapponese. Dimmi quale vorresti come prossima — l'app è tradotta davvero, non localizzata a macchina, quindi ogni nuova lingua è lavoro reale e preferisco azzeccarla.
🔴 Scartato
— deciso di no, con il motivo. Restano visibili di proposito
Database SQLite cifrati (SQLCipher)
Scartato
L'Editor SQLite apre solo database non cifrati. Supportare SQLCipher significa distribuire e mantenere un fork di SQLite dentro un'app in sandbox dell'App Store, e lo strumento è pensato per ispezionare archivi Core Data e database incorporati nelle applicazioni, che non sono cifrati.
Motivo: ambito e manutenzione
La tua posizione sulla mappa spaziale
Scartato
Mostrare dove sei richiederebbe un permesso di localizzazione e la relativa voce nell'etichetta privacy dell'App Store, in cambio di qualcosa di cui questo strumento non ha bisogno: sulla mappa conta dove sono i tuoi dati, non dove sei tu.
Motivo: costo di privacy senza beneficio
Sondare entrambi gli indirizzi prima di connettersi
Scartato
Sarebbe allettante provare host principale e alternativo in parallelo e tenere il più veloce. Aprire e chiudere connessioni TCP senza completare l'handshake aumenta aborted_connects sul server e può finire in Host is blocked because of many connection errors. Il failover avviene nel tentativo reale.
Motivo: danneggia il server che vuoi raggiungere
MongoDB attraverso il livello relazionale
Scartato
MongoDB è uno strumento autonomo, con la propria sessione e il proprio insieme di schede, non un motore in più dietro a quelli esistenti. L'astrazione relazionale modella chiavi esterne, binlog, replica ed EXPLAIN; un database documentale lascerebbe quasi tutto vuoto, e ogni strumento dovrebbe iniziare a chiedersi che tipo di sessione sta guardando.
Motivo: sarebbe la forma sbagliata
🟢 Pubblicato di recente
— le tre più recenti; l'elenco completo è nel changelog
SQL Server
Pubblicato
Microsoft SQL Server, attraverso la stessa cucitura da cui è entrato PostgreSQL e con un driver che ho scritto a partire dal protocollo che pubblica Microsoft. Profili di connessione, esploratore dello schema con i suoi schemi, editor SQL con i suoi snippet, parole chiave e schede delle funzioni, EXPLAIN visuale, backup e ripristino, manutenzione, login e permessi con il DENY mostrato come tale, e monitoraggio del server. Versione 2022 o successiva, sempre cifrato. La replica resta una faccenda di MySQL e MariaDB, e ciò che il motore non ha viene nascosto invece di essere mostrato spento.
Versione 1.5
Editor DuckDB
Pubblicato
Un secondo motore locale compilato dentro l'app, accanto all'Editor SQLite e senza connessioni da configurare. Apri un file .duckdb senza alcun server da installare, oppure interroga un Parquet, CSV o JSON dove già si trova — non si importa e non si copia nulla. Albero dello schema con sequenze, tipi e macro, griglia dati, SQL con tetto di righe e Ferma, SUMMARIZE, esportazione e importazione dell'intero database, allegarne un altro in sola lettura, e i file DuckDB come sorgente dei Report.
Versione 1.5
Calíope sul tuo iPhone
Pubblicato
Calíope si dispone per il telefono e si installa dalla stessa pagina dell'App Store del Mac e dell'iPad. È il client intero, non un visualizzatore: si connette ai tuoi server ed esegue le tue query, con gli stessi strumenti dell'iPad e senza una sola verifica del dispositivo in tutto l'albero. I tuoi profili, gli snippet, la cronologia e le conversazioni con l'assistente arrivano dal tuo iCloud, e quando quell'interruttore è chiuso lo nomina invece di mostrare una schermata vuota lasciandoti concludere che non c'è nulla che non va.
Versione 1.4