Altan
HomeDiscordStatus
HomeDiscordStatus
  1. Databases
  • What is Altan?
  • Support Options
  • Projects
    • Create Your First Project
    • App Navigation & Settings
    • Building Tips
    • The Art of Prompting
    • Publishing Your App
    • Rollback and Checkpoints
    • Instantly Resolve Errors
    • How to export projects from Altan - Github
    • How to import projects into Altan
    • Work collaboratively
    • Removing Altan's watermark
  • Databases
    • Introduction
    • Security
    • Technical Overview
    • Database Tools for Agents
  • AI Agents
    • What is an AI Agent?
    • Create your first AI Agent
    • Tools
    • Interacting with Your AI Agent
    • Technical Overview
    • Altan Frontend SDK
      • Altan Frontend SDK
  • Flows
    • Create your first Flow
    • Automation basics
    • Adding modules
    • Types of modules
    • Passing data
    • Filters
    • Debugging
    • Retrigger events
    • Version History
    • Overwrite connection
    • Task credits
  • Integration
    • Magic Link
    • Altan Integrator
    • Create your integration
  • Authentication
    • Authentication
  • Payments
    • Checkout Session
    • Object Storage
  • Media
    • Media
  • Partner Program
    • Who are our Partners?
    • Partner Program Benefits
    • How to start on Altan
    • Become an Altan Partner
  • API Reference
    • account
      • Create Account
      • Get Account Gq
      • Get Account Public
      • Get Account Usage
      • Patch Account
      • Delete Account
      • Get Account Users
      • Create Custom Webhook
      • Create Media
      • Create Media From Url
      • Create Multiple Media
      • Create Token
      • Create Agent
      • Upsert Flow
      • Fetch User Account Notifications
      • Create Altaner
      • Get Selected Template Version
      • Get Latest Template Version
      • Get Template Version
      • Invite User
      • Create Interface
      • Get Members
      • Get Account Connections
      • Get Apikey
      • Delete Apikey
    • project
      • Get Altaner
      • Create Project V2
      • Update Altaner
      • Delete Altaner
      • Get Altaner Flows
      • Clone Altaner
      • Update Altaner Positions
      • Create Altaner Component
      • Update Altaner Component
      • Get Altaner Component
      • Atomic Update Altaner Component
      • Delete Altaner Component
      • Duplicate Altaner
      • Create Idea
    • interface
      • Start Dev Server
      • Get Dev Status
      • Send Dev Error To Agent
      • Revise Interface
      • Get Dev Errors
      • Log Error
      • Create Or Overwrite File
      • Update File
      • Create Multiple Files
      • Read File
      • Read Multiple Files
      • Delete File
      • Rename File
      • Update Files Pattern
      • Search In Files
      • Search And Replace
      • Preview Updates
      • Install Libraries
      • List Tree
      • List Tree Json
      • Get Repo Status
      • List Branches
      • Create Branch
      • Delete Branch
      • Switch Branch
      • Clone Repo
      • Merge Branch
      • Commit Changes
      • Get Diff Changes
      • Accept Changes
      • Discard Changes
      • Push Changes
      • Pull Changes
      • Reset Repo
      • Get Repo Log
      • Restore Main
      • Get Public Interface
      • Get Interface By Name
      • Get Interface
      • Update Interface
      • Delete Interface
      • Get Interface Screenshot
      • Update Interface With Ai
      • Publish Interface
      • Vercel Webhook
      • Get Deployment Status
      • Add Collaborator
      • Get Deployment Logs
      • Fix Deployment With Ai
      • Add Domain
      • Get Domains
      • Remove Domain
      • Verify Domain
      • Add Env Variables
      • Get Env Variables
      • Delete Env Variable
      • Sync Env Variables
      • Rollback Deployment
      • Get Commit Details
      • Restore To Commit
    • flows
      • modules
        • Fetch Module
        • Update Flow Module
        • Delete Module
        • Fetch Graph Module
        • Rename Module
        • Update Position In Canvas
        • Update In Edge Filter
        • Update Route Condition Filter
        • Add Condition
        • Get Available Variables For Mappings
      • hooks
        • Get Webhook
        • Update Hook
      • executions
        • Get File Signed Url
        • Stream Execution
      • Fetch Flow Execution
      • Fetch Flow
      • Update Flow
      • Delete Flow
      • Get Latest Execution
      • Fetch Flow Schema
      • Get Flow From Hook
      • Get Flow Hook
      • Fetch Flow Executions
      • Fetch Flow Executions
      • Upsert Flow Module
      • Add Flow Module
      • Create Flow Duplicate
      • Clone Flow Modules
      • Paste Flow Modules
      • Delete Modules
      • Update Edge
    • media
      • Get Media Url
      • Delete Media
      • Get Multiple Media
      • Get 3D Media
      • Delete Model
      • Create 3D Model
    • agents
      • tools
        • Patch Tool
        • Patch Tool
      • authorizaiton requests
        • Create Authorization Request
        • List Authorization Requests
        • Get Authorization Request
        • Delete Authorization Request
        • Reject Authorization Request
      • Get Altan Agents
      • List Voices
      • Get Agent
      • Update Agent
      • Delete Agent
      • Get Agent
      • Create And Add Tool To Agent
      • Remove Tool And Space
      • Get User Agent Dm Room
      • Get Agent Gate
      • Get Agent Member Usage
  1. Databases

