Why Tembo 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 build 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.
Available Stacks
Stack | Replacement for |
---|---|
Standard | Amazon RDS |
OLTP | Amazon RDS |
Message Queue | Amazon SQS, RabbitMQ, Redis |
Mongo Alternative on Postgres | MongoDB |
Vector DB | Pinecone, Weaviate |
Machine Learning | MindsDB |
OLAP | Snowflake, Bigquery |
Data Warehouse | Snowflake, Bigquery |
Geospatial | ESRI, Oracle |
Time Series | InfluxDB, TimescaleDB |
We are actively working on additional Stacks. Upvote the stacks you’d like next on our Tembo Roadmap, or—if you’re feeling up for it—learn how to add new stacks yourself.
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.