为您的项目选择正确的数据库是一项复杂的任务。许多数据库选项都适合不同的用例,很快就会导致决策疲劳。
我们希望这份备忘单提供高级指导,以找到符合您项目需求的正确服务并避免潜在的陷阱。
注意:Google 关于其数据库用例的文档有限。尽管我们尽力查看可用的内容并得出最佳选择,但某些条目可能需要更准确。
国外数据库产品
国内数据库产品
为数据库提供支持的 8 种数据结构
答案会根据您的用例而有所不同。数据可以在内存或磁盘上建立索引。同样,数据格式也各不相同,例如数字、字符串、地理坐标等。系统可能是写入密集型的,也可能是读取密集型的。所有这些因素都会影响您对数据库索引格式的选择。
以下是一些用于索引数据的最流行的数据结构:
- Skiplist:常见的内存索引类型。用于Redis
- 哈希索引:“Map”数据结构(或“Collection”)的一种非常常见的实现
- SSTable:不可变的磁盘“Map”实现
- LSM树:Skiplist + SSTable。高写入吞吐量
- B 树:基于磁盘的解决方案。一致的读/写性能
- 倒排索引:用于文档索引。在Lucene中使用
- 后缀树:用于字符串模式搜索
- R-tree:多维搜索,比如寻找最近邻居