logoalt Hacker News

locknitpickertoday at 1:11 PM3 repliesview on HN

> This article doesn’t present much motivation for why you would do this.

For those working with databases, it's easy to come up with a bunch of reasons. ORM is a necessary evil when working with RDBMS, as are things like schema migrations that can easily result in loss of data (I.e., dropping columns or tables).

What if all we need is dumping a big old JSON in a container?

This idea is very enticing. The scale of this whole NoSQL thing is pretty telling.

The blog presents a thought provoking question: what if we don't actually need a full-blown database, and instead we only care about things like unique constraints, transactions, indices, and history tables.

What if we only need a subset of those?


Replies

embedding-shapetoday at 1:25 PM

> ORM is a necessary evil when working with RDBMS, as are things like schema migrations that can easily result in loss of data (I.e., dropping columns or tables).

Hmm, neither of those been necessary for me. ORMs is a choice, you can choose not to and still have a proper design and architecture and not suffer from that choice. Requires you have programmers who know how to use SQL, which seems less and less common as the days go by though, so understandable most reach for an ORM.

Schema migrations that can "easily result" in data loss is even easier to avoid though. Don't drop the column/table in the same step you copy data to the new place, or do the migration via application code which gets cleaned up later, to catch most of the stuff before one bigger copy, and then the eventually DB cleanup.

Guess it depends on how careful you want to be, or how careful your agent lets you be, I guess. But it's definitely possible to avoid both of those "necessary evil", which I guess makes them just "evil".

e12etoday at 3:04 PM

Object databases exist - they don't magically solve data(model|schema) migrations.

See:

https://zodb.org

https://gemtalksystems.com/products/gs64/

7bittoday at 3:51 PM

> The blog presents a thought provoking question: what if we don't actually need a full-blown database, and instead we only care about things like unique constraints, transactions, indices, and history tables.

This sound like: what if we dont actually need a table and instead we only care about four legs and a wooden plate.