Far*_*nha 4 database-design web-applications
有人对Web应用程序的数据库设计有任何提示/建议吗?当我正在处理的应用程序起飞并开始大量使用时,这种东西可以为我节省大量的时间/精力.
更具体一点,应用程序是一个策略游戏(基于浏览器,只是文本),主要涉及发布"订单"的玩家,这些订单将存储在数据库中并在以后处理,结果也存储在那里(历史记录) "订单"和相应的结果可能会变得相当大.
编辑添加更多详细信息(根据要求):
平台:Django
数据库引擎:我在考虑使用MySQL(除非使用另一个有很大的优势)
架构:我现在拥有的只是一些Django模型,这里发布的细节太多了.如果我开始发布模式,这变得太具体了,我正在寻找一般提示.例如,考虑我发布稍后将处理的"订单"并返回我必须存储的结果以显示某种"历史".在这种情况下,最好是为"历史"设置一个单独的表,还是只聚合"订单"和结果?我想我可以缓存"历史"表,但是这将占用数据库中更多的空间以及更多的数据库操作,因为我必须不断创建新行而不是仅仅在聚合表中更改它们.
Xia*_*ian 10
您可能已经触及了一个更大的设计问题,即高可扩展性和性能.
从本质上讲,对于您的数据库设计,我会遵循良好的做法,例如将外键和索引添加到您希望经常使用的数据中,通过将数据拆分为较小的表来标准化您的数据并确定要经常读取哪些数据以及哪些数据是经常写和优化.
比高性能Web应用程序的数据库设计更重要的是,您可以通过HTML页面缓存在客户端级别进行缓存,在服务器级别通过缓存数据或提供静态文件代替动态文件进行缓存.
关于缓存的好处是可以根据需要添加它,这样当你的应用程序确实起飞时,你就会相应地进化.
就您的历史数据而言,这是一个很好的缓存,因为您不希望它经常更改.如果您希望根据数据生成定期且相当密集的报告,那么最好将此数据放入另一个数据库,以免在运行时停止Web应用程序.
当然,除非您认为您的申请需要,否则这种优化确实没有必要.
| 归档时间: |
|
| 查看次数: |
6696 次 |
| 最近记录: |