我打算用PHP开发PHP的工作门户问题我们将拥有大约500万的CV数据库,所以需要你的建议我应该用多大的硬盘来存储那么多的数据。
关于负载平衡的一些建议。
答案 0 :(得分:2)
首先,你不应该使用MySql,而是像Mongodb这样的json数据库用于CV数据库。
MySQL是一个基于relational
模型的数据库。问题是CV不能容易地标准化为这样的模型。例如,有些人可以在他们的简历中分享他们的地址,而其他人则不会。使用json格式数据库,每个CV可以完全不同。你无法用MySQL做到这一点(或者它很难维护)
其次,创建负载平衡数据库并不容易。 有关更多信息,请查看mongodb文档:http://docs.mongodb.org/manual/core/sharded-cluster-architectures-production/
(至少需要7台服务器)。
希望有所帮助:o
答案 1 :(得分:2)
只是猜测。您的硬件设置应足够灵活,以便根据需要增长。
如果您要将简历存储为文本:一个页面包含大约3000个字符。假设平均简历为4500个字符,数据是非结构化的 - 那么所需的存储空间为22.5 GB,完全在单个服务器的能力范围内。
如果您要将简历存储为PDF / DOC:我的简历大约为300K PDF。如果这具有代表性,则需要大约1.5 TB的存储空间。
负载平衡问题太广泛而无法解决,并且与您需要的存储量无关,而与您正在构建的服务的预期负载有关。
答案 2 :(得分:0)
如何处理CV中的每个字段并将其插入单独的表中。这将有助于您管理内存并节省成本。 只是为了制作分割代码做了一些努力。
尝试在核心java中创建提取代码
答案 3 :(得分:0)
我建议使用云解决方案。我开发了一个音乐网站,几年后可能有超过10 TB的数据。
我的软件堆栈:Django,Heroku,Postgres和Amazon S3。
负载均衡?让云提供商担心这一点。此外,由于我将应用程序服务器和静态文件服务器分开,因此负载非常平衡。
唯一要担心的是数据存储和网络流量的费用。
答案 4 :(得分:0)
好吧,
如果您想保持简单,只需将CV保存在文件系统中的某个位置,并将上传的CV的路径保存在数据库中。您可以使用标签在用户之间搜索技能。无论何时需要详细信息,都要获得所需的简历。
这种方式可以使您的数据库负载较小,因为CV数据不在数据库中并在需要时进行处理。
但显然,您需要大量的存储空间。 :)