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

  • OAuth 2 简单解释
  • URL、URI 和 URN 对比
  • 数据仓库 vs. 数据湖
  • Twitter 1.0 技术栈

URL、URI 和 URN 对比

下图显示了 URL、URI 和 URN 的对比。

URI(Uniform Resource Identifier)

URI 代表统一资源标识符。它标识 Web 上的逻辑或物理资源。URL 和 URN 是 URI 的子类型。URL 定位资源,而 URN 命名资源。

URI 由以下部分组成:

scheme:[//authority]path[?query][#fragment]

URL(Uniform Resource Locator)

URL 代表统一资源定位符,HTTP 的关键概念。它是 Web 上唯一资源的地址。它可以与其他协议一起使用,如 FTP 和 JDBC。

URN(Uniform Resource Name)

URN 代表统一资源名称。它使用 urn 方案。URN 不能用于定位资源。图中给出的简单示例由命名空间和特定于命名空间的字符串组成。

如果你想了解更多细节,我推荐 W3C 的澄清。

数据仓库 vs. 数据湖

下图显示了它们的对比。

  • 数据结构:数据仓库处理结构化数据,而数据湖处理结构化、半结构化、非结构化和原始二进制数据
  • 存储成本:数据仓库利用数据库存储结构化数据层,可能很昂贵。数据湖将数据存储在低成本设备中
  • 数据处理:数据仓库对数据执行 ETL(提取 - 转换 - 加载)。数据湖执行 ELT(提取 - 加载 - 转换)
  • 模式:数据仓库是写时模式(schema-on-write),这意味着数据在写入数据仓库时已经准备好。数据湖是读时模式(schema-on-read),所以数据按原样存储。然后可以转换数据并存储到数据仓库中供消费

问题:你使用数据仓库还是数据湖来检索数据?

Twitter 1.0 技术栈

这篇文章基于许多 Twitter 工程博客和开源项目的研究。

技术栈

  • 移动:Swift、Kotlin、PWA
  • Web:JS、React、Redux
  • 服务:Mesos、Finagle
  • 缓存:Pelikan Cache、Redis
  • 数据库:Manhattan、MySQL、PostgreSQL、FlockDB、MetricsDB
  • 消息队列:Kafka、Kestrel
  • 数据处理:Heron、Flume、Tableau、SummingBird、Scalding
  • 数据存储:Hadoop、blob store
  • 数据中心:Twitter 数据中心、AWS、Google Cloud
  • 工具:Puppet、Audubon、Wilson

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP66: Comparison of URL, URI, and URN

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