短链系统设计性能优化-分片键选型及全局自增 ID 策略

简介: 若一个 long 可对应多个 short使用 cache 缓存所有 long2short在为一个 long url 创建 short url 时,若 cache miss,则创建新 short

4.3.1 分片键选择

若一个 long 可对应多个 short

使用 cache 缓存所有 long2short

在为一个 long url 创建 short url 时,若 cache miss,则创建新 short

若一个 long 只能对应一个 short

若使用随机生成算法

两张表,一张存储 long2short,一张存储short2long

每个映射关系存两份,则能同时支持 long2short short2long 查询

若使用 base62 进制转换法

有个严重问题,多台机器之间如何维护一个全局自增的 id?

一般关系型DB只支持在一台机器上实现这台机器上全局自增的 id

4.4 全局自增 id

4.4.1 专用一台 DB 做自增服务

该 DB不存储真实数据,也不负责其他查询。


为避免单点故障,可能需要多台 DB。


4.4.2 使用 zk

但使用全局自增 id 不是解决 tiny url最佳方案。

Generating a Distributed Sequence Number

目录
相关文章
|
5月前
|
监控 数据库 索引
数据库索引的设计与优化策略
在数据库系统中,索引的设计和优化对于数据检索效率至关重要。本文探讨了数据库索引的基本概念,介绍了常见的索引类型及其适用场景,并深入分析了如何根据实际需求设计和优化索引,以提升数据库查询性能和整体系统效率。
|
5月前
|
分布式计算 关系型数据库 数据挖掘
实时数仓 Hologres产品使用合集之当使用动态分区管理功能按日期进行分区后,通过主键和segment_key进行时间范围查询性能变差是什么原因
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
337 0
|
4月前
|
Java 测试技术 API
面试题ES问题之零停机索引重建方案的选择如何解决
面试题ES问题之零停机索引重建方案的选择如何解决
29 0
|
6月前
|
SQL 存储 关系型数据库
深分页怎么导致索引失效了?提供6种优化的方案!
深分页怎么导致索引失效了?提供6种优化的方案!
|
6月前
|
前端开发
基于jeecgboot的主从表改造成抽屉式的字典操作模式
基于jeecgboot的主从表改造成抽屉式的字典操作模式
105 0
|
算法 NoSQL 关系型数据库
分布式系统第三讲:全局唯一ID实现方案
分布式系统第三讲:全局唯一ID实现方案
404 0
|
NoSQL 算法 关系型数据库
分布式系列教程(43) -高并发情况下生成分布式全局id策略
分布式系列教程(43) -高并发情况下生成分布式全局id策略
104 0
|
数据库 索引
数据库索引设计规则
数据库索引设计是优化数据库查询性能的重要一环。以下是一些常见的数据库索引设计规则:
75 0
|
存储 容灾 NoSQL
如何选择合适的分布式ID生成方案?
如何选择合适的分布式ID生成方案?
91 0
下一篇
无影云桌面