数据的核心技术是一个倒排索引,即为反向索引,从文件内容到条目的索引。其中最基础的数据结构就是B树索引。

数据库的分类

数据库分为:

  • 关系型数据库(SQL),侧重于数据之间的关系处理
  • NoSQL,非关系型数据库,可以认为是 Key-Value 键-值对为主要形式的数据库,可以认为是一个巨大的哈希表。例如 redismongodb

适配不同的应用场景,还有不同的数据库:

  • 向量型:处理向量,检索向量的数据库。例如 pgVector,milvus,OpenSearch
  • 检索型:倒排索引数据库,用于搜索数据,例如 ElasticSearch
  • 时序型:处理时序数据,例如 InfluxDB

基本数据组成

不论是什么样的数据库,都由“集合”与“条目”组成:

  • 集合,代表有关联关系的一类数据,SQL 中就是表,mongodb 中就是 collection
  • 记录,代表具体数据,SQL 里就是表中的数据,mongodb 中就是 document

集合一般有一个相对较为固定的数据结构,例如表中的记录一定有相同的字段,表示其相似的性质。