我正在设计一个系统来检查给定网站是否存在任何安全漏洞。该系统包括客户端(firefox插件)和服务器。服务器完成所有扫描,而客户端只是将该信息转发给用户。如果网站存在危险,则将其列入黑名单;否则列入白名单。
系统必须能够同时处理数千个请求并同时更新数据库。
虽然预计数据库结构非常简单,但我仍在考虑使用NoSQL,因为我的理解是它可以处理更多的查询。这是真的?哪种数据库技术更适合我的系统?
答案 0 :(得分:1)
我建议使用NoSQL数据库。
事实上,我在过去几周一直在使用两个数据库,在互联网上搜索我发现NoSQL和SQL数据库之间存在差异。
实际上,如果要查询大量数据,则应使用NoSQL数据库。提醒一下,如果发生数据库灾难,它无法确定数据恢复情况。
相反,如果您的数据必须是永久性的,请使用SQL数据库,并且您不能丢失它。但是查询时间会更长,所以如果您有大量数据则不建议。
我从你所写的内容中了解到,你需要大量的查询而且“丢失”数据(如果你丢失了一个列表的网站,你只需要重新检查一下,对吧?)。 所以我建议你去找一个NoSQL数据库(我使用的是MongoDb,它是世界上最着名的数据库)。
答案 1 :(得分:1)
如果考虑NoSQL数据库,则必须分析数据以获得正确的数据库。
对于您的用例,我认为您应该查看文档数据库(如MongoDB),或者,如果您想要真正的高性能,请查看像Redis或Riak这样的键值数据库。
使用键值数据库,您只能使用键来查找所需的数据。
对于文档数据库,您仍然可以使用某种查询来查找数据。
有关详细信息,请查看:http://nosql-database.org/