逻辑连接层与物理连接层(2)
上一次只想到了逻辑逻辑层和物理连接层之间的三种关系, 等价(FIRST), 随机(RANDOM), 顺序(FAILOVER). 其实后面一直在思考, 阅读了一些相关文章, 糊思乱想了一通后, 又增加了两种访问方式.
按位置(POSITION)访问, 指程序提供一个标识位置的数, 然后与逻辑连接层的连接源数目进行取余操作, 根据余数来获取指定位置的数据源. 继续上一次中的四个MySQL的例子, 我们创建如下逻辑连接, 在访问时如果提供的值是5, 则最后取到的是5余4的位置, 即SLAVE1.
LOGICAL.DEFAULT=POSITION|MASTER,SLAVE1,SLAVE2,SLAVE3按范围(RANGE)访问, 指程序提供一个标识位置的数, 然后与逻辑连接层的连接数据源进行比较操作, 按顺序找到指定位置的数据源. 继续上一次中的四个MySQL的例子, 我们创建如下逻辑连接, 在访问时如果提供的值是250, 则最后取到的是小于300的位置, 即SLAVE2. 同前面的按位置相比, 这个可以在增减数据源时, 将影响控制得更好.
LOGICAL.DEFAULT=POSITION|MASTER,SLAVE1,SLAVE2,SLAVE3LOGICAL.DEFAULT.VALUES=100,200,300,400
在程序中, 可以根据业务特色提供这个标识位置的数, 然后在JDBC的访问URL中提供这个值, 访问代码如下所示.
try {Connection db = DriverManager.getConnection("jdbc:anysql:default/250", null);
......
db.close();
}
catch (SQLException sqle)
{
......
}
接下来当然还会思考有没有新的方式了, 有了这些访问方式, 进一步抽像一下, 可以看看能不能将数据库当成一个磁盘(Database as Disk)来看, 写一个弱弱的DatabaseRaid类在实验室玩玩数据冗余.
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:anysql 来源: AnySQL.net
- 标签: 连接层
- 发布时间:2010-01-28 12:29:12
-
[61] memory prefetch浅析
-
[57] find命令的一点注意事项
-
[33] 读书笔记-壹百度:百度十年千倍的29条法则
-
[32] Oracle bbed工具的编译
-
[30] 基本排序算法的PHP实现
-
[27] 小屏幕移动设备网页设计注意事项
-
[27] 卡诺模型―设计品质与设计价值的思考
-
[24] 8大实用又重要Mac使用技巧
-
[24] 程序员技术练级攻略
-
[21] 杨建:网站加速--Cache为王篇