1

pre:我的问题不是如何生成这个表。

我只是想知道,MySql 不提供这样的声明是否有更深层次的原因

CREATE TABLE my_fed_db.foobartab clone
ENGINE=FEDERATED
CONNECTION='my_remote[/localname]';   

所以所有字段都是相同的定义(名称,类型,排序规则),表的名称是相同的,也是DEFAULT CHARSET相同的。

我只是没有找到语法,它有安全性吗?还是只是没有实施?

我只是编写了这个脚本,但我想知道我是否是唯一可以使用它的人,或者 - 定义的完整克隆是否存在隐藏问题,我稍后会遇到。

4

1 回答 1

1

它只是没有实施。

MySQL 的一位前工程经理告诉我,FEDERATED 是专门为一个用例开发的 - 以支持高插入率,例如用于以单个 MySQL 实例无法维持的速率记录高流量活动的应用程序。

该实现是在 2005 年左右的 MySQL 5.0 中完成的。但它被标记为“概念证明”实现(即实验性),从那时起它就没有得到太多开发。

基本上,它是为 MySQL 的特定客户创建的,据我所知,这是一家电信公司。

我从来没有发现 FEDERATED 存储引擎在其当前实现中的良好用途,无法通过分片(将应用程序编码为直接连接到多个数据库服务器实例)或使用专门的代理解决方案(如ProxySQL )来更好地处理。

如今,其他用于高速 INSERT 工作负载的解决方案是Elastic Stack ,或者像InfluxDB这样的时间序列数据库,或者像Apache Kafka这样的数据流平台。

于 2017-12-24T22:30:29.933 回答