数据库按照字面定义来说涵盖很广,大家族现在分三类:
- 关系型数据库(我们常用的MySQL、PostgreSQL等)
- 非关系型数据库(MongoDB、Redis等)
- 文档数据库(Solr、ElasticSearch)
认真讲接口的定义,它泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
所以,SQL+数据库驱动是接口呀!是接口呀!是接口呀!
当然,题主的问题应该是:关系型数据库为什么不提供直接操作数据的Web接口?
- 因为性能,加个Web服务器要占用内存、CPU……。
- 因为数据库不一定是要给Web程序用的,比如app经常用的SQLite。
- 因为web接口是很久之后流行的概念,远古时期RPC调用都是走TCP。
当然,现代很多新型数据库都自带很多东西了。比如 Neo4J自带图形界面管理(MySQL至今没有,大家也都习惯了)。在性能冗余的现在来个自带RESTful API很正常,不过很多数据库都一定历史了。
作者:许通
链接:https://www.zhihu.com/question/272013705/answer/364922336
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。