问题标签 [database-partitioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
637 浏览

distributed - 如何使用 Microsoft Sync Framework (v2 CTP 2) 对客户端敏感数据进行分区?

我们的中央数据库将以中心辐射方式同步。

我们需要能够以客户端数据仅在本地复制到该客户端的方式对数据进行分区。

有没有人遇到过这个问题?

MSF 提供同步范围 - 表的声明是同步的,可以选择指定 filtercolumn 和 filter 子句,但是似乎没有办法将参数(比如 clientID)传递给过滤器。

下面是 msdn 文档中的示例:

我们的问题是,我们需要将过滤器排除在客户端ID 之外作为运行时参数。

MSF 支持吗?

如果不是,也许这可以通过声明多个范围来实现 - 为每个客户端声明一个范围,过滤子句指定客户端 ID。这将要求每次我们创建新客户端时重新配置服务器......对吗?

有谁知道是否可以使用 SqlSyncScopeProvisioning 类将新范围添加到已经配置了现有范围的数据库?

似乎 MSF 已被设计为支持多个范围,我不清楚 SqlSyncScopeProvisioning 类是如何用于添加其他范围的。

0 投票
3 回答
852 浏览

ruby-on-rails - 如何使 ActiveRecord 与旧的分区/分片数据库/表一起使用?

首先感谢您的时间...在google,github和here上搜索之后,对大词(partition/shard/fedorate)更加困惑,我想我必须描述我遇到的具体问题并四处询问.

我公司的数据库是处理海量用户和订单的,所以我们对数据库和表进行了多种拆分,下面分别介绍:

基本概念是数据库和表是根据一个字段(不一定是主键)分离的,并且数据库太多,表太多,因此为每个数据库和一个模型编写或神奇地生成一个 database.yml 配置对于每个表是不可能的,或者至少不是最好的解决方案。

我研究了drnic的魔术解决方案,datafabric,甚至是活动记录的源代码,也许我可以使用ERB生成database.yml并在过滤器周围进行数据库连接,也许我可以使用named_scope来动态决定表名找到,但更新/创建操作仅限于“self.class.quoted_table_name”,因此我无法轻松解决我的问题。甚至我可以为每个表生成一个模型,因为它的数量最多可达 30 个。

但这并不干燥!

我需要的是一个干净的解决方案,如以下 DSL:

任何人都可以启发我吗?任何帮助将不胜感激~~~~

0 投票
1 回答
7508 浏览

mysql - MySql 分区

我正在尝试在一个大表中创建分区,但出现此错误:

1505 - 无法对未分区表进行分区管理

有什么命令可以转换表格吗?还是我必须创建一个新的并导入所有数据?

使用 Partitioning with Replication 有什么问题吗?

在此先感谢,
佩德罗

0 投票
1 回答
3538 浏览

mysql - 带有分区表的 mysqldump

我有一个很大的 MyiSam 表,我最近对它进行了分区。我每天都使用 mysqldump 备份数据库,但我不想备份整个大表,我只想备份某些分区。有什么方法可以指定使用 mysqldump 转储哪些分区?

0 投票
2 回答
705 浏览

sql-server - 是否可以在 SQL Server 中一次分区多个方式?

我正在考虑用各种方法在 SQL Server 中对我的数据进行分区。我正在研究的一种方法是将一个特定的大表划分为 8 个分区,然后在每个分区中对不同的分区列进行分区。这在 SQL Server 中是否可能,或者我是否仅限于为每个表定义一个分区列+函数+方案?

我对更一般的答案很感兴趣,但是我正在考虑为分布式分区视图采取这种策略,在第一个方案下,我将使用 DPV 对数据进行分区,以将大量数据分布到 8 台机器上,然后在每个机器分区上,完整表的一部分在另一个分区键上,以便能够根据需要删除(例如)子分区。

0 投票
5 回答
18343 浏览

sql - 什么是表分区?

在什么情况下我们应该使用表分区?

0 投票
2 回答
2941 浏览

sql - 在 MySQL 中对数据库表进行分区

我正在编写一个数据仓库,使用MySQL作为后端。我需要根据两个整数 ID 和一个名称字符串对表进行分区。

一个更具体的例子是假设我正在存储关于一所学校的数据。我想根据 COMPOSITE 'Key' 根据以下内容对 school_data 表进行分区:

对于学生的姓氏,它只是姓氏的第一个字符,它决定了数据应该进入哪个“分区表”。

我如何使用 MySQL (5.1) 和 InnoDb 表来实现这个要求?

此外,我正在 Windows 机器上进行开发,但我将部署到 *nix 机器上进行生产。我还有两个问题:

  1. 我假设从 Windows 迁移到 Linux 时我将不得不转储和恢复数据。如果数据库包含分区表,我不知道这是否可以(指向它在文档中声明的位置的指针会让我放心 - 我无法找到任何关于分区表的转储/恢复的具体提及。
  2. 我可能还需要更改数据库(如果 Oracle 对 MySQL 用户采取了意外举措),在这种情况下,我需要以某种方式将数据导出到另一个数据库中。在这种情况下(希望不太可能的情况) - 考虑到分区表,从 MySQL 中转储数据(可能是文本或其他内容)的最佳方法是什么?
0 投票
1 回答
10678 浏览

mysql - 使用三个表字段(列)的 mySQL KEY 分区

我正在编写一个数据仓库,使用 MySQL 作为后端。我需要根据两个整数 ID 和一个名称字符串对表进行分区。我已阅读(部分)有关分区的 mySQL 文档,在这种情况下,最合适的分区方案似乎是 HASH 或 KEY 分区。

我选择了 KEY 分区,因为我(退出并且)不想负责为我的字段提供“无冲突”散列算法 - 相反,我依靠 MySQL 散列来生成散列所需的密钥。

我在下面包含了一个表的架构片段,我想根据以下字段的 COMPOSITE 对其进行分区:

学校 id、course_id、ssname(学生姓氏)。

顺便说一句,在有人指出这不是存储学校相关信息的最佳方式之前,我必须指出,我只是将下面的案例用作我试图建模的类比。

我当前的 CREATE TABLE 语句如下所示:

我想知道如何修改上面的语句,以便使用我在这个问题开头提到的三个字段(即 - school_id、course_id 和学生姓氏的起始字母)对表进行分区。

我想问的另一个问题是:

在“边缘”情况下会发生什么,例如,如果我尝试插入一条包含有效* school_id、course_id 或姓氏的记录——不存在底层分区表文件——mySQL 会自动创建底层文件吗?

举个例子。我有以下学校:纽约幼儿园、贝尔法斯特小学和以下课程:无限维度中的李代数、纠缠实体

还假设我有以下学生(姓氏):布什、布莱尔、侯赛因

当我添加一所新学校(或课程,或学生)时,我可以将它们插入到 foobar 表中(实际上,我想不出为什么不这样做)。我问的原因是我预计增加更多的学校和课程等,这意味着 mySQL 将不得不在幕后创建额外的表(因为哈希将生成新的键)。

如果在这方面有经验的人能够确认(最好有支持他们断言的链接),我将不胜感激我的理解(即,如果我将新学校、课程或学生添加到数据库中,则不需要手动管理)是正确的。

我不知道我的第二个问题是否形成良好(明确)。如果不是,我很乐意进一步澄清。

*VALID - 有效,我的意思是它在不破坏参照完整性方面是有效的。

0 投票
2 回答
27341 浏览

sql - ORACLE 中的分区重命名

如果我们使用 ALTER TABLE RENAME PARTITION 语句重命名 Oracle 表中的现有分区,我们是否需要使用新更改的分区名称重新创建本地分区索引?

0 投票
2 回答
174 浏览

sql-server - 关于 SQL Server 2005 中的表分区,收益递减规律在哪里发挥作用?

我想知道是否有人在 sql server 2005 中遇到了实际的最大表分区数。我知道文档声明每个表有 1000 个分区的限制,但我很难相信,没有大量的黑客攻击和捣乱,1000个分区将是所有可用的。

任何帮助表示赞赏。

韦恩·E·普费弗