Database Fundamentals for FDE(FDE 场景下的数据库基础)
知识库位置:
FDE Knowledge Base/03 Engineering/Software Engineering/Database/Database-Fundamentals.md
FDE 不一定是数据库专家,但必须理解:
应用数据应该存在哪里,以及为什么。
最基础的分类:
Relational Database(关系型数据库)
Section titled “Relational Database(关系型数据库)”例如:
- PostgreSQL
- MySQL
适合:
- Structured Data(结构化数据)
- Transactions(事务)
- Strong Relationships(强关系)
Document Database(文档数据库)
Section titled “Document Database(文档数据库)”适合:
- Flexible Schema(灵活的结构定义)
- Nested Documents(嵌套文档)
Key-Value Store(键值存储)
Section titled “Key-Value Store(键值存储)”适合:
- Cache(缓存)
- Session(会话)
- High-speed lookup(高速查找)
Vector Store(向量存储)
Section titled “Vector Store(向量存储)”适合:
- Similarity Search(相似度搜索)
- Semantic Retrieval(语义检索)
Key Questions(关键问题)
Section titled “Key Questions(关键问题)”选择数据库时应该问:
What data?(什么数据)How much?(多大量级)Read or write heavy?(读多还是写多)Transactional?(需要事务吗)Query pattern?(查询模式是什么)Latency requirement?(延迟要求是什么)Consistency requirement?(一致性要求是什么)FDE Principle(FDE 原则)
Section titled “FDE Principle(FDE 原则)”不要:
因为这个数据库最近很流行,所以使用它。
应该:
根据 Access Pattern(访问模式)选择。