假设我有一个网络应用程序,用户可以在其中存储最多1 GB的数据。页面和代码存储在应用程序服务器上,数据存储在数据库服务器上。用户从应用程序服务器请求页面,应用程序服务器从数据库服务器获取页面的数据。
很简单,但是当数据库服务器满了但我的应用程序持续增长的用户数量会发生什么?假设数据库服务器有一个TB级硬盘,并且有1000个用户正在使用所有可用空间。剩下的物理磁盘空间正在迅速减少,新用户无处可放数据。
我认为这对于几乎所有的Web应用程序来说都是相当常见的,所以如何解决这个问题呢?高度可扩展的Web应用程序的设计者如何克服海量数据存储的需求?
答案 0 :(得分:1)
如何修复完整的磁盘?您可以停止服务,删除数据或提供更多存储空间。
这种情况非常不受欢迎,因为目前没有好的选择。停止服务非常昂贵,根本不是解决方案。当有一些余量时,应该已经发生了删除数据。它不应该发生在最后一刻。提供更多存储可能需要很长时间。它应该在磁盘装满之前发生。
解决这个问题的方法是不要让磁盘首先变满。监控存储利用率并始终保持足够的可用性。
如果结果是存储所有数据太昂贵,那么您就会遇到商业模式的问题。这不是技术问题。确定哪些数据可以保留并自动删除其余数据。
我认为这对于几乎所有的Web应用程序而言都是相当常见的
通常必须决定如何处理数据。
。让磁盘变满是非常罕见的,操作失败。高度可扩展的Web应用程序的设计者如何克服海量数据存储的需求?
他们要么没有克服要求并存储所有内容,要么决定删除什么。