我将开发一个工作门户需要建议


I am going to develop a Job Portal need suggestion

我计划用PHP和MySQL开发一个工作门户。问题是,我们将拥有大约500万简历的庞大数据库,所以需要你的建议,我应该用多大的硬盘来存储这么多数据。

关于负载平衡的一些建议。

只是猜测。您的硬件设置应该足够灵活,可以根据需要进行扩展。

如果你要将简历存储为文本:一个页面包含大约3000个字符。假设一份简历的平均长度为4500个字符,而且数据是非结构化的,那么所需的存储空间为22.5 GB,完全在单个服务器的能力范围内。

如果你打算将简历存储为PDF/DOC:我的简历大约有30万份PDF。如果这具有代表性,您将需要大约1.5 TB的存储空间。

负载平衡问题太宽泛,无法回答,而且与您所需的存储量无关,而是与您正在构建的服务的预期负载有关。

首先,CV数据库不应该使用MySql,而应该使用类似Mongodb的json数据库。

MySQL是一个基于relational模型的数据库。问题是,简历不容易被标准化为这样的模型。例如,有些人可以在简历上分享他们的地址,而另一些人则不能。有了json格式的数据库,每个CV都可以完全不同。你不能用MySQL做到这一点(否则很难维护)

其次,创建一个负载平衡的数据库并不容易。有关更多信息,请参阅mongodb文档:http://docs.mongodb.org/manual/core/sharded-cluster-architectures-production/

(至少需要7台服务器)。

希望有帮助:o

如何处理CV中的每个字段并将其插入一个单独的表中。这将帮助您管理内存,同时节省成本。只是为了制作分段代码所做的一些努力。

尝试在核心java 中制作提取代码

我建议使用云解决方案。我开发了一个音乐网站,几年后可能会有超过10 TB的数据。

我的软件栈:Django、Heroku、Postgres和AmazonS3。

负载平衡?让云提供商担心这一点吧。此外,由于我已经分离了应用程序服务器和静态文件服务器,因此负载非常平衡。

唯一需要担心的是数据存储和网络流量的开销。

好吧,

如果您想保持简单,可以将简历保存在文件系统中的某个位置,并将上传简历的路径保存在数据库中。您可以使用标签在用户之间搜索技能。需要详细信息时,获取所需的简历。

这种方式可以降低数据库的负载,因为CV数据不在数据库中,并且在需要时进行处理。

但很明显,您需要大量的存储空间。:)