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
    • 最新
    • 标签
主页 / dba / 问题 / 54791
Accepted
user2601966
user2601966
Asked: 2013-12-11 10:30:01 +0800 CST2013-12-11 10:30:01 +0800 CST 2013-12-11 10:30:01 +0800 CST

什么是 MySQL 集群中的 mysqld 进程?

  • 772

据我所知,mysqld 进程是 MySQl 集群的一种路由器。它将请求定向到正确的 ndbd 节点。

假设我在 3 台不同的机器上有 3 个 ndbd 节点并且我不使用复制。我需要多少个 mysqld 进程?我会说一个?对我来说,它就像一个主从架构(与 mongodb 相当)但我看到了每个 ndbd 节点也有一个 mysqld 进程的配置。为什么?

mysql ndbcluster
  • 2 2 个回答
  • 1669 Views

2 个回答

  • Voted
  1. Best Answer
    RolandoMySQLDBA
    2013-12-11T12:56:43+08:002013-12-11T12:56:43+08:00

    对于在 MySQL Cluster 环境中运行mysqld的 DB Server,DB Server 的角色称为 SQL 节点。

    我曾经描述过存储节点和 SQL 节点之间的区别:mysqld --ndb-cluster 是否需要在 MySQL Cluster 数据节点上运行?. 在问题的评论部分,Mat Keep评论说您应该查看MySQL Cluster -- 在数据节点上存储表数据。

    在一个小型集群中,我看不到在存储节点上运行 mysqld 有任何重大影响。在更大的集群中,我希望 SQL 节点与数据节点分开设置,除非您打算将数据存储在物理文件中。

    您可以从 DBA StackExchange 中的三位 MySQL 集群专家那里找到更多信息

    • 弗雷泽克莱门特
    • 垫子保持
    • 安德鲁摩根

    根据您的评论

    更准确地说,我有 3 台机器运行一个数据节点。每台机器都有 8Gb 的 RAM。数据库总共应存储约 5000 万个约 1kb 的记录。你会怎么做呢?

    免责声明:未经 SCMDBA 认证

    就个人而言,我会获得第四台服务器并将其作为 SQL 节点运行,而将其他服务器作为存储(数据)节点。确保 SQL 节点和数据节点具有相同的硬件和操作系统设置。

    如果它是一个低写入数据库集群,那么您可以碰巧mysqld --ndbcluster在每个数据节点上运行它(不需要第四个服务器)。

    • 0
  2. Mindaugas Riauba
    2013-12-11T21:34:05+08:002013-12-11T21:34:05+08:00

    ~5000 万~1kB 记录是~50GB 的数据,即使不计算标头和可能的索引。你有 3 台机器,每台都有 8GB 的​​ RAM。这意味着数据节点可以使用高达 6GB 的 RAM。MySQL Cluster 中的所有数据记录都必须存储在两个节点上。因此,在您的集群中,您可以存储 (3*6GB)/2=9GB 的数据。

    由于数据记录标题、可能的索引和其他元数据,实际数量甚至更少。

    因此,要在集群中存储 50GB 的数据,您必须使用 MySQL 集群磁盘数据表。

    顺便说一下,默认集群设置NoOfReplicas=2不能有 3 个数据节点。文档说"The value for this parameter must divide evenly into the number of data nodes in the cluster"。

    您必须使用 2 个数据节点并将第三个服务器专用于 SQL 节点,或者更改NoOfReplicas为 1 个并降低高可用性。

    • 0

相关问题

  • 是否有任何 MySQL 基准测试工具?[关闭]

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

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

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    授予用户对所有表的访问权限

    • 5 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve