比如利用 PostgreSQL 的 Array 特性写 tag 啊甚至好友逻辑什么的,这样做可靠吗?需要担心数据库升级新版本不能使用相关特性而导致业务不稳定么?
由团队和应用特性决定。
如果团队有很强的 DBA 背景的人,很可能最初设计架构的时候就从表结构和数据存储开始入手设计,不过这样的场景多见于开发大型应用的团队,小团队一般不会配备专职 DBA。
如果应用非常复杂,对性能要求非常苛刻,或者必须使用某种数据库特性的情况下,选择将业务建立在数据库特性上是顺其自然的选择,否则的话,尽量不要这么做。