我是一个有球的新手:)我正在开发一个具有巨大潜力的网络应用程序(至少在 GB 意义上)。想想书签(比如 diigo)。我想存储书签,其中包含 url、标题、描述、标签以及添加书签时的实际 html 内容。我希望所有内容都可以搜索。
什么数据库最适合我的需求?我一直在阅读有关 mongodb、elasticsearch、solr、mysql 和其他 sql 变体的文章,但我无法弄清楚什么最适合我。
为了告诉您我需要什么(某个特定用户上下文中的所有内容),我需要:
- 搜索网址、标题和标签(我猜任何数据库都可以做得很好?)
- 一般搜索(即上述内容 + 实际网站存储的 html 文件)
此外我需要:
- 一般搜索任何内容(用户、日期、网址、标题、标签、html 页面等)
当我的服务规模很小时,所有选项可能都可以,但是如果我突然发现自己的用户爆炸式增长,那该怎么办?
<小时/>编辑: 我被Algolia震惊了!令人难以置信的文本搜索!而且快!请参阅this与 Elasticsearch 的比较。
最佳答案
- 过早的优化是万恶之源
- 如果您或您的团队拥有使用一种 RDBMS 的经验,请使用您已经知道的知识。
- Postgres 不仅仅在 no-sql 领域占据一席之地:http://thebuild.com/presentations/pg-as-nosql-pgday-fosdem-2013.pdf
- Postgres 全文索引摇滚:http://blog.lostpropertyhq.com/postgres-full-text-search-is-good-enough/
- 我在 postgres 扩展方面没有太多经验,但有很多成功案例:https://www.braintreepayments.com/braintrust/scaling-postgresql-at-braintree-four-years-of-evolution
关于mysql - 我的 Web 应用程序需要 mongodb 或 mysql 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069653/