在这篇文章中,我们将讨论以下话题:

  • 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

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。