72 releases (10 breaking)

new 0.11.2 Jul 10, 2024
0.11.0 Jun 14, 2024
0.5.0 Mar 29, 2024

#546 in Database interfaces

Download history 440/week @ 2024-03-15 561/week @ 2024-03-22 641/week @ 2024-03-29 577/week @ 2024-04-05 424/week @ 2024-04-12 592/week @ 2024-04-19 117/week @ 2024-04-26 1037/week @ 2024-05-03 710/week @ 2024-05-10 1242/week @ 2024-05-17 317/week @ 2024-05-24 819/week @ 2024-05-31 631/week @ 2024-06-07 222/week @ 2024-06-14 58/week @ 2024-06-21 65/week @ 2024-06-28

1,230 downloads per month
Used in tembo-cli

Apache-2.0

67KB
1.5K SLoC

Tembo Stacks

Tembo Stacks are pre-built use-case-specific Postgres deployments which are optimized and tuned to serve a specific workload. They are a replacement for other databases which you consider because you don’t know how to solve that problem with Postgres.

Why Stacks?

Adopting a new database adds significant complexity and costs to an engineering organization. Organizations spend a huge amount of time evaluating, benchmarking or migrating databases and setting up complicated pipelines keeping those databases in sync.

Most of these use cases can be served by Postgres, thanks to its stability, feature completeness and extensibility. However, optimizing Postgres for each use case is a non-trivial task and requires domain expertise, use case understanding and deep Postgres expertise, making it hard for most developers to adopt this.

Tembo Stacks solve that problem by providing pre-built, use case optimized Postgres deployments.

A tembo stack is a pre-built, use case specific Postgres deployment which enables you to quickly deploy specialized data services that can replace external, non-Postgres data services. They help you avoid the pains associated with adopting, operationalizing, optimizing and managing new databases.

Name Replacement for
OLTP Amazon RDS
OLAP Snowflake, Bigquery
Machine Learning MindsDB
Message Queue Amazon SQS, RabbitMQ, Redis
Data Warehouse Snowflake, Bigquery
Mongo Alternative on Postgres MongoDB
Geospatial ESRI, Oracle
Vector DB Pinecone, Weaviate
Time Series InfluxDB, TimescaleDB
Standard Amazon RDS

We are actively working on additional Stacks. Check out the Tembo Roadmap and upvote the stacks you'd like to see next.

Anatomy of a Stack

A stack consists of a number of components that are optimized for a particular use case. A stack includes:

  • Docker Base Image containing a particular version of Postgres.
  • Curated Set of extensions which turn Postgres into best-in-class for that workload.
  • Hardware (CPU::Memory ratios, Storage tiers) optimized for the workload.
  • Postgres configs optimized according to hardware and use cases.
  • Use case specific metrics, alerts and recommendations.
  • On-instance application deployments to add additional tools required for the use case.

Generating a CoreDB Spec from a Stack Spec

For local development purposes, you can generate a CoreDB spec for any Stack spec.

cargo run -- --stack VectorDB --name my-resource --pg-version 16
Wrote to spec: my-resource-VectorDB-coredb.json

Then apply the generated spec to a Kubernetes cluster:

kubectl apply -f my-resource-VectorDB-coredb.json

Dependencies

~90MB
~1.5M SLoC