【发布时间】:2015-02-03 13:53:17
【问题描述】:
我已经构建了一个 PHP Web 应用程序原型作为一个启动项目,其背后有一个 MySQL 数据库,但现在整个事情需要重写。
我想保留 PHP 作为服务器端语言,但我不知道应该使用什么样的数据库才能主要使用 AJAX 不断搜索和获取数据。
我认为 MySQL 关系数据库可以在一段时间内完成这项工作,但我想为世界各地的许多用户需要快速访问他们的数据做好准备。现在我只有一个在 Digital Ocean 上运行 PHP 和 MySQL 的 VPS,它可以很好地服务于我的 70 个测试用户。
但是如果我的人数开始增加怎么办?我不能只在一个数据库中存储数亿(或数十亿)行数据而没有延迟等问题,可以吗?我是否应该从一开始就考虑使用 Hadoop,这样我以后就不会遇到那么多问题了?我应该如何为将来必须扩展的东西做好准备?
【问题讨论】:
-
这对我来说听起来像是过早的优化。如果硬件合适,MySQL 可以很好地处理数百万行,如果您对架构进行分片、缓存和其他方式正确处理,则可能还可以处理数十亿行。
-
另外,您选择的数据库应该很大程度上取决于您存储/查询的数据类型。关系数据库和 NoSQL 数据库执行两个不同的任务,您应该为工作选择正确的工具。
-
将其视为一种社交书签应用程序。想象一下,用户可以保存任意数量的链接,还可以存储一些元数据以及不同 url-s 的标签。每个链接都有点击统计、登录统计、基于链接受欢迎程度的排名系统等。
标签: php mysql database hadoop internationalization