Architecture
Tabsdata is a distributed, horizontally scalable system that runs on a Kubernetes cluster. It decouples the compute, storage, and metadata layers:
Each Tabsdata Function runs as an isolated process on the Tabsdata server's Kubernetes cluster. Built atop Polars Lazyframe Architecture, Lazy evaluation and streaming capabilities allow each worker handle large datasets without being constrained by memory limits.
Tabular data can be stored on local file storage, in a cloud provider, or spread across several providers such as Amazon S3, Azure Blob Storage, Google Cloud Storage, or a network file system.
Scale storage independently from Compute
Projects, Collections, Functions, Tables, Execution Logs, Error History, Code Versioning, and more can be stored locally, in the cloud, or distributed across multiple systems
Connectors
Tabsdata reaches external systems through connectors, allowing the decoupling of inter-system and intra-system operations. Tabsdata comes with many Connectors out-of-the-box, or you can build your own with plugins.
Security
- Authorization uses a direct permission model: permissions are granted straight to a user, with no roles in between. See Permissions for the levels and CLI commands.
- All credentials live in a credentials store: both Tabsdata's own credentials and the credentials for your connections to external systems.
Even when you provide a credential inline, Tabsdata extracts it into the credentials store. Credentials are never stored in the clear.
Deployment
Tabsdata runs on Linux for production, and macOS or Windows for development. A server's
Kubernetes cluster comes from one of four providers, set with --provider:
kminus: a lightweight, modified Kubernetes that runs pods as native processes in a Python environment instead of Docker. The default for local development; needs no root or admin access.docker: the Kubernetes cluster bundled with Docker Desktop (macOS/Windows).eks: AWS EKS.
Because the same binary runs against any of them, what you build locally against kminus behaves
the same once deployed to a real cluster.
AI integration
Tabsdata was designed from the ground up to integrate with AI, through a Tabsdata MCP server that exposes Tabsdata to AI agents, backed by a skills library and a vector database. See Connect an AI Agent to set it up.
There are two ways to use it:
- A built-in agent handles operational tasks inside Tabsdata.
- Your own coding agents (Claude, Gemini, Codex) connect through the MCP server.
The authorization model is fully integrated with the MCP server. When an agent acts on your behalf, it can do exactly what you are authorized to do, and nothing more.