grid的设计是,sql语句在某个节点上运行的时候,SQL语句可以被广播到其他节点上执行,并把其他节点上的结果返回到当前节点。
这是非常超前的想法。
grid的具体用途如下:
1、创建复制表。在一个节点上创建了复制表,其他节点上会被自动创建。
2、管理这些远端的复制服务器,比如增加chunk,调整日志位置;
3、更新表结构,比如alter|add|remove tabname;
4、运行创建的存储过程;
5、更新表中的数据,在创建表的时候会自动创建复制任务;
你可以把CM和grid结合起来,客户端的请求被转发到grid中来,重定向的策略有:FAILURE:LATENCY:ROUNDROBIN:WORKLOAD。
如下操作,通过grid可以创建一个表在grid中的多个节点上。
EXECUTE PROCEDURE ifx_grid_connect(’grid1’, 1);
CREATE TABLE special_offers(
offer_description varchar(255),
offer_startdate date,
offer_enddate date,
offer_rules lvarchar)
WITH CRCOLS;
EXECUTE PROCEDURE ifx_grid_disconnect();
查看每个数据库服务器上 chunk的空间使用:
SELECT ifx_node_name()::char(12) AS node, chknum, dbsnum, nfree, chksize
FROM syschunks GRID ALL 'grid1';
其中有地方介绍repl和grid传播的内容是不一样的,其中细节上的差异,我可以意会,但是怕理解错了,就不再言传了。
grid的核心是创建一个靠谱的gridtable,然后就可以在这个gridtable进行数据汇聚和查询了。