每种 SQL Anywhere 同步技术都适用于特定的应用程序。以下文字介绍了这些技术间的差异,您可从中选择最适合您的需要的一种技术。
应考虑以下哪些因素在您的应用程序中比较重要:
在典型的同步环境中,大型数据库用作信息的中央存储库。有时,可以选择适合您的需要的数据库系统。但在其它情况下,中央数据库已经存在,必须修改同步系统才能使用它。
MobiLink 可与许多流行的数据库服务器一起使用,其中包括 SQL Anywhere、Sybase Adaptive Server Enterprise、Oracle、Microsoft SQL Server 和 IBM DB2。使用面向 .NET 和 Java 的 MobiLink 服务器 API,您可与任何数据源同步,其中包括应用程序服务器、Web 服务器、文本文件及其它数据库产品。
在 SQL Remote 系统中,中央数据库必须是 SQL Anywhere。
在所支持的远程数据库类型方面,SQL Anywhere 的同步技术也互不相同。
MobiLink 支持 SQL Anywhere 和 UltraLite 作为远程数据库。
SQL Remote 支持 SQL Anywhere 远程数据库。
MobiLink 和 SQL Remote 非常适于不定时连接环境,在这类环境中远程站点必须孤立地运行几小时或几天;但是只要网络连接可用,便可进行更频繁的同步。
MobiLink 是基于会话的。在同步过程中要求实时连接。如果此连接在同步完成之前中断,则在下次同步之前,无法完成此过程。相反,SQL Remote 通过消息来传递信息(消息的发送或接收可以异步进行)。这些消息可采取硬盘上的文件或电子邮件消息的形式。在收到消息后,即可对这些消息进行处理,从而以递增的方式进行同步。
在某些情况下,立即复制信息是非常重要的。而在其它情况下,每天同步一次或两次便已足够。事实上,在网络连接不可用时,无法进行更频繁的同步。
MobiLink 和 SQL Remote 主要用于同步不是很频繁的情况,例如每隔几小时或几天复制一次。但是,它们都可用于同步很频繁的情况,如每隔几秒同步一次。
MobiLink 和 SQL Remote 都能很好地处理大量的远程用户。MobiLink 的可伸缩性仅受统一数据库管理系统可伸缩性的限制。SQL Remote 基于消息的设计允许采用典型安装来处理数以千计的远程用户。
在上述任一系统中,对远程站点的最大数并没有硬性限制。其实际数量取决于复制的信息量、同步的频率以及您的应用程序的设计。
缺省情况下,MobiLink 的工作方式是:将远程数据库上多个事务的结果划分为一个更改集,再将该更改集应用到统一数据库。或者,您可以选择保持事务的顺序,并将其分别上载。在这两种情况下,同步始终在事务边界进行,因此保持了参照完整性。未提交的数据决不能同步,因此保持了数据完整性。
SQL Remote 通过扫描事务日志并相应地为每个事务准备消息来复制数据。它将这些消息进行排序,然后将它们发送到远程站点或统一站点。在处理过程收到消息时,SQL Remote 始终按应用到其它数据库上的顺序来处理它们。如有必要,它将自动延迟对某条消息的处理,直到应用了先前的所有消息为止。
在每个 MobiLink 同步会话刚完成后,两个数据库中的数据是一致的。MobiLink 基于会话的同步的优点之一是,在特定时刻能够保证远程站点数据的一致性。例如,如果要在特定时间(例如上午 10 点)使远程站点的数据准确反映统一数据库中的数据,则可在快要到这一时刻时进行同步来实现此目的。只要同步成功完成,就可保证远程站点数据是最新的。
在通过消息交换来复制对数据所做的更改时,很难保证在任何特定时刻某个特定远程站点的数据与统一站点的数据完全一致。例如,有时消息在传递过程中丢失。SQL Remote 能够自动识别这种故障并重新发送消息,但这种中断可能会造成意外的延迟。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |