微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – crawler / scraper的数据库是什么?

我目前正在研究用于我正在进行的项目的数据库.希望你们能给我一些提示.

该项目是一个自动网络爬虫,可根据用户的请求检查网站,在某些情况下擦除数据,并创建已完成内容的日志文件.

要求:

>只有少数几列的表格;预定义列没有问题
>模型之间没有过于复杂的关联
>大量的约会和基于时间的查询
>由于日志记录,数据库将迅速增长并占用大量空间
>应该能够扩展到多个服务器
>字段主要包含ids(int),字符串(最多约200-500个字符)和unix时间戳
>两种不同类型的服务器将同时直接读取/写入数据:

>一个(或更高版本)rails应用程序,它接受用户输入并根据请求显示结果
>一个(或更高版本)Node.js服务器,用作执行爬虫/刮刀.它将有足够的负载连续运行,每秒进行数十次数据库查询.

我假设它既不是图形数据库(没有复杂的关联),也不是基于内存的键/值存储(缓存中容纳的数据太多).对于我能找到的其他类型的数据库,我仍然处于困境之中,每个数据库似乎都有它的优点.

那么,专业人士的任何建议我应该如何决定?

谢谢.

解决方法

我同意弗拉基米尔的观点,你会想要考虑这个场景的基于文档的数据库.我最熟悉MongoDB.我在这里使用它的原因如下:

>“只有少数几列表”的“架构要求”非常适合MongoDB的Nosql特性.>与上面的“节点之间没有过于复杂的关联”相同 – 您将需要决定是否更喜欢嵌套文档或使用dbref(我更喜欢前者)>大量基于时间的数据(以及其他扩展要求) – MongoDB通过分片或分区可以很好地扩展>读/写访问 – 这就是为什么我推荐MongoDB而不是像Hadoop这样的东西.交互式查询要求最好由Hadoop样式的商店以外的其他东西来满足,因为这种类型的存储是为批量(而不是交互式查询)要求而设计的.

原文地址:https://www.jb51.cc/mssql/78513.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