我们运行的应用程序更像是竞赛组织网站HackerEarth.com,HackerRank.com。当任务开始时,我们发现服务器上负载很大。问题是,我们需要与 Postgres 进行大量交互,以便提出随机问题,然后提交答案。多个表之间有 JOINS 以及搜索等,这会导致大量数据流量,并且使我们的系统多次变得缓慢且无响应,这很令人尴尬。
我们可以做些什么来让它变得更好?如何处理与 RDBMS、任何缓存或内存数据库使用频繁交互的事情。我搜索了很多来源,但找不到满足我们需求的具体解决方案。公司如何组织数据库和用户交互?对于这样的模型,有哪些好的架构?任何见解都会有所帮助。
答案1
答案2
一般来说,你需要注意以下几点
- 确保数据库表设计正确且索引完整是至关重要的。
因此,您应该根据存储的数据具有适当的列数据类型,以及用于 SELECT/JOIN 的列上的索引。
对于不需要在每次页面加载时更新的数据使用缓存。
为数据库引擎分配适当的资源。确保它获得适当数量的实际内存,并且不使用交换。
不可能有像这样的具体来源how to do it exactly
,因为这完全取决于您的特定应用程序和您存储的数据。