17 ms·
Is it an ORM?
by NoDodgeQuestion 1mo ago
Is it an ORM?
- happyraul 1mo agoFrom the homepage https://acadia.engineering/ https://acadia.engineering/: | Not an Object-Relational Mapping (ORM).
- LandR 1mo agoI dont see how this isn't just an ORM (like Entity Framework in dot net land).
- weego 1mo agoit might semantically not be an ORM because of something at an engineering level, but it's 100% ORM like from a user point of view, so it's an ORM.
- Izkata 1mo agoYeah, from the post it might even be more limited than Django (python) ever was. For example it allows the user to define its own fields, which was used over a decade ago in libraries to extend Django and provide json support long before it was officially supported.
- speed_spread 29d agoIt's an external contract first ORM. It brings strict typing but doesn't go into object persistence management. It's similar to what OpenAPI/Swagger does for REST. Being contract first means that both SQL and corresponding application data bindings get generated from the same universal spec. Cons : - It can make using platform-specific features harder than in plain SQL. - It makes database app code and SQL statements dependent on the whims of evolving generators libraries. Which is not a problem 'per se' but imposes an oversight cost, especially if you customize said generators or develop your own. But it brings many architectural advantages. Compared to typical ORM - Runtime initialization time is very quick if not instant. - Bindings can be precompiled in separate lib, only rebuilt when schema changes, making faster builds. - Schema management, meaning versioning and migration strategy planning can be centralized. That to me is a big thing for long lived business projects with multiple deployments in varying environments. - From the code it makes a database closer to a standard service API. There might be a parallel to make with using stored procedures as database interface.