![对于应用程序来说,使用什么数据库更合适?](https://linux22.com/image/546592/%E5%AF%B9%E4%BA%8E%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%AF%B4%EF%BC%8C%E4%BD%BF%E7%94%A8%E4%BB%80%E4%B9%88%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9B%B4%E5%90%88%E9%80%82%EF%BC%9F.png)
我想为 Windows、Mac 和 Linux 操作系统的 PC 创建程序。程序处理必须使用包含约 12,000,000 个项目的大型数据库。我需要进行文本搜索,最好的技术是什么?
也许 Java + mongodb?或者 PHP + SQLite?或者 Java + Sedna?Sphinx + SQLite +?或者使用 chm 格式?
优先级是:
- 速度
- 易于安装(尽可能少使用其他程序和服务)
- 低计算机要求
- 使用此程序作为内部网服务器
答案1
mysql 用于存储数据,lucene 用于搜索,memcached/redis/whatever 用于缓存
任何主流语言都可以处理这些操作
答案2
答案3
答案4
我认为 PostgreSQL 是最稳定、最专业的开源数据库。它更适合复杂的计算和排序,而不是简单地抓取一个表。它在过去几年中取得了长足的进步,并且得到了大多数主流操作系统的支持。它比 MYSQL 功能更丰富、更稳定。(在我看来,请不要对此大肆抨击)
如果您需要原始速度,请不要使用 PHP,PHP 是即时编译的,因此它总是比其他应用程序语言慢。除非您还想使用反向代理,否则 JAVA 甚至 PYTHON 会更快。
但这只是针对网络开发,需要更多的信息才能做出更明智的决定。