【发布时间】:2023-03-10 19:13:01
【问题描述】:
我正在创建一个严重依赖搜索的网站。虽然一开始它可能会搜索基本元数据,但未来可能会发展到更大的范围。
那么在搜索性能和未来可扩展性方面,您认为哪个 DB/DB 引擎最好?
感谢您的帮助
【问题讨论】:
我正在创建一个严重依赖搜索的网站。虽然一开始它可能会搜索基本元数据,但未来可能会发展到更大的范围。
那么在搜索性能和未来可扩展性方面,您认为哪个 DB/DB 引擎最好?
感谢您的帮助
【问题讨论】:
这取决于您搜索的内容。
如果您进行大量文本搜索,那么您需要的不仅仅是数据库 - 您还需要搜索算法。您可以在网上找到它们,它们可以使用多个数据库作为后端。
但是,如果您只进行简单的文本搜索,那么 MySQL MyISAM 会提供全文搜索,我将其用于少量文本(小于几 GB)。
其他搜索包括使用键和索引,这可能会将您引导至 PostgreSQL,因为它具有坚如磐石的 ACID 合规性或 MySQL 与 INNODB。
【讨论】:
什么是“搜索”?您在寻找什么以及您期望什么样的查询?
PostgreSQL 非常强大,有全文搜索、btree、hash、gin 和 gist 索引。您还可以配置自己的类型和运算符,一切都可以优化您在数据库中的搜索。您可以根据自己的情况使用和调整它。
PostgreSQL 很容易与 PHP 一起使用,完全没有问题。而且它是免费的,有点像 BSD 许可证。
【讨论】:
根据您所说的“搜索”,任何数据库系统都可能工作。 (MySQL 是众所周知的快速 RDBMS)。
如果您真正需要的是“全文搜索”,那么您应该查看 MySQL FULLTEXT 索引(仅可用于 MyISAM 后端 IIRC)、Lucene 或 Xapian。
Zend 框架(用 PHP 编写)有一个现成的 lucene 适配器,请参阅:http://devzone.zend.com/article/91
【讨论】: