首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Schemaless架构(二):Uber基于MySQL的Trip数据库

ber的Schemaless数据库是从2014年10月开始启用的,这是一个基于MySQL的数据库,本文就来探究一下它的架构。本文是系列文章的第二部分;第一部分是关于Schemaless的设计。...然后对Schemaless进行了简单介绍,包括其发展决策过程、整体数据模型,并介绍了Schemaless的trigger与索引等功能。 本文将概述Schemaless的架构。...Schemaless不对其中存储的数据执行任何操作(故而命名schemaless)。从Schemaless的观点来看,它只负责存储JSON对象。...Schemaless的基本结构如下: ? 工作节点 Schemaless的客户端与工作节点通过HTTP端点通讯。...总结 如今的Schemaless是Uber基础架构大量服务的生产数据库。我们的很多服务都极其依赖这个高可用性和可扩展的Schemaless

2.1K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何将 Schemaless 演化成分布式 SQL 数据库

    作者 | Uber Engineering 译者 | Sambodhi 策划 | 刘燕 2016 年,我们发表了关于 Schemaless—Uber Engineering 的可扩展数据存储的博文(一、...在这两篇博文中,我们介绍了 Schemaless 的设计,并解释了开发它的原因。今天这篇文章我们将要讲的是 Schemaless 向通用事务性数据库 Docstore 的演化历程。...动 机 Schemaless 最初被设计为一个仅有附加的数据存储。最小的实体被称为单元格,它是不可变的。去除可变性降低了系统的复杂性,并使其不易出错。...有了开发和运行 Schemaless 和 Cassandra 的第一手经验,我们得出的结论认为,将 Schemaless 演化为一个通用的事务性数据库是最佳选择。...Schemaless 历来是一个高度可靠的系统,但现在我们需要关注可用性,同时实现相似或更好的可靠性。

    89320

    Jellyfish:为Uber最大的存储系统提供更节省成本的数据分层

    其中一项技术是 Schemaless,它能够对相关条目进行建模,然后存储在一个包含多个列的行中,并对每列进行版本管理。 Schemaless 已经存在了多年,其中积累了 Uber 的大量数据。...为此,Schemaless 使用快速(但昂贵)的底层存储技术来实现高 QPS 下的毫秒级延迟。此外,Schemaless 还在每个区域都部署了一些副本,以确保不同故障模式下数据的持久性和可用性。...向后兼容 Schemaless 已经存在了很久,它是 Uber 许多服务甚至是服务分层不可或缺的组成部分。...可配置性 如前所述,Schemaless 在 Uber 有许多用例,这些用例在访问模式和延迟容忍度等方面不尽相同。...分批是由单元格完成的,它是 Schemaless 的基本单位。 如图所示,Schemaless 用了一个批处理索引,它从单格元的 UUID 映射到相应的批次 UUID(UUID 到 BID)。

    54310

    减少超十万 CPU 内核,省下数千台主机,Uber 弄了个自动化 CPU 垂直扩展年省数百万美元

    在优步(Uber),我们在容器化环境中运行所有的存储工作负载,如 Docstore、 Schemaless、M3、MySQL、Cassandra、Elasticsearch、etcd、Clickhouse...图 3:对大多数 Schemaless 实例应用 CPU 扩展前后的峰值 CPU 利用率直方图。低(Low)是指峰值使用率低于 25%,高(High)是指峰值利用率高于 45%。...图 3 显示了 Schemaless 技术启用 CPU 垂直扩展前后的峰值 CPU 使用率的直方图。默认情况下,扩缩器设置为以 40% 的峰值 CPU 使用率为目标。...它之所以没有完全消失,主要是因为 Schemaless 运行在基于 Raft 的领导者 / 追随者 (Leader/Follower) 设置中,每个集群只有一个领导者(leader)。...正确调整与 Schemaless 相关的所有容器的大小的最终效果是总体减少了大约 10 万个内核,即约 20%。

    58320
    领券