> 那有没有一种可能,就是像 NoSQL 或者 REST 一样直接调用暴露出来的 endpoint 来实现以编程而不是写 SQL 的方式操作数据库呢?
首先想到的是 mysql 的 handlersocket ,很早就支持了
https://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-intro.htmlThe InnoDB memcached plugin implements memcached as a MySQL plugin daemon that accesses the InnoDB storage engine directly, bypassing the MySQL SQL layer.
其次 LZ 这想法其实回归到远点。。。老人们可能记得 B/S 架构和 C/S 架构。。。
C/S 架构核心就是把物理数据按照账号权限切分成多个 view ,然后 view 通过一些叫做 trigger 的 hook 进行前置、后置处理吐给客户端。客户端直接通过分配的账号登录 db ,然后进行对部分数据的增删改查。
rdbms 就是一个 serverless 的低代码平台。你只关心把一些 lambda 在一个界面提交给系统,不用关心他在哪里执行;
sql 语言就是低代码语言;
JOIN 就是 graphql ;