|
eXtremeD的接口包括下面几种:
1- 本地C/C++/SQL/JNI API
这是eXtremeDB使用的最普遍的接口方法。这时候内核以内联库的形式嵌入在应用程序之中
2- 远程C/C++ API
这时候要通过事务代理,就是在本地节点A上驻留事务t1、t2、t3...远程节点调用t1、t2、t3...访问eXtremeDB
3- rSQL Connector提供远程服务功能
节点A上通过一条本地API调用语句创建一个rSQL Server;远程节点B上有rSQL Client连接过来,访问A机器上的eXtremeDB数据库
rSQL为远程客户端提供的SQL API与本地API一样,使得远程用户象本地一样使用eXtremeDB
rSQL Connector Client在各种平台上都有,占用资源非常少。
4- rSQL Server <---->ODBC
与rSQL Connector Client相似,封装成ODBC的形式。
这里,用户可能要关心的是远程访问的时候效率比本地访问小多少?主要取决于网络条件。大概情况是这样:如果有充分多的客户端,使得服务器端的CPU处于满负荷状态运转,服务器端的TPS (transaction per second)制大概相当于本地SQL API访问的75%。由于服务器端的TPS是客户端TPS之和,网络条件差的时候客户端总数会比较多才能让服务器满负荷工作,每个客户端的TPS值就比较低了。理想状态下,如果网络足够快使得一个客户端就让服务器满载,那远程的效率相当于本地效率的75%。 |
|