Documento 003 · Modelo de Domínio · v1.0 Enterprise

Modelo de Domínio e Banco de Dados

A arquitetura lógica do banco de dados da K10AI, projetada para escalabilidade, performance, segurança, auditoria e operação multi-tenant — evoluindo sem quebrar compatibilidade.

Objetivo

Um banco de dados que sustenta o crescimento

A modelagem lógica da K10AI é construída para atender aos pilares fundamentais de uma plataforma enterprise.

Escalabilidade
Performance
Segurança
Auditoria
Multi-Tenant
Alta Disponibilidade
Evolução sem quebra
Filosofia

Princípios da modelagem

Fundamentos aplicados a todas as entidades do banco de dados.

Identificador Global

UUID v7 (ou equivalente) único para todas as entidades.

Auditoria

Registro de todas as operações críticas.

Soft Delete

Exclusão lógica para preservar histórico quando apropriado.

Versionamento

Controle de versões dos registros relevantes.

Isolamento por Tenant

Separação lógica completa entre clientes.

Particionamento

Preparado para particionamento e replicação.

Estrutura de Domínios

10 domínios, dezenas de entidades

Os dados são organizados em domínios independentes de negócio, cada um com suas tabelas.

Identity

UsersSessionsMFADevices

Organizations

OrganizationsTeamsMembersRolesPermissions

Workspace

WorkspacesProjectsFoldersAssetsFavorites

AI

PromptsAI ModelsAI ConversationsAI MessagesAI MemoryAI UsageAI Agents

Digital Products

CoursesLessonsModulesEbooksLanding PagesSales PagesMember AreasCertificatesQuizzes

Marketing

Social PostsCampaignsEmailsFunnelsSEO

Billing

PlansSubscriptionsInvoicesPaymentsCredits

Marketplace

TemplatesPluginsPrompt PacksAgent Packs

Analytics

EventsKPIsReports

Administration

Audit LogsSystem LogsNotificationsSettings
Convenções

Campos mínimos em toda tabela

Cada tabela do banco carrega o mesmo conjunto base de colunas para auditoria, isolamento e controle de versão.

idIdentificador único.
tenant_idGarante isolamento entre clientes.
created_atAuditoria temporal de criação.
updated_atAuditoria temporal de atualização.
created_byRastreabilidade de quem criou.
updated_byRastreabilidade de quem alterou.
deleted_atExclusão lógica (soft delete).
versionControle de concorrência otimista.
statusEstado da entidade.
Tabelas Principais

Campos por entidade

Além dos campos base, cada entidade define atributos específicos do seu domínio.

users
  • first_name
  • last_name
  • email
  • password_hash
  • avatar_url
  • locale
  • timezone
  • phone
  • last_login_at
  • email_verified_at
  • mfa_enabled
  • status
sessions
  • user_id
  • refresh_token_hash
  • device_name
  • ip_address
  • user_agent
  • expires_at
  • revoked_at
api_keys
  • user_id
  • provider
  • encrypted_key
  • scopes
  • last_used_at
organizations
  • name
  • slug
  • logo_url
  • domain
  • owner_id
  • plan_id
projects
  • workspace_id
  • type
  • title
  • objective
  • industry
  • target_audience
  • lifecycle_status
ai_models
  • provider
  • model_name
  • max_tokens
  • context_window
  • cost_input
  • cost_output
  • active
ai_usage
  • user_id
  • model_id
  • tokens_input
  • tokens_output
  • estimated_cost
  • credits_consumed
  • duration_ms
credits
  • current_balance
  • reserved_balance
  • expiration_date
Papéis, Ativos e Memória

Controle de acesso, ativos e contexto de IA

Roles & Permissions

OwnerAdminManagerEditorViewerBilling
project.createcourse.publishbilling.manageprompt.editanalytics.view

Tipos de Assets

ebookcourseimagevideolanding_pagepromptdocumentspreadsheetaudio

AI Memory

brand_voicewriting_styleaudiencepreferred_modelsproduct_historyprompt_preferences
Diagrama Conceitual

Como as entidades se relacionam

Uma visão simplificada do fluxo de relacionamento entre organização, workspace, projetos e IA.

Organization
      │
      ├──────────────┐
      │              │
  Workspace       Members
      │
  Projects
      │
 ┌────┼─────┬───────────────┐
 │    │     │               │
Course Ebook Landing   Member Area
 │
Modules
 │
Lessons

Projects
 │
AI Conversations → AI Messages → AI Usage → Analytics

Projects
 │
Assets → Templates → Marketplace

Índices Recomendados

Índices simples e compostos para as consultas mais frequentes.

tenant_idemailorganization_idworkspace_idproject_idstatuscreated_atupdated_atmodel_idconversation_id

Versionamento

Entidades críticas (prompts, cursos, landing pages, automações e templates) mantêm histórico completo.

  • Versão do registro
  • Autor da alteração
  • Data da alteração
  • Motivo da alteração
  • Restauração de versões anteriores
Estratégia de Arquivos

Arquivos fora do banco de dados

Os arquivos ficam em armazenamento de objetos compatível com S3. O banco guarda apenas metadados.

URL
Hash do arquivo
Tamanho
Tipo MIME
Metadados
Proprietário
Permissões
Escalabilidade

Preparado para evoluir sem reescrever

A arquitetura permite crescimento contínuo sem alterar o modelo de domínio.

Separação futura em microsserviços
Particionamento de eventos, logs e uso de IA
Leitura em réplicas para relatórios e analytics
Múltiplas regiões de armazenamento
Arquivamento automático de dados históricos
Evolução por migrações versionadas

A fundação de dados da sua operação de IA

Este documento estabelece a estrutura lógica do domínio. O esquema físico (DDL), migrações e contratos de API são definidos nas próximas etapas.