`
J2EE小熊
  • 浏览: 108739 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Skype 用 PostgreSQL 支撑海量用户

阅读更多

自从 MySQL 被 Sun 收购后,相信很多对该收购不放心的朋友会转而看好 PostgreSQL 的前途。虽然比较大的 Web 2.0 站点数据库方案基本都采用 MySQL ,不过也有用 PostgreSQL 并且跑的不错的。今天看到 Skype Plans for PostgreSQL to Scale to 1 Billion Users 这个帖子,对 PostgreSQL 在大型网站应用上的部署算是有了一点了解。

Skype 在数据库上的横向扩展能力以 PL/Proxy 为基础的。其实几乎所有部署 MySQL 的站点也都在考虑 Scale Out (相比 Scale Up) 的扩展方案,也有 MySQL Proxy 这样的产品推出来,只是看起来还不够成熟。PL/Proxy 的设计思想类似 Teradata 的 Hash 机制,数据存储对客户端是透明的,客户请求发送到 PL/Proxy 后,由这里分布式存储过程调用,统一分发,示意图如下:

PL_Proxy.png

PL/Proxy 的设计初衷就是在这一层充当"数据总线"的职责,所以,当数据吞吐量支撑不住的时候,只需要增加更多的 PL/Proxy 服务器即可。(虽然随着服务器越多,通信的开销越大,但只要不大于某个规模,似乎还不足以成为比较大的问题)

随着数据总线层的水平扩展,连接池的问题就凸显出来。Skype 在连接池上的解决方案是采用 PgBouncer,PgBouncer 极大地增强了 PostgreSQL 的连接数扩展能力。顺便说一下,"池"有三种级别:Session 池、事务池、语句池。

Skype 另外开发了一套工具包: SkyTools 来进行数据库的维护,主要是解决数据的复制与队列以及失败接管问题。

整体看下来,围绕着 PostgreSQL 的解决方案其实蛮成熟的。BTW,看起来挺适合阿里旺旺的 :)

--EOF--

分享到:
评论

相关推荐

    POSTGRESQL-10用户手册

    POSTGRESQL-10用户手册 2018最新版用户手册,官方原版

    postgresql8.2.3用户手册API

    《postgresql8.2.3用户手册API》是PostgreSQL数据库系统在8.2.3版本中的应用程序编程接口(API)的详细指南。这份手册对于开发者来说是宝贵的资源,它涵盖了如何利用API与PostgreSQL数据库进行交互的各种技术。下面...

    postgresql-42.5.0.jar

    它可以让Java程序员方便地使用PostgreSQL数据库,并提供了许多功能和工具,使程序员可以编写高效、稳定和高性能的应用程序。postgresql-42.5.0.jar在许多Java框架如Hibernate和Spring等中使用,并很受开发人员的欢迎...

    PostgreSQL 12.2安装与使用

    本文档提供了一个详细的 PostgreSQL 12.2 安装与使用指南,涵盖了创建用户与环境配置、系统内核参数配置、PostgreSQL 12.2 安装、依赖包检查、源代码安装步骤、创建数据库、配置与使用等方面的内容。通过本文档,您...

    PostgreSQL中文手册9.2

    一、使用 一、使用 EXPLAINEXPLAINEXPLAINEXPLAIN EXPLAIN: 46 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (服务器配置 服务器配置 服务器配置 ) 50 一、服务器进程的启动和关闭: 一、服务器...

    阿里云 专有云Enterprise版 HybridDB for PostgreSQL V3.1.0 用户指南

    用户在使用 HybridDB for PostgreSQL 时,需要遵守阿里云的使用条款,包括但不限于不擅自披露或传播阿里云的保密信息、不得擅自修改或复制阿里云的软件或文档、不得使用阿里云的名称或商标进行任何营销或广告活动等...

    postgresql 12、15离线安装包

    6. 文档:包含安装指南、用户手册和技术文档,帮助用户理解和使用PostgreSQL。 安装步骤大致如下: 1. 解压下载的离线包到一个合适的目录。 2. 设置环境变量,例如将bin目录添加到PATH中,以便于在命令行中调用...

    Postgresql-10安装包

    8. **创建第一个数据库和用户**:使用 `createdb` 创建数据库,使用 `createuser` 创建数据库用户,并给予适当的权限。 9. **安装和配置额外的工具**:如 pgAdmin 或 psql,这些工具可以帮助你更方便地管理和操作...

    PostgreSQL 12.2 安装手册

    PostgreSQL 是一种功能强大且广泛使用的开源关系数据库管理系统。随着版本的更新,PostgreSQL 12.2 成为当前主流的数据库管理系统版本之一。本文档旨在指导用户如何在 CentOS 7.7 操作系统环境中安装 PostgreSQL ...

    PostgreSQL 数据库集群和PL/Proxy配置安装指南PL/Proxy和PostgreSQL集群的结构关系可以用下图清楚地表示,对PL/Proxy和PostgreSQL集群还不太了解的朋友可以看Skype Plans for PostgreSQL to Scale to 1 Billion Users这篇文章。

    ### PostgreSQL 数据库集群与 PL/Proxy 的配置安装详解 #### 一、PostgreSQL 数据库集群概念 PostgreSQL 是一种开源的关系型数据库系统,以其强大的功能、稳定性和扩展性而受到广泛认可。对于需要处理大量数据或高...

    Navicat for PostgreSQL(PostgreSQL数据库管理)V11.0.10简体中文特别版

    它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL最新版本的功能,包括触发器、函数、管理用户等。Navicat 的功能足以符合专业开发人员的所有需求,但是对 PostgreSQL 的新手来说...

    PostgreSQL_8.2.3.rar_postgresql_windows 8

    8. **函数与过程**:PostgreSQL允许用户定义自定义函数和存储过程,文档会展示如何编写和使用这些高级功能。 9. **性能调优**:对于大型系统,性能优化是关键。文档可能包含有关调整参数、监控系统状态和分析性能...

    postgresql

    1. **下载与解压**:首先,用户需要从官方网站或其他可靠来源下载对应版本的PostgreSQL安装包,然后将其解压到本地目录。 2. **环境配置**:在安装前,确保系统满足PostgreSQL的硬件和软件需求,例如操作系统兼容性...

    postgresql 离线安装教程

    此外,用户还可以通过添加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等方式来扩展PostgreSQL的功能。由于其灵活的许可证条款,任何人都可以免费地使用、修改和分发PostgreSQL。 #### 二、离线安装...

    PostgreSQL 9.6 RPM包

    总之,PostgreSQL 9.6 RPM包为Linux用户提供了一个便捷的离线安装途径,让用户能在没有互联网连接的环境下部署和管理这一强大而可靠的数据库系统。正确安装和配置后,PostgreSQL 9.6能够满足各种规模的企业级应用...

    postgresql离线安装包及依赖库

    这使得用户可以在本地计算机上搭建和运行PostgreSQL数据库服务器。 2. 依赖库:PostgreSQL运行需要一些特定的库文件支持,比如libssl(用于加密通信)、libpq(PostgreSQL的C语言接口库)等。离线安装包通常会打包...

    PostgreSql+PostGis创建空间数据库

    本文将指导您如何使用PostgreSql 和PostGis 创建一个空间数据库。 一、准备安装包 在开始安装 PostgreSql 和PostGis 之前,需要下载相关的安装包。PostgreSql 的安装包可以从官方网站下载,PostGis 的安装包可以从...

    postgresql-12-A4_postgresql手册_

    本手册全面覆盖了关于PostgreSQL 12的基础知识、高级概念以及实践操作,帮助用户深入理解和充分利用这一强大的开源数据库系统。 一、数据库创建与管理 1. 数据库创建:PostgreSQL 12允许用户通过`createdb`命令或...

    PostgreSQL(postgresql-14.1.tar.bz2)

    PostgreSQL(postgresql-14.1.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...

    Linux centos7 postgresql12 离线安装包

    本指南将详细介绍如何使用离线安装包在CentOS7上安装PostgreSQL 12。 首先,了解PostgreSQL。PostgreSQL是一款开源的对象关系型数据库管理系统(RDBMS),以其强大的功能、稳定性以及高度的可扩展性而受到广泛认可...

Global site tag (gtag.js) - Google Analytics