我的网络应用程序需要mongodb或mysql吗?

时间:2014-04-14 20:23:57

标签: mysql mongodb postgresql solr elasticsearch

我是一个带球的新手:)我正在开发一个具有巨大潜力的网络应用程序(至少在GB的意义上)。想想书签(比如diigo)。我想存储书签,包括网址,标题,描述,标签以及书签时的实际html内容。而且我希望所有这些都可以搜索。

哪种数据库最符合我的需求?我一直在阅读有关mongodb,elasticsearch,solr,mysql和其他sql-variants的内容,但我无法弄清楚什么对我来说最好。

为了告诉你我需要什么(在一个特定用户的上下文中的所有内容),我需要:

  • 搜索网址,标题和标签(我猜任何数据库都可以在那里做得很好吗?)
  • 一般搜索(意思是上面的+实际网站存储的html文件)

另外我需要:

  • 一般搜索任何内容(用户,日期。网址,标题,标签,html页面等)

当我的服务很小的时候,所有选项都可能没问题,但是如果我突然发现自己处于爆炸性的用户扩张状态呢?


修改 我被Algolia震惊了!难以置信的文字搜索!快!请参阅this与Elasticsearch的比较。

1 个答案:

答案 0 :(得分:1)

  1. 过早优化是万恶之源
  2. 如果您或您的团队有使用一个RDBMS而不是另一个RDBMS的经验,请使用您已经知道的内容。
  3. Postgres不仅仅在no-sql领域保持它:http://thebuild.com/presentations/pg-as-nosql-pgday-fosdem-2013.pdf
  4. Postgres全文索引摇滚:http://blog.lostpropertyhq.com/postgres-full-text-search-is-good-enough/
  5. 我对postgres扩展没有太多经验,但有很多成功案例:https://www.braintreepayments.com/braintrust/scaling-postgresql-at-braintree-four-years-of-evolution