AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-64354

Remiz's questions

Martin Hope
Remiz
Asked: 2010-03-20 11:45:37 +0800 CST

MySQL:具有高更新频率的非常大集合的表组织

  • 2

我在选择我的 MySQL 模式应用程序时面临两难境地。所以在我开始之前是一张我的数据库非常简化的图片:

这里的架构:http: //i43.tinypic.com/2wp5lxz.png

一句话:对于每个客户,应用程序收集文本数据并将标签附加到收集的每个数据中。

作为每个表的使用的近似值,这是我所期望的:

  • 客户:~5000,不应该快速增长
  • 数据:每位客户 500 万,大客户可能翻倍或三倍。
  • 标签:〜1000,相当固定的大小
  • data_tag :每个客户轻松上亿。每个数据都可以标记很多。

收集过程是永久性的,这意味着大约每 15 分钟就会有新数据出现并被标记,这需要非常持续的索引刷新。

我的很多查询都是特定日期之间的 DATA SELECT COUNT 并用特定 CUSTOMER 上的特定 TAG 标记(很少会涉及多个客户)。

情况就是这样,你可以想象在这种数据量的情况下,我在数据组织和索引方面面临挑战。同样,它是我的结构的一个非常简约和简化的版本。我的问题是,它更好吗:

  1. 坚持这个模型并管理疯狂的索引优化?(这涉及 data_tag 表中可能有数十亿行)
  2. 更改架构并为每个客户使用一张数据表和一张 data_tag 表?(这涉及在我的数据库中有 5000 个表)

我在复制的 MySQL 5.0 专用服务器(四核,8Go 内存)上运行所有这些。我只使用 InnoDB,我还有另一台运行 Sphinx 的服务器。所以知道这一切,我迫不及待地想听听你对此的看法。

谢谢。


编辑

感谢您的回答,我意识到这个数字有多疯狂。所以这里是更新的更现实的表格用法(基于只是一个基本机架空间盒的实际服务器)。

  • 客户:2000(固定)
  • 数据:每个客户 100 万(固定,归档旧数据。而且非常不公平:有些客户有几千,最大的 500 万)
  • 标签:1000(固定)
  • data_tag :每个客户约 3 或 5 百万(取决于数据,也很不公平)。

谢谢你。

performance mysql scaling indexing
  • 3 个回答
  • 1237 Views
Martin Hope
Remiz
Asked: 2010-02-20 11:41:05 +0800 CST

初始化位于另一个网络上的 MySQL 从服务器而不是主服务器

  • 0

这是我在这里的第一个问题,英语不是我的母语,但我会尽力解释。

我有一个主 MySQL 服务器,在我的提供商基础设施中运行一个公共 IP 地址,我想在我的办公室运行一个本地 MySQL 从服务器,它将复制所有数据以用于测试目的。

设置复制工作完美,我创建了一个 SSH 隧道让我的从属从主读取二进制日志,这里一切都很好。

我的问题是从主人那里设置数据。通常,当我想将数据从主机加载到同一网络上的任何从机时,我会在主机上运行以下命令:

mysqldump 'master' --master-data=1 | mysql 'slave' 

但是在这里我不能为从属设备提供任何 IP,因为它位于我办公室的一系列 NAT 路由器后面......

有没有人有解决方案,知道我无法阻止master并且上面有大约50GB的数据。如果您有任何其他解决方案来进行从主设备到从设备的“热”数据传输,我也很感兴趣。

提前谢谢你。

ssh nat mysql-replication
  • 2 个回答
  • 369 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve