[译]关系数据库设计速成课程

原文链接:https://blog.bytebytego.com/p/a-crash-course-on-relational-database 在当今数据驱动的世界中,高效存储和管理信息是各种规模的企业和组织的关键要求。 关系数据库提供了一个强大的框架,用于根据实体之间明确定义的关系来存储和检索数据。它们提供了一种结构化的数据管理方法,使用户能够: ...

2024-08-05 · 14 min · 6782 words · chensoul

[译]分布式系统速成课程

原文链接:https://blog.bytebytego.com/p/a-crash-course-on-distributed-systems 分布式系统是多台计算机(也称为节点)的集合,它们协作执行特定任务或提供服务。 这些节点在物理上是分开的,并通过网络传递消息相互通信。分布式系统可以跨越地理边界,使其能够利用来自不同位置的资源。 ...

2024-08-05 · 14 min · 6915 words · chensoul

[译]数据库分片速成课程

原文链接:https://blog.bytebytego.com/p/a-crash-course-in-database-sharding 随着应用程序越来越受欢迎,它会吸引更多活跃用户并加入更多功能。这种增长导致每日数据生成量增加,从业务角度来看,这是一个积极的指标。 然而,它也给应用程序的架构带来挑战,特别是在数据库可扩展性方面。 ...

2024-08-05 · 15 min · 7482 words · chensoul

[译]数据库扩展策略速成课程

原文链接:https://blog.bytebytego.com/p/a-crash-course-in-database-scaling 数据库是现代应用程序开发的支柱。它们在存储、管理和检索数据方面发挥着至关重要的作用,使应用程序和服务能够有效运行。 随着应用程序越来越受欢迎并吸引越来越多的用户群,数据库面临着处理不断增加的数据量、并发用户和复杂查询的挑战。 ...

2024-08-05 · 13 min · 6178 words · chensoul

[译]领域驱动设计速成课程

原文链接:https://blog.bytebytego.com/p/a-crash-course-on-domain-driven-design 为复杂领域开发软件是一项具有挑战性的任务。 随着问题领域的复杂性不断增长,创建准确表示业务概念、规则和流程的软件变得越来越困难。设计不良的软件很快就会变成难以理解、难以维护和扩展的混乱代码。 领域驱动设计(DDD)为这个问题提供了解决方案。 ...

2024-08-05 · 13 min · 6132 words · chensoul

Redis安装和部署

单机安装 通过 yum 安装 在 CentOS 7 上通过 yum 安装 Redis,可以按照以下步骤进行操作: 更新系统软件包: 1 sudo yum update 安装 Redis: 1 sudo yum install redis 可以看到默认安装的 redis 版本是 3.2.12-2.el7 如果需要安装 redis 7,这需要下载 yum 源: 1 2 sudo yum install epel-release sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 然后,在指定源进行安装: ...

2024-05-14 · 5 min · 2371 words · chensoul

[译]《Grokking the System Design Interview》设计Twitter

这是一篇双语翻译的文章,原文出自 grok_system_design_interview.pdf 的一篇文章《Designing Twitter》设计 Twitter。 Let’s design a Twitter-like social networking service. Users of the service will be able to post tweets, follow other people, and favorite tweets. Difficulty Level: Medium 让我们设计一个类似 Twitter 的社交网络服务。该服务的用户将能够发布推文、关注其他人以及喜欢的推文。难度级别:中等 ...

2023-12-14 · 17 min · 8405 words · chensoul

如何设计一个分布式ID生成器保证ID按时间有序?

很多业务有生成唯一 ID 并作为数据库主键的需求。数据库会在这个字段上建立聚集索引(参考 MySQL InnoDB),即该字段会影响各条数据再物理存储上的顺序。 ID还要尽可能短,节省内存,让数据库索引效率更高。基本上64位整数能够满足绝大多数的场景,但是如果能做到比64位更短那就更好了。需要根据具体业务进行分析,预估出ID的最大值,这个最大值通常比64位整数的上限小很多,于是我们可以用更少的bit表示这个ID。 ...

2023-12-05 · 6 min · 2830 words · chensoul

[译]《Grokking the System Design Interview》设计Dropbox

这是一篇双语翻译的文章,原文出自 grok_system_design_interview.pdf 的一篇文章《Designing Dropbox》设计 Dropbox。 Let’s design a file hosting service like Dropbox or Google Drive. Cloud file storage enables users to store their data on remote servers. Usually, these servers are maintained by cloud storage providers and made available to users over a network (typically through the Internet). Users pay for their cloud data storage on a monthly basis. Similar Services: OneDrive, Google Drive Difficulty Level: Medium ...

2023-11-24 · 20 min · 9975 words · chensoul

[译]《Grokking the System Design Interview》设计Facebook Messenger

这是一篇双语翻译的文章,原文出自 grok_system_design_interview.pdf 的一篇文章《Designing Facebook Messenger》设计 Facebook Messenger。 Let’s design an instant messaging service like Facebook Messenger where users can send text messages to each other through web and mobile interfaces. 让我们设计一个像 Facebook Messenger 这样的即时消息服务,用户可以通过网络和移动界面互相发送短信。 ...

2023-11-24 · 17 min · 8383 words · chensoul