问题标签 [federated-table]

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 投票
1 回答
1690 浏览

php - PHP脚本是否需要等待MySql触发器完成?

数据库是 MySQL。我希望实现一个触发器,该触发器可以在放置新评级时更新汇总评级表。然后还有一些其他类似的用例,我希望在其中实现触发器。

这些触发器可能正在更新联合表。所以我的问题是: 插入新评级的 php 脚本是否需要在 php 脚本完成之前等待触发器完成?

PS:我知道触发器不是放置逻辑的好主意,也许我会更好地使用一些消息传递,例如RabbitMQ

0 投票
1 回答
586 浏览

design-patterns - 联合(水平分区)数据库的主键模式

如果这是重复的,我提前道歉,我不确定我应该搜索什么。

最近,我在第 9 频道观看了这个关于 SQL Azure 中的数据库联合的精彩视频。起初,我对 SQL Azure 联合不支持标识列这一事实感到惊讶,但这是有道理的。如果您有一个在 2 个(或更多)数据库之间拆分的表,并且它们无法共享其标识增量值,那么您最终可能会得到 2 个(或更多)实体共享相同的主键。

该视频简单地谈到了如何处理这个问题,提到使用类似 Guid 的 PK 代替基于整数的标识列。我知道默认情况下,至少 MSSQL 会在 PK 上创建聚集索引,而在 Guid(或唯一标识符)类型上创建聚集索引是不好的。我绝不是关系专家,但我也相信,与基于 PK 的查找的基于整数的类型相比,Guid 的性能有所下降。

所以这让我想知道,对于水平联合数据库,基于整数的 PK 模式可能是什么样的?当我编写老式 EJB 并且我们需要为主键生成一个整数时,我们必须有一个单独的序列查找表来替换 rdbms 标识/自动增量功能。我记得这很痛苦,因为当时 EJB 的许多其他事情。

在水平联合数据库表中分配主键的常用模式(如果有)是什么?鉴于我目前的知识,由于性能下降,我会远离 Guid,并且由于开发成本和增加的复杂性(主要是开发成本),我会远离顺序查找索引。我应该倾向于什么

0 投票
1 回答
98 浏览

azure-sql-database - 将 SQL Server 表移植到 SQL Azure 联合

如何在不丢失 Column1 和 Column2 上的唯一性验证或 ID 上的主键约束的情况下将下表移植到 SQL Azure 联合?

0 投票
1 回答
674 浏览

azure - SQL Azure 联合拆分设计和查询

我有几个关于 Microsoft SQL Azure 联合的问题:

1) 我可以在活动数据库上创建联合数据库还是需要提前部署联合?

2) 我是否需要对 SQL 查询进行任何更改以符合我查询联合的方式,或者我可以在处理一个 SQL Server 数据库时继续使用我的常规查询?

3) 当我拆分我的数据库时,一段时间后我看到其中一个分片非常繁忙并且几乎已满,我如何使用联合来解决这个问题?- 我是否只需要拆分已满 90% 的单个联合表,或者我需要通过使用不太广泛的范围重新创建拆分策略。问题是一个特定的用户可能非常活跃,那么我使用什么策略来确保我不需要由于一个非常活跃的联合表/用户而重新创建联合策略?

4)当我想用不同的主键拆分不同的表时,分片将如何工作。例如:

据我了解:

[博客]

blog_id

信息

[博客帖子]

ID

blog_id

post_content

因此,如果我决定根据 0-1000、1-2001 的 blog_id 进行分片,我将拥有两个联合表。但是,如果我添加更多具有除 blog_id 之外的不同键的表,我还有多少联合表,我会拥有更多联合表吗?

谢谢

0 投票
2 回答
67 浏览

azure-sql-database - 创建 Azure SQL 联合将 INT/LONGINT 的最后一位分片?

假设一个表有一个类型为or的主键 ( CustId) 。我们想根据是奇数还是偶数将该表分片成一个联合表。IEintlongintOrderId

联合“主键”= (Fed_key, CustId)whereOrderId是类型int或=如果 CustId==偶数,longint如果CustId==奇数。Fed_key01

例如:

这基本上给了我们 2 个联邦成员(又名分区)。稍后我们可能会将 Fed_key 分组为 (1,3,5)、(2,4,6) 和 (7,8,9,0) 以用于其他分区。我们认为我们不需要超过 5 个分区。

问题:如何将上述逻辑表达到 Azure SQL?我想这需要在联合创建或联合表创建期间完成。

0 投票
2 回答
764 浏览

sql-server - SQL Azure - 确定联合了哪些表

