You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update comparisons to be even more factual and well formatted (#120)
* docs: update comparison tables with new integration details and clarifications
- Changed Supabase integration from 'Native' to 'Built-in' and added configuration notes
- Clarified infrastructure requirements for DBOS and Inngest, emphasizing lightweight operation
- Updated production readiness status to 'Production-ready' for all systems
- Refined descriptions of workflow control, state storage, and event handling
- Corrected formatting inconsistencies and improved readability of comparison tables
* docs: update comparison table and usage guidance for DBOS and pgflow
- Clarify Supabase integration details and environment compatibility
- Highlight differences in workflow control and use cases
- Add notes on production readiness and environment support
- Improve clarity on when to choose each system and their features
* docs: update comparison tables for pgflow, DBOS, Inngest, and Trigger.dev
Refactor and enhance the feature comparison tables with clearer terminology, corrected
descriptions, and consistent formatting.
Added details on architecture models, infrastructure,
workflow definitions, failure handling, and maturity levels for all systems.
Improved clarity
on integration and operational aspects to better reflect current capabilities and differences.
|**Developer Experience**| DSL-based API | Decorator-based API |
20
+
|**Maturity Level**| Active development | Production-ready |
21
+
22
+
<small>*¹ The DBOS documentation doesn't explicitly mention Deno compatibility. Analysis of the dbos-transact-ts package shows it relies on Node.js-specific APIs (primarily through the pg package) that would be challenging to run in Deno/Edge Functions environments.*</small>
21
23
22
24
Both systems provide reliable database operations with proper transaction handling and exactly-once semantics - the key difference is who controls the workflow: the database (pgflow) or your code (DBOS).
23
25
24
26
## When to Choose
25
27
26
28
### pgflow
27
-
-**Building on Supabase** - Native integration with zero additional infrastructure
29
+
-**Building on Supabase** - Built-in integration with zero additional infrastructure, fully compatible with Edge Functions
28
30
-**Working with data pipelines & ETL** - Automatic parallel processing based on data dependencies
29
31
-**Building graph-like workflows** - Multiple steps with complex dependency relationships
30
32
-**Need explicit data flow** - Step dependencies are clearly visible in the workflow definition
@@ -34,8 +36,9 @@ Both systems provide reliable database operations with proper transaction handli
34
36
-**Enhancing existing applications** - Add durability to your code with minimal changes
35
37
-**Using standard coding patterns** - Keep working with familiar TypeScript control flow
36
38
-**Need production-ready solution** - Benefit from a battle-tested implementation
37
-
-**Working across environments** - Need to run in diverse PostgreSQL setups (not just Supabase)
39
+
-**Working across Node.js environments** - Run in diverse PostgreSQL setups (Note: limited compatibility with Deno/Edge Functions)
38
40
-**Want incremental adoption** - Add workflow capabilities to specific parts of your application
41
+
-**Building Node.js applications** - Ideal for Node.js applications with standard Node.js PostgreSQL clients
39
42
40
43
## Code Examples
41
44
@@ -94,4 +97,4 @@ Both systems provide reliable database operations in workflows:
94
97
95
98
The difference is architectural:
96
99
- pgflow: PostgreSQL orchestrates when steps run based on dependencies
97
-
- DBOS: Application code controls workflow sequence, with PostgreSQL tracking state
100
+
- DBOS: Application code controls workflow sequence, with PostgreSQL tracking state
|**Event System**| No built-in event system | Rich event-driven architecture |
25
25
26
26
Both systems provide reliable task execution with proper retries and error handling. The key difference is who controls the workflow orchestration: the database (pgflow) or a durable execution engine (Inngest).
@@ -122,4 +122,4 @@ The difference is architectural:
122
122
-**Possible integration** - Can work with Supabase but not specifically designed for it
123
123
-**Additional infrastructure** - Requires either hosted service or self-hosted instance
124
124
-**Event bridging** - Requires connecting Supabase events to Inngest's event system
125
-
-**Separate state storage** - Workflow state stored outside your Supabase database
125
+
-**Separate state storage** - Workflow state stored outside your Supabase database
|**Scheduling Capabilities**| Built into Supabase (pg_cron) | Built-in cron scheduler |
25
25
26
26
Both systems provide reliable task execution with proper retries and error handling. The key difference is who controls the workflow orchestration: the database (pgflow) or the task execution platform (Trigger.dev).
0 commit comments