gpt4 book ai didi

mysql - 数据库服务器、分区和实例

转载 作者:行者123 更新时间:2023-12-02 02:45:28 25 4
gpt4 key购买 nike

在 MySQL(和 PostgreSQL)中,数据库实例和数据库分区到底由什么构成?

例如,不同的数据库分区是否必须位于不同的数据库实例上?或者单个数据库实例可以管理多个分区吗?如果是后者,那么称其为“分区”有什么意义呢?在这种情况下数据库会知道吗?

以下引用来自在线类(class)中描述系统设计的文档:

How can we plan for the future growth of our system?

We can have a large number of logical partitions to accommodate future data growth, such that in the beginning, multiple logical partitions reside on a single physical database server. Since each database server can have multiple database instances on it, we can have separate databases for each logical partition on any server. So whenever we feel that a particular database server has a lot of data, we can migrate some logical partitions from it to another server. We can maintain a config file (or a separate database) that can map our logical partitions to database servers; this will enable us to move partitions around easily. Whenever we want to move a partition, we only have to update the config file to announce the change.

最佳答案

这些术语令人困惑、误用且定义不一致。

对于 MySQL:

一个数据库有多个定义:

  • “架构”(由其他供应商/标准使用)。这是一个表格的集合。一个实例中有一个或多个“数据库”。
  • 实例。您应该使用“服务器”或“数据库服务器”来更清楚。
  • 数据。 “数据集”可能是一个更好的术语。

实例是指在某台机器上运行的mysqld的副本。

  • 您可以在单个硬件上拥有多个实例。 (罕见)
  • 您可以在单个硬件上拥有多个实例,这些实例位于不同的虚拟机或 Docker 中。 (方便测试)
  • 通常“实例”指的是一台带有一份 MySQL 副本的服务器。 (通常适用于较大规模的情况)

PARTITION是一种布置(在数据库中)的特定方式。

  • 可以在CREATE TABLE (...) PARTITION BY ...中看到。
  • 它是数据的“水平”分割,通常按日期,但也可能按其他“列”。
  • 它对性能没有直接影响,因此很少有用。

分片未在 MySQL 中实现,但可以在 MySQL 之上完成。

  • 这也是数据的“水平”分割,但在本例中跨多个“实例”。
  • 例如,该用例是社交媒体,其中有数百万“用户”,大部分由他们自己处理。也就是说,大多数查询都集中在单个数据切片上,因此对于一台服务器上的一群用户并在那里执行所有这些查询来说是实用的。
  • 它可以称为“水平分区”,但不应与表的PARTITION混淆。

垂直分区是将一些从表中取出并放入并行表中。

  • 两个表(通常)具有相同的PRIMARY KEY,从而促进JOIN
  • 垂直分区(通常)仅在单个“实例”中完成。
  • 目的包括拆分大文本/博客栏目;拆分可选列(并使用LEFT JOIN 获取NULL)。
  • 垂直分区在 MyISAM 中有些用处,但在 InnoDB 中很少用,因为该引擎会自动执行此操作。

复制集群

  • 多个实例包含相同的数据。
  • 用于“高可用性”(HA)。
  • 用于扩展读取。
  • 与分区或分片正交。
  • 将实例放在同一服务器上没有意义(测试/实验/登台/等除外)。

关于mysql - 数据库服务器、分区和实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62879816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com