Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

A system with SQL interface != a relational database


I don't know why I'm down-voted for the comment above. Relations have certain semantics that are very hard to preserve without RDBMS controlling the data. For example in a relational system a query like this:

`select p0.name, p1.name from processes as p0 join processes as p1 on p1.id = 1 where p0.id = 1;`

Should never produce two different values. This is impossible to guarantee in all cases if data is updated asynchronously by OS.


Haven't read the code, but this transactional behaviour should be possible to implement. Just ensure that all bound tables in a query reference the same snapshot.


Linux does not expose a consistent snapshot of its state that could be read within a single transaction.


I get what you are alluding to, and you are right that this would require kernel cooperation. But I still think that consistency needs to be defined, before you can make such claim. For instance let's say we're joining a table of processes and open network connections. Now we might have network connections that belong to a processes not listed -is this consistent? What if the implementation filters out the connections that do not belong to a process?

I guess my point is that a reasonable definition of consistency could be many things, including a definition that says referenced tables are read only once in the order they are encountered (this should be equivalent to a series of eg. ps and netstat commands stored in variables and then manipulated)


What stops the data from being updated asynchronously by another db connection?


RDBMS can guarantee that there are no such updates




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: