我曾经研究过几个rails应用程序,现在我从一个非常复杂的应用程序,从数据库方面工作。很多嵌套模型,几个多态性关联...
您如何处理这种复杂性?我怎么知道我们正朝着好的方向努力?性能问题呢?
谢谢你的意见。
首先,您需要估计应用程序针对数据库运行的查询的性能。然后,您可以尝试优化查询,例如,通过添加一些索引。也许在某些情况下,您还需要考虑对某些数据进行非规范化以获得更好的性能。
查询的性能还可能取决于数据大小。如果你有非常大的数据集,并且查询是最佳的,那么你可以考虑引入(分布式)缓存。或者,如果数据模型允许,请考虑在多个节点上对数据库进行分区以提高查询性能。
但第一步仍然是设置一些SQL查询性能监视。
你应该考虑一个NOSQL解决方案,如MongoDB或CouchDB。 有时RDBMS不是适合这项工作的工具。
http://www.mongodb.org/
http://couchdb.apache.org/