在这篇文章中,我们将讨论以下话题:
- HTTPS 如何工作
- 数据库类型和使用场景
- ElasticSearch
- REST API 设计
数据库类型和使用场景
今天有数百甚至数千种数据库可供选择,例如 Oracle、MySQL、MariaDB、SQLite、PostgreSQL、Redis、ClickHouse、MongoDB、S3、Ceph 等。你如何为系统选择架构?我的简短总结如下:
关系型数据库
几乎所有问题都可以由它们解决。
内存存储
它们的速度和有限的数据大小使其非常适合快速操作。
时间序列数据库
存储和管理带时间戳的数据。
图数据库
适用于非结构化对象之间的复杂关系。
文档存储
它们适合大型不可变数据。
宽列存储
它们通常用于大数据、分析、报告等需要非规范化数据的场景。
ElasticSearch
基于 Lucene 库,ElasticSearch 提供搜索功能。它提供了一个分布式、多租户能力的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。
下图显示了概述。
ElasticSearch 特性
- 实时全文搜索
- 分析引擎
- 分布式 Lucene
ElasticSearch 使用场景
- 电商网站上的产品搜索
- 日志分析
- 自动完成器、拼写检查器
- 商业智能分析
- Wikipedia 上的全文搜索
- StackOverflow 上的全文搜索
ElasticSearch 的核心在于数据结构和索引。理解 ES 如何使用 LSM Tree(日志结构合并树)构建术语字典很重要。
REST API 设计
REST API 设计的原则、方法、约束和最佳实践是什么?我希望下图给你一个快速概述。
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP36: Types of Databases and Use Cases。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。