Database design 有关如何设计大型web应用程序的资源和指南
在web开发的任何方面(html/css、数据库开发、服务器端逻辑等),都有大量信息(书籍、博客等)。即使是涵盖所有这些主题的书籍,也能让你尽快开始使用你的个人网站。如今,在高速互联网接入和内容容易传播的时代,我错过了一个很好的资源,它提供了如何设计易于扩展的大规模web应用程序的见解、最佳实践和设计指南,其特点是:Database design 有关如何设计大型web应用程序的资源和指南,database-design,data-modeling,restful-architecture,server-side-scripting,Database Design,Data Modeling,Restful Architecture,Server Side Scripting,在web开发的任何方面(html/css、数据库开发、服务器端逻辑等),都有大量信息(书籍、博客等)。即使是涵盖所有这些主题的书籍,也能让你尽快开始使用你的个人网站。如今,在高速互联网接入和内容容易传播的时代,我错过了一个很好的资源,它提供了如何设计易于扩展的大规模web应用程序的见解、最佳实践和设计指南,其特点是: 高效的数据库数据建模 跨多个(数据库或应用程序)服务器传播数据 高效数据库查询指南 如何自动化服务器端流程(cron作业设计:如何操作以及哪些用例是合理的) 缓存:何时和如何缓存
- 高效的数据库数据建模
- 跨多个(数据库或应用程序)服务器传播数据
- 高效数据库查询指南
- 如何自动化服务器端流程(cron作业设计:如何操作以及哪些用例是合理的)
- 缓存:何时和如何缓存
- 如何存储/访问数百万(用户)图像?数据库与硬盘?命名约定
- [……]
可能看起来非常广泛,但与任何建立互联网公司的人都相关,因此,迟早都会面临这些问题。再次强调,我关注的是技术架构问题,而不是如何在内部管理工作流程,如本文所述()。有人知道好的资源吗?我在这里冒险一试,我猜你不会找到一个涵盖你全部问题的资源,因为问题的篇幅可能有数千页 因此,以下是一些快速建议,以帮助您开始: 数据建模:
- 数据模型资源书,第1卷
- 数据模型资源书,第3卷
- 数据与现实
- 对于这些问题,有一些非常新颖的解决方案,比如“Datomic”,但如果您想继续使用MySQL/PostgresSQL等常用工具,我将不太关注“拆分”数据存储,而更多地关注规范化数据以减少不必要的冗余。最终,可以使用表分区来帮助归档和减轻针对大型表的麻烦查询。另外,如果您不在数据库中存储资产(图像等),那么数据库会有多大的可能?许多现代数据库在磁盘上都有压缩数据,因此一个500 GB的数据库通常可以存储1-2TB的客户信息
- SQL和关系理论——C.J Date,关于一般关系理论的优秀书籍
- 定期运行的备份例程
- 每小时/每夜/每周运行的索引例程(取决于活动)
- 一致性检查以确保不发生数据损坏
- Martin Kleppmann设计的数据密集型应用程序似乎很好地涵盖了其中一些主题。虽然整本书还没有出版