我是 SQL Azure 的新手,并且处于开发应用程序的早期阶段,因此我的架构经常更改。我首先创建了根数据库并像这样对它执行查询

这在大多数情况下效果很好。Stuff只是联邦中许多类似表中的一个表(也不是真名)

好吧,就像我说的那样,我的架构变化非常频繁,所以要更改架构,我连接到 VS2012 中的联邦成员并右键单击表并选择“查看代码”,呈现如下内容:

请注意,唯一不同的是,在右括号之后,它不再显示FEDERATED ON (cid=ClientId);. 我认为这是因为我已经连接到特定的联盟成员,所以它已经知道该信息。奇怪的部分是当我试图针对它运行一些 .net 代码时。我将从我的应用程序中执行以下代码:

然后使用小巧玲珑:

但随后我会收到以下错误消息:

呜?我的表是联合的,记得吗?此外,类似的代码在其他表中也能很好地工作。奇怪的Stuff是它的架构最近发生了很多变化,所以在我看来,也许我直接在 VS2012 中连接到联合成员并在那里进行更改以某种方式使其不再是联合表(有 3 种类型的表联合数据库:http ://convective.wordpress.com/2012/03/05/introduction-to-sql-azure-federations/ )。

因此,由于我处于开发的早期阶段,Stuff因此我继续复制其 CREATE TABLE 代码并将其完全从该成员中删除,返回根数据库并重新执行列出的代码在顶部再次声明FEDERATED ON (ClientId=cid)语句,然后从我的应用程序重新运行插入语句,它工作得非常好!

因此,显然发生了一些事情,使我的表不再“联合”。最后我的问题很简单:

  • 是否有可以在根数据库或联合成员上运行的查询来告诉我哪些表是联合的,哪些不是?
  • 另外,谁能告诉我为什么我曾经联合的表不再联合?因为很明显,我可能会在遥远的将来进行架构更改,并且不能只是删除表并重新开始,所以很高兴知道我做错了什么。
0 投票
1 回答
287 浏览

mysql - 最佳实践,应用架构 MySQL

我必须设计一个统一 4 个应用程序的系统,这些应用程序共享大量信息(在当前系统中,这些信息在数据库中是重复的)。我的第一个想法是使用分布式数据库系统以避免所有这些重复和系统之间的手动同步,认为几乎所有东西都需要从一开始就实现(因为数据库是这些系统的核心)所以我不'不知道时间/金钱/实施组合是否是最佳解决方案。

我想使用的技术: MySQL Federated Engine 实现数据库中的分布 CakePHP: 2/4 的应用程序是在 CakePHP 中,所以我会保持它相同的语言。Python:1 个应用程序在 Python 中 Java:1 个应用程序在 Java 中

我对上述语言和数据库引擎有什么问题吗?

任何想法,建议?任何反馈将不胜感激!

0 投票
1 回答
585 浏览

mysql - mySql 联合表无法更新 blob 列

我在 mySQL dbForge 6.0.265 上有一个联合表,我是这样创建的:

一切正常,除了 UPDATE 命令在 resourceValue 列上失败。

更新查询的输出显示它已成功执行,但值保持不变。

经过大量挖掘后,我发现了这个相关的帖子和​​这个自 2008 年以来一直存在并且被愉快地忽略的官方 mysql 错误,它阻止了 blob 列的更新(LONGTEXT 就是其中之一)。

有没有人遇到过这个问题,有没有办法绕过这个 mysql 限制?

谢谢

0 投票
1 回答
142 浏览

mysql - 以集中和安全的方式使用 MySQL 联合表时存储远程服务器凭据

我想使用文档中描述的 MySQL 联合表:https ://dev.mysql.com/doc/refman/5.0/en/federated-use.html

但是,我不想为每个表重复使用明文密码的远程服务器凭据。

有没有办法为所有联合表使用相同的凭据?并以安全的方式存储此凭据?

0 投票
1 回答
837 浏览

mysql - MySQL 联合表崩溃 MySQL 工作台

我刚刚在 MySQL 5.5 服务器上启用了联合引擎。我在另一台服务器上设置了一个联合表,并确保我在 MySQL 端口上连接到的服务器上设置了 IP 直通设置。连接真的很慢。在 MySQL 工作台中,最初选择表或特别是右键单击表会导致 MySQL 工作台锁定,我必须强制它关闭。如果它最终让我点击它,我会在尝试查询数据时收到错误消息:

错误代码:1429。无法连接到外部数据源:无法连接到“服务器 IP”上的 MySQL 服务器 (110)

我有另一个 MySQL 服务器,我在其中将同一个联合表设置到同一个目标服务器,并且查询数据没有问题。