问题标签 [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 投票
2 回答
600 浏览

sql - 在 SQL 2005 企业版中使用分区有什么好处

我正在比较两种在 SQL 2005 中创建分区表的技术。

  • 将分区视图与标准版本的 SQL 2005(在此处描述)一起使用
  • 使用 SQL 2005 企业版中的内置分区(在此处描述)

鉴于企业版要贵得多,我想知道较新的企业内置实施的主要好处是什么。它只是为实现本身节省时间吗?或者我会在大型数据库上获得真正的性能吗?

我知道我可以调整第一个选项中的约束以将滑动窗口保持在分区中。我可以使用内置版本吗?

0 投票
8 回答
19354 浏览

mysql - MySQL Partitioning / Sharding / Splitting - 走哪条路?

我们有一个大约 70 GB 的 InnoDB 数据库,我们预计它会在未来 2 到 3 年内增长到数百 GB。大约 60% 的数据属于单个表。目前数据库运行良好,因为我们有一个 64 GB RAM 的服务器,所以几乎整个数据库都可以放入内存,但我们担心未来数据量会变得相当大。现在我们正在考虑某种拆分表格的方法(尤其是占数据最大部分的表格),我现在想知道,最好的方法是什么。

我目前知道的选项是

  • 使用 5.1 版附带的 MySQL 分区
  • 使用某种封装数据分区的第三方库(如休眠分片)
  • 在我们的应用程序中自己实现它

我们的应用程序建立在 J2EE 和 EJB 2.1 之上(希望有一天我们会切换到 EJB 3)。

你有什么建议?

编辑(2011-02-11):
只是一个更新:目前数据库的大小是 380 GB,我们的“大”表的数据大小是 220 GB,它的索引大小是 36 GB。因此,虽然整个表不再适合内存,但索引却可以。
系统仍然运行良好(仍然在相同的硬件上),我们仍在考虑对数据进行分区。

编辑(2014-06-04):另一个更新:整个数据库的大小是 1.5 TB,我们的“大”表的大小是 1.1 TB。我们将服务器升级到具有 128 GB RAM 的 4 处理器机器(Intel Xeon E7450)。该系统仍然运行良好。我们接下来计划做的是将我们的大表放在单独的数据库服务器上(我们已经在软件中进行了必要的更改),同时升级到具有 256 GB RAM 的新硬件。

这种设置应该持续两年。然后我们要么必须最终开始实施分片解决方案,要么只购买具有 1 TB RAM 的服务器,这应该会让我们持续一段时间。

编辑(2016-01-18):

从那以后,我们将我们的大表放在单独服务器上的它自己的数据库中。目前,这个数据库的大小约为 1.9 TB,另一个数据库(除了“大”表之外的所有表)的大小为 1.1 TB。

当前硬件设置:

  • HP ProLiant DL 580
  • 4 x Intel(R) Xeon(R) CPU E7-4830
  • 256 GB 内存

此设置的性能很好。

0 投票
5 回答
798 浏览

sql-server - 寻找 SQL 2005 Partitioning 的好总结

将其视为 SQL 2005 Enterprise 分区的基本解释。是否有资源可以更深入地探讨这个问题的细节和考虑因素。更多的例子也会很有用。

我的主要方案是基于时间的分区系统。使用最近 X 天访问次数最多的一个分区。这个分区必须以某种方式滑动(至少定期)以保持它的裁判时间相同。

0 投票
5 回答
440 浏览

vmware - VmWare 主硬盘扩展

我有一个 VmWare 虚拟机,它危险地接近它的主要 HDD 的限制,我需要扩展它。我该怎么做呢?我正在使用 VmWare Workstation 6.0.5

0 投票
2 回答
572 浏览

sql-server-2005 - 用于 SharePoint 的 SQL 2005 数据库分区

背景

我有一个用于 SharePoint 网站集的大型数据库。它是 130GB,并以每月 10GB 的速度增长。130GB 中的 100GB 在一个网站集中。30GB 是版本表。只有一个网站集 - 这是设计使然。

问题

我能否使用 SQL 2005 的数据分区功能(创建多个数据文件)对数据库 (SharePoint) 进行分区?是否可以对已创建的数据库进行分区?有人对 SharePoint 数据库进行了分区吗?我会遇到什么问题吗?

0 投票
1 回答
4677 浏览

sql-server - 表分区的 SQL 拆分/合并:实现的最佳方法是什么?

Microsoft 在其关于更改 SQL 2005 分区的 MSDN条目中列出了一些可能的方法:

  • 使用所需的分区函数创建一个新的分区表,然后使用 INSERT INTO...SELECT FROM 语句将旧表中的数据插入到新表中。
  • 在堆上创建分区聚集索引
  • 使用带有 DROP EXISTING = ON 子句的 Transact-SQL CREATE INDEX 语句删除并重建现有分区索引。
  • 执行一系列 ALTER PARTITION FUNCTION 语句。

任何想法对于具有基于记录日期的分区(例如每月分区)的大型数据库(数百万条记录)来说,最有效的方法是什么,其中数据分布在 1-2 年内?

另外,如果我主要访问(用于阅读)最近的信息,那么在最后 X 天保留一个分区是否有意义,而所有其余数据将是另一个分区?还是对其余数据也进行分区更好(对于基于日期范围的任何随机访问)?

0 投票
2 回答
3579 浏览

oracle - 通过分区交换 (Oracle 10g) 加载表

我对优化这种类型的负载有几个问题。

构建一个新的数据表以加载到分区表中,然后在这个新表上构建索引。

  1. 您应该使用 COMPUTE STATISTICS 选项构建索引还是使用 DBMS_Stats 的 Cascade 选项?

  2. 您应该在交换之前的表上还是在交换之后的分区上收集统计信息?

  3. 如果你在交换之后做,并且你在参数列表中指定分区名称,粒度参数有什么相互作用?例如,如果我指定一个分区名称,然后将粒度设置为“全局和分区”,那是否会全局?它只做一个分区吗?

0 投票
6 回答
14784 浏览

sql - 在 SQL Server 中对大型表进行分区的最佳方法是什么?

在最近的一个项目中,“主要”开发人员设计了一个数据库模式,其中“更大”的表将被拆分到两个单独的数据库中,主数据库上的视图将两个单独的数据库表结合在一起。主数据库是应用程序的驱动程序,因此这些表看起来和感觉都像普通表(除了一些关于更新的古怪事情)。这似乎是一个巨大的性能问题。我们确实看到了这些桌子周围的性能问题,但没有什么能让他改变对他的设计的想法。只是想知道最好的方法是什么,或者它是否值得做?

0 投票
1 回答
6557 浏览

sql - 如何在 SQL 2005 中获取分区范围

我在 SQL Enterprise 2005 中有一个分区表。我需要查询 PARTITION FUNCTION 以找到它的分区范围。什么 SQL 查询会给我这些值?

0 投票
8 回答
9549 浏览

sql - 在 SQL 中的表之间移动行

我有 2 个表,一个活动表和一个非活动表。我想行从活动表移动到非活动表。我的第一个想法是

但是大约 0.42 秒后,我注意到如果更新改变了 where 子句选择的内容,这将删除/重复行。

在这种情况下,我可以很容易地防止这种情况发生,但如果我不能,我该怎么办?

编辑:从答案看来,没有一种简单/简单的方法可以做到这一点。我对此感到非常惊讶。我认为拥有它会有一些实质性的好处。