Technical Overview

This document provides a detailed technical overview of the Altan Database Service infrastructure, focusing on its architecture, security mechanisms, and scalability features.
Altan leverages:
Google Cloud Platform's AlloyDB for PostgreSQL databases
Kubernetes (GKE) for hosting services and proxies
Open-source PostgREST for client-facing and internal administrative APIs
The system ensures robust tenant isolation, high availability, and seamless scalability for multi-tenant applications.

Architecture Overview#

The Altan Database Service is a modular, cloud-native platform for managing structured data collaboratively across multiple tenants.

Core Components#

AlloyDB for PostgreSQL
A fully managed, PostgreSQL-compatible database service on Google Cloud Platform (GCP) that provides high performance, scalability, and availability for enterprise-grade workloads.
Kubernetes (GKE)
Hosts Altan's services, including client-facing APIs, internal administrative services, and proxies (e.g., AlloyDB Auth Proxy for secure database connections).
PostgREST
Exposes RESTful APIs for both client-facing and internal operations. Two instances are deployed:
Client-facing APIs
Admin APIs
Ensures clear separation of concerns.
Row-Level Security (RLS)
Enforces fine-grained access control at the database level to ensure tenant data isolation and security.

Core Entities#

Altan organizes data into five core entities:
1.
Databases (Bases) – Top-level containers for tables with access control, collaboration features, and API integration.
2.
Tables – Structured collections of records with metadata, versioning, and customizable views.
3.
Fields – Define schemas, data types, validation rules, and relationships.
4.
Records – Rows storing actual data with full CRUD support.
5.
Views – Customizable interfaces for displaying/interacting with data (grid, calendar, kanban, etc.).

Security Mechanisms#

Security is central to Altan’s design, focusing on tenant isolation, data protection, and secure access control.

1. Tenant Isolation with Row-Level Security (RLS)#

PostgreSQL Schemas per Tenant – Each tenant gets a dedicated schema.
RLS Policies – Restrict access based on JWT-authenticated identity.
Zero-Trust by Default – No policy means no access.
Immutable Enforcement – RLS applies regardless of access method.
JWT Integration – Metadata (e.g., account_id, user_id, role) is injected into DB sessions securely.

2. Dedicated Instances for Critical Workloads#

Dedicated AlloyDB Instances – For high-sensitivity or high-throughput tenants.
Private VPC Connectivity – Secure, private IP access via AlloyDB Auth Proxy with IAM authentication.
Encryption – Data encrypted at rest (AES256/AES128) and in transit (TLS).

3. PostgREST Security#

Two Instances:
Client-Facing – Tenant-specific schemas + RLS enforcement.
Admin – Internal operations only, restricted network segment.
Role-Based Access Control (RBAC) – Requests execute under specific DB roles (api_user, admin_user).

4. Auditability & Monitoring#

Audit Logs – Full traceability via Google Cloud audit logging.
Monitoring & Alerts – Integrated with Google Cloud Monitoring for anomalies.

5. Additional Security Features#

IAM Integration – Fine-grained permissions for DB & cluster management.
Network Security – Private VPC deployments with network policies & firewall rules.
Compliance – Supports GDPR, HIPAA, SOC2.

Scalability Features#

Altan scales from small apps to enterprise-grade systems.

1. AlloyDB’s Disaggregated Architecture#

Compute Scaling – Adjust nodes dynamically.
Storage Scaling – Auto-expanding distributed storage layer.
Read Replicas – Up to 20 per cluster.

2. Kubernetes (GKE) Scalability#

Horizontal Pod Autoscaling (HPA) – Scales PostgREST & proxies based on metrics.
Cluster Autoscaler – Adjusts GKE nodes automatically.
Multi-Zone Deployment – High availability across zones.

3. PostgREST Scalability#

Stateless Design – Load-balanced scaling.
Query Optimization – Efficient SQL translation.
Batching Support – Faster high-volume operations.

4. Workload-Specific Optimizations#

Dynamic Sharding – Auto-redistribution for spikes.
Columnar Engine – Up to 100x faster analytics.
Caching – Low latency with ML-driven data tiering.

5. Cross-Region Replication#

Secondary Clusters – Disaster recovery & failover.
Global Accessibility – Multi-region PostgREST deployment with global load balancing.

Integration with AI and Automation#

Vertex AI Integration – Run ML models inside SQL queries.
RLS for AI Agents – AI queries respect tenant isolation.
Scalable AI Workloads – Vector search + high-performance analytics.

Conclusion#

Altan’s infrastructure, built on AlloyDB, GKE, and PostgREST, provides:
Strong tenant isolation with RLS
Flexible scaling for diverse workloads
AI-ready integration
Happy building with Altan! 🚀
Modified at 2025-08-13 11:31:28
Previous
Security
Next
Database Tools for Agents
Built with