社交网络后端架构

2023-12-24

理想情况下,像 Facebook 这样的应用程序应将其“好友”数据存储在哪里? 在数据库表中?在 xml 文件中?


From Facebook 的工程页面 http://www.facebook.com/Engineering#/Engineering?v=info:

“我们已经是世界上第二大流量 PHP 网站(雅虎排名第一),并且是全球最大的 MySQL 安装之一,运行着数千个数据库。”

and

“我们构建了一个轻量级但功能强大的多语言 RPC 框架,使我们能够无缝、轻松地将用任何语言编写、在任何平台上运行的子系统结合在一起。Facebook 采用 PHP、C++、Perl、Python、Erlang、Java 构建,甚至一点点机器学习——所有这些都可以协同工作。 * 我们是开源缓存系统 memcached 世界上最大的用户。最初由 LiveJournal 开发,我们已经进行了许多可扩展性改进和性能升级,因此我们将成为下一个主要版本中功能的主要贡献者。 * 我们创建了一个定制的搜索引擎,每天可处理数百万个查询,完全分布式且完全在内存中,并具有实时更新。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

社交网络后端架构 的相关文章

  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 如何通过 SQL 表关联 SQL 中的实体

    我是数据库设计的初学者 我需要为项目创建数据库 我可以用面向对象的术语解释我想要做什么 值得庆幸的是 数据库专家会很友善地向我解释如何在数据库方面处理这个问题 我想创建一个与位置实体 州 城市 有关系的用户 ID 名称 实体 所以在编程语言
  • 如何处理数据库中的巨大结果集

    我正在设计一个多层数据库驱动的 Web 应用程序 SQL 关系数据库 用于中间服务层的 Java 用于 UI 的 Web 语言其实并不重要 中间服务层执行数据库的实际查询 用户界面只是要求某些数据 并不知道它是由数据库支持的 问题是如何处理
  • 通知设置的数据库设计

    用户可以打开或关闭 他的通知设置 帐户 用于通知 例如 更改帐户资料信息 收到新消息等 通知可以通过电子邮件或手机 推送或短信 发送 用户可以只有 1 封电子邮件和多个手机设备 有什么方法可以改进以下数据库设计或者您会采取不同的方式吗 让我
  • Oracle 中仅在一列上不同

    我想在下表中使用不同的值 但仅在 PlayerID 列上使用 这就是我现在所拥有的 MATCHID PLAYERID TEAMID MATCHDATE STARTDATE 20 5 2 14 JAN 12 01 JUN 11 20 5 4
  • cmd 和 workbench mysql 查询性能差异

    我有两个问题 正如我的标题 哪一个对于对大量数据运行大型查询更有效 我查看了 MySQL 文档 其中解释了工作台的性能https www mysql com products workbench performance https www
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • 发布Oracle和SQL Server性能测试是否违反许可? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想对Oracle和SQL Server中的空间索引进行性能测试 我想将其纳入我的理学硕士工作中 发布此类结果是否违反 dbms 的许可 也许有人已经
  • 如何使用 C# 将数据从存储在 FTP 服务器上的 ZIP 文件导入到数据库

    此代码从 FTP 服务器导入 void dat 文件 现在 void dat 位于 archive zip 文件下 那么如何从数据库中的 archive zip 中提取并导入数据 void dat 呢 WebClient request n
  • CakePHP PHPUnit 装置每次都会删除数据库表

    我正在尝试对我的模型运行简单的单元测试 问题是每次运行测试时 我的数据库表都会被删除 我有 public dropTables false 任何人都可以弄清楚为什么merchant rejects 表仍然被删除吗 正如您将看到的 我在我的装
  • 如何编写Alter Table并添加新列?

    我有一个表 有 3 列 A B C 其中也有行 A 列是主键 现在 根据新的要求 我需要添加新的 D E 和 F 列 另外 我需要从 A 列中删除以前的主键 并为 D 列添加新的主键 E 列和 F 列为 NULL 请帮助我创建 alter
  • LINQ To SQL 是否比使用 ado.net 和 oledb 提供更快的响应时间?

    毫无疑问 LINQ 简化了数据库编程 但它有缺点吗 内联 SQL 要求以某种方式与数据库进行通信 从而打开数据库以进行注入 内联 SQL 还必须进行语法检查 构建计划 然后执行 这需要宝贵的周期 存储过程也是优秀数据库应用程序编程中坚如磐石
  • 为什么 PostgreSQL 中的聚合函数不适用于布尔数据类型

    为什么我们不能在聚合函数中使用布尔值而不先转换为某种整数类型 在许多情况下 从布尔数据类型的列计算总和 平均值或相关性是非常有意义的 考虑以下示例 其中布尔输入必须始终转换为int为了使其发挥作用 select sum boolinput
  • PHP 和 MySQL 更新查询仅更新表中的最后一条记录

    我有一个 HTML 表单 用于通过后脚本更新 MySQL 表 但是 我遇到一个问题 即每行上的更新按钮仅适用于表中的最后一行
  • 从局域网上的另一台计算机访问wamp中的网站文件和phpmyadmin

    我将文件托管在一台充当服务器的计算机上 但我想从局域网上的另一台计算机访问根 www 目录文件和 phpmyadmin 通过访问 我的意思是编辑它们并打开它们以查看和进行更改到数据库和代码 这怎么可能 默认情况下 WAMPServer 配置
  • 关闭准备好的语句

    使用PreparedStatements 和ResultSets 是否会在每次使用时创建一个 新的数据库实例 或者 换句话说 如果我使用PreparedStatement和ResultSet 我应该在每次使用后或完成后关闭它们吗 Examp
  • 按钮 Onclick 调用 Javascript,后者调用 PHP 文件,该文件添加到 Mysql 数据库

    我需要添加到数据库的帮助 我想从按钮单击方法调用 javascript scrt Javascript 脚本 我想调用一个 php 文件 其中包含一些添加到 MySQL 数据库的代码 我确实尝试了 20 多个网站 但没有任何帮助 如果 AJ
  • 我是否应该标准化我的数据库?

    在设计数据库 例如 MySQL 的模式时 会出现是否完全规范化表的问题 一方面 连接 以及外键约束等 非常慢 另一方面 您会获得冗余数据和潜在的不一致 最后优化 是正确的方法吗 即创建一个按书本规范化的数据库 然后查看可以对哪些内容进行非规
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • Microsoft SQL 数据库的 WebSocket 侦听器

    我目前正在开发一个项目 该项目必须使用 WebSockets 作为将数据传输到客户端的方式 基础设施看起来像这样 客户端 gt Web 服务器 gt Microsoft SQL 数据库 我想最理想的情况应该是这样的 客户端打开一个到服务器的

随机推荐