kisenon

Conceitos

Branches, endpoints, scale-to-zero — o modelo por trás da Kisenon.

A Kisenon separa storage de compute, do jeito que a Neon faz. Entender essa separação faz todo o resto decorrer naturalmente.

O modelo de recursos

Tudo se aninha sob uma organização:

organization ── the unit of membership + billing
└── project ── isolation boundary: one storage volume
    └── branch ── a copy-on-write LSN pointer
        └── endpoint ── the ephemeral Postgres compute

Uma organização possui projetos, membros e cobrança; todo projeto pertence a exatamente uma. Um projeto é o limite de isolamento — um volume de storage, seus próprios branches e endpoints. Um branch aponta para um Log Sequence Number nesse storage; um endpoint é o compute que o serve. Veja Organizações para membros e papéis.

Storage

O storage é durável, replicado e compartilhado por todos os branches de um projeto. Escritas passam pelos safekeepers (quórum Paxos) e aterrissam em pageservers, que servem leituras históricas sob demanda.

Você não gerencia a capacidade de storage diretamente. Você a vê como um único número por projeto, e paga apenas pelos bytes que de fato persiste mais o WAL retido para viagem no tempo.

Branches

Um branch é um ponteiro para um Log Sequence Number (LSN) no storage. Criar um branch é um insert de linha de banco O(1); ele não copia dados. Leituras de um branch caem para o pai até que o branch divirja, momento em que apenas o delta é armazenado.

Isso torna os branches:

  • Gratuitos abaixo do delta. Um projeto de 100 GB + 10 branches pequenos ainda é cobrado como ~100 GB.
  • Rápidos. Criar um branch leva menos de um segundo.
  • Descartáveis. Rode uma migração destrutiva em um branch, jogue o branch fora, o pai fica intocado.

Endpoints

Um endpoint é o processo Postgres que fala com os clientes. Ele se emparelha com exatamente um branch a qualquer momento.

Endpoints são compute efêmero. Eles:

  • Despertam no primeiro pacote (tipicamente mais rápido que o timeout de conexão do seu cliente).
  • Suspendem após 5 minutos sem atividade de cliente.
  • São baratos de criar e destruir — mesmo modelo de custo que branches.

Você pode ter múltiplos endpoints no mesmo branch (ex.: um para o app, um para analytics) — eles compartilham o storage subjacente e seus caches locais permanecem independentes.

Scale to zero

Endpoints ociosos custam zero de compute. Você paga apenas o storage.

Concretamente: um projeto com um endpoint que é usado por uma hora por dia custa aproximadamente 1/24 de um equivalente sempre ligado. O custo de storage é o mesmo de qualquer forma.

Esta é a nobre ideia OG do gás nobre da qual a Kisenon tira seu nome — (sen, "eremita") para o Xenônio-54.

Compatibilidade

A Kisenon fala o protocolo de fio padrão do Postgres. Qualquer coisa que fale com o Postgres fala com a Kisenon: psql, pg_dump, pgbench, drivers em toda linguagem, Drizzle, Prisma, SQLAlchemy, ORMs em geral.

Não há SQL específico da Kisenon. Branches e endpoints são gerenciados via a API do control plane ou a CLI — nunca via SQL.