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

database - 如何根据应用程序用户属性限制或过滤数据库访问

我现在考虑太多了,没有明显正确的解决方案。这可能是一个真正的木头换树的情况,所以我需要 stackoverflow 的帮助。

我正在尝试在区域基础上强制执行数据库过滤。我的系统有不同的用户,每个用户都分配到一个区域办事处。我只希望用户能够看到与其区域办事处相关的数据。

简单来说我的应用是:Java App -> JPA (hibernate) -> MySQL

数据库包含来自所有地区的对象,但我只希望用户能够操作来自他们自己地区的对象。我考虑过以下方法:

1) 修改所有数据库查询,以便它们读取类似 select * from tablex where region="myregion" 的内容。这很讨厌。它不适用于 JPA,例如 entitymanager.find() 方法只接受主键。当然我可以原生,但我只需要错过一个选择语句,我的安全性就会被击中

2)使用mysql代理过滤结果。有点时髦,但是 mysql 代理只看到原始调用并且并不真正知道它应该如何过滤它们(即发出此请求的用户属于哪个区域)。好的,我可以为每个区域启动一个代理,但它开始变得有点混乱..

3) 为每个区域使用单独的模式。是的,很简单,我使用的是 spring,所以我可以使用 RoutingDataSource 通过正确的数据源(每个模式 1 个数据源)路由请求。当然,现在的问题出在我想要按地区和其他类别进行过滤的某个地方。哦哦。

4) ACL - 对此不太确定。如果 a 做了一个 select * from tablex; 它会悄悄地过滤掉我无权访问的对象还是会抛出大量访问异常?

但是我是不是想太多了?这似乎是一个非常普遍的问题。必须有一些简单的解决方案,我太笨了,看不到。我敢肯定它会接近/或在数据库中,因为您希望过滤尽可能接近源,但是什么?

不希望被灌输 - 任何链接、关键字、想法、商业/开源产品建议将不胜感激!谢谢。

0 投票
2 回答
1402 浏览

mysql - mysql集群中基于磁盘的存储

我一直在尝试找出是否可以在 MySQL Cluster 中使用基于磁盘的表进行表分区。我想在磁盘上存储一个大表,并对表进行范围分区。我有一种感觉,答案是否定的。

感谢您提供的任何信息。

麦克风。

0 投票
2 回答
5586 浏览

sql-server - 我可以在 SQL Server 2005 中更改分区表吗?

我正在研究其中包含时间序列数据的表的水平分区。我发现 2005 年的分区比 2000 年要容易得多,但我似乎找不到这个答案:

我可以添加/删除分区表的列吗?

是否需要特殊步骤,因为它是分区的?

0 投票
3 回答
681 浏览

sql-server - 我可以在 SQL 2005 上创建数据库表后对其进行分区吗

大多数处理表分区的例子都是在分区方案上创建表。

例如:

其中 MyPartitionScheme 是预定义的分区方案。

如果我有一个已经存在的表,可能带有数据。我可以“更改”它以使用分区方案吗?

0 投票
4 回答
404 浏览

sql-server - 每秒存储 1000 条记录时使用 SQL Server 分区

我阅读了您的文章(SQL Server 分区:不是所有问题的答案)并且对我的情况使用分区感到惊讶我必须每秒存储大约 1000 条记录,这些数据是关于移动节点的位置,这些数据构成了我的数据库你认为我是否必须对我的数据库进行分区太大(我将来有很多报告)。

0 投票
3 回答
2259 浏览

sql-server - SQL Server 2005 中的分区函数

在 MSDN 中关于分区功能的信息来自这里,$PARTITION(Transact-SQL)

我对下面的示例在做什么感到困惑。我的理解是,这条 SQL 语句将迭代表 Production.TransactionHistory 中的所有行,因为对于将映射到同一分区的所有行,$PARTITION.TransactionRangePF1(TransactionDate) 将返回相同的值,即所有的分区号这样的行。因此,例如,分区 1 中的所有行将导致返回结果为一行,因为它们都具有相同的 $PARTITION.TransactionRangePF1(TransactionDate) 值。我的理解正确吗?

0 投票
2 回答
536 浏览

webserver - 网站分区和 URL 空间

我的网站正在增长。我需要将功能集分区到不同的服务器组,而不是让所有功能在单个服务器副本上运行。我在 Windows 网络负载平衡设置中有 8 台相同的服务器。

问题是:我需要保持 URL 空间相同。什么是可行的解决方案?我不想为功能集启动新域。我正在考虑某种具有基于 URL 的重写/路由功能的反向代理(?!?)。在软件或硬件方面有什么建议吗?这将取代 WNLB 设置,因为它没有我需要的功能。

0 投票
4 回答
2901 浏览

debian - 对专用服务器硬盘进行分区是否有意义?

我将在我们新的专用服务器上安装 Debian,并且有机会设置硬盘分区。

服务器有两个配置为 RAID 1 的 750GB 驱动器。我们将有 10 个 Postgresql 数据库,其中每个数据库大约 2 GB。这个服务器上当然也会有 Apache/PHP。我们只会将服务器用于我们自己的 Web 应用程序。

托管公司强烈建议创建单独的两个分区。“/”的第一个小,“/home”的第二个非常大。但我对此有些怀疑。我觉得“/”目录的一个大分区就可以了。这个问题的答案也表明将磁盘分成几个分区是没有意义的。

在这种情况下磁盘分区是否仍然相关?

0 投票
3 回答
2658 浏览

mysql - 高效的 MySQL 模式,对大型数据集进行分区(7.300.000.000 行和大约 80 GB 的数据)

这是对我的问题“有效存储 7.300.000.000 行”(有效存储 7.300.000.000 行)的跟进。

我决定将 MySQL 与分区一起使用,初步架构如下所示:

这给出了:

  • 行 = 7.300.000.000 行(根据上一篇文章中所述的要求)
  • 大小/行 = 11 字节 (3+2+3+3)
  • 总大小 = 7.300.000.000 行 * 11 字节 = 80.300.000.000 字节 = 80.3 GB
  • Partitions = 25(3.2 GB/分区,分区大小有些随意)

请注意,我已经从原始设计中删除了主键,因为不会使用“id”列。

现在问我的问题 - 鉴于我之前的帖子中概述的要求和上面的架构,您对可以进行的进一步优化/调整有什么建议吗?或者考虑到我决定使用 MySQL,上述模式是否“最佳”?

更新:我尝试将当前数据集加载到上面的模式中,8.570.532 行占用了 212.000.000 字节的磁盘空间,每行大约 24.7 字节。

更新:请注意,覆盖 entity_id+date_id 的索引也将用于仅针对 entity_id 的查询。

0 投票
9 回答
697 浏览

sql - 索引会吸收 SQL 吗?

假设我有一个包含大量行的表,并且我想要索引的列之一可以具有 20 个值之一。如果我要在列上放置一个索引,它会很大吗?

如果是这样,为什么?如果我将数据分成 20 个表,每个表对应一个列的值,则索引大小将是微不足道的,但索引效果将是相同的。