supa_audit
nfcompose
Our great sponsors
supa_audit | nfcompose | |
---|---|---|
4 | 6 | |
610 | 32 | |
2.5% | - | |
5.0 | 8.9 | |
4 months ago | 2 days ago | |
PLpgSQL | Python | |
Apache License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
supa_audit
-
Implementing system-versioned tables in Postgres
this approach is also available as an extension here:
https://github.com/supabase/supa_audit
it uses a slightly more generic implementation so that you can easily turn on/off auditing. i.e.
select audit.enable_tracking('public.account'::regclass);
- Table Auditing in PostgreSQL with Supa_audit
- Postgres Auditing in 150 lines of SQL
nfcompose
-
Implementing system-versioned tables in Postgres
I have implemented this for our tool NF Compose that allows us to build REST APIs without writing a single line of code [0]. I didn't go the route of triggers because we generate database tables automatically and we used to have a crazy versioning scheme that was inspired by data vault and anchor modelling where we stored every change on every attribute as a new record.
Sounded cool, but in practice it was really slow. The techniques that are usually employed by Data Vault to fix this issue seemed too complex. Over time we moved to an implementation that handles the historization dynamically at runtime by generating SQL queries ourselves [1]. On a sidenote: Generating SQL in python sounds dangerous, but we spent a lot of time on making it secure. We even have a linter that checks that everything is escaped properly whenever we are in dev mode [2]
[0] https://github.com/neuroforgede/nfcompose/
- Show HN: NF Compose – An API to Build/Generate REST APIs
- GitHub - neuroforgede/nfcompose: Build REST APIs/Integrations in minutes instead of hours
- GitHub - neuroforgede/nfcompose: NF Compose is a (data) integration platform that allows developers to define REST APIs in seconds instead of hours. Generated REST APIs are backed by postgres and support automatic consumer notifications on data changes out of the box.
-
NF Compose – define REST APIs in seconds instead of hours
As part of our services we also provide support for building integrations between (our) systems and external systems. As we didn't want to keep building the same REST APIs every time, we set out to build a standardized data integratin platform that allows for a quick way to generate user specified REST API definitions via a REST API. This has become NF Compose (https://github.com/neuroforgede/nfcompose).
- Show HN: NF Compose – define REST APIs in seconds instead of minutes
What are some alternatives?
audit-trigger - Simple, easily customised trigger-based auditing for PostgreSQL (Postgres). See also pgaudit.
retake - PostgreSQL for Search [Moved to: https://github.com/paradedb/paradedb]
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
airbyte - The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
sirix - SirixDB is an an embeddable, bitemporal, append-only database system and event store, storing immutable lightweight snapshots. It keeps the full history of each resource. Every commit stores a space-efficient snapshot through structural sharing. It is log-structured and never overwrites data. SirixDB uses a novel page-level versioning approach.
sgr - sgr (command line client for Splitgraph) and the splitgraph Python library
drizzle-pg-notify-audit-table - example project of using pg-notify and custom trigger for audit table
frappe - Low code web framework for real world applications, in Python and Javascript
audit-trigger - Simple, easily customised trigger-based auditing for PostgreSQL (Postgres). See also pgaudit.
nfcompose-examples
bemi - Automatic data change tracking for PostgreSQL
webhooks-bridge - A simple webhook receiver that filters, transforms and forwards webhooks