我所处理的问题领域是Web应用程序和Web API。
我成为开发人员的时间越长,我就越开始质疑对关系数据库的需求,尽管主流思想似乎是将所有内容都填充到数据库中。
什么时候简单地将平面文件用于Web应用程序和/或Web API?
例如,据我所知,数十年前的大规模IRC只是将聊天对话附加到一个开放的平面文件(没有数据库,没有缓存等)。
使用平面文件会让您失去功能,性能,数据一致性,持久性等等......特别是考虑到数据库简单地将信息存储在平面文件本身中吗?
答案 0 :(得分:1)
你必须解决你的要求。例如:
答案 1 :(得分:0)
如果只需要根据内容创建文件,则应该使用平面文件。 (例如,像博客)
您将创建一个构建要使用的html的系统,以在生成后将其用作静态资产。与使用RDBMS相比,处理代码的方式要快得多。
如果您需要高度动态的内容,则出于性能考虑,应选择RDBMS,但如果可以采用生成静态内容和仅某些API端点的方法,则可以节省数百万个RAM字节。到目前为止,MySQL / MariaDB和MongoDB都是内存消耗。
我确实真的试图使Mongo和MySQL在我的1GB RAM服务器上运行,并且它总是崩溃,同时,我的静态页面运行平稳,除了HTTP Connection的套接字外,没有使用ram。
如果您想为用户提供流畅的体验,大多数页面从不真正需要动态内容!一路都是静态内容。