|
Home > Archive > SQL Anywhere Mobile > March 2005 > Mobilink Synchronization!
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Mobilink Synchronization!
|
|
| Suri Goura 2005-03-30, 9:42 am |
| Hi All,
This is a migration from SQL Remote to Mobilink question. Please let know if
I understand this correctly.
Mobilink does not have Publications and Subscriptions at Consolidated. We
are on our own and limited (open to???) to download scripts you need to
generate. The logic not to send changes to every remote user has to be
developed by us. Logic not to send changes already sent has to be developed
by us. If it is the case why did Sybase remove that kind of intelligence. I
am feeling sick about this.
Ours is all Adaptive Server Anywhere envirionment. All databases.
Surendar
| |
| Greg Fenton 2005-03-30, 9:42 am |
| Suri Goura wrote:
>
> Mobilink does not have Publications and Subscriptions at Consolidated.
Correct.
> We are on our own and limited (open to???) to download scripts you need to
> generate.
No, not on your own. You can have ML generate the initial scripts for
you that you then customize (using the -za switch). You might consider
using the new ML design features of PowerDesigner 11.
> The logic not to send changes to every remote user has to be
> developed by us.
Well yes and no. For the vast majority of tables, you simply add a
couple of WHERE clauses to the scripts ML generates for you. If using
PowerDesigner, you can indicate how data is to be partitioned and PD
will generate the appropriate WHERE clauses.
Sometimes the partitioning will involve a JOIN to some other table, but
again this is usually a simple enhancement to the generated scripts (or
PD can do it for you).
For each download_cursor event, ML passes your script the ID of the
remote synchronizing (known as the "ml_username") and the timestamp of
the last download for that remote ("last_download"). Your download
script can use these parameters like this:
SELECT id, fname, lname
FROM customer
WHERE last_modified >= ?
AND sales_rep = ?
The above example assumes you have a "last_modified" column in the
customer table tracking the timestamp of the last modification to each
row and a "sales_rep" column indicating the particular sales rep to
whose remote you want to synchronize this row. Your schema might not
have such columns, in which case you might need to JOIN to another table
(e.g. a remote_id to sales_rep relationship) and/or you might want a
"shadow table" to track changes to the data in the consolidated rather
than modifying your existing table schema directly.
In almost every single table that I use in synchronization, I simply add
a column:
last_modified TIMESTAMP DEFAULT TIMESTAMP
and ASA will automatically track the timestamp of the last modification
for each row (that's what the special DEFAULT TIMESTAMP does).
> Logic not to send changes already sent has to be developed
> by us. If it is the case why did Sybase remove that kind of intelligence.
This is not a removal at all. It is a change in approach. ML
synchronization offers many benefits, including the ability to easily
synchronize disperate schemas (i.e. the schema of the remotes and the
cons do not need to be identical). As well, ML at the consolidated is
not dependent on transaction log scanning (due to the download_cursor
approach) and so the consolidated can be something other than ASA or ASE
(not that this particular feature is a benefit in your all-ASA shop).
> I am feeling sick about this.
If you can elaborate on what in particular is concerning you, I'd be
happy to try to address your fears.
Realize that there is the public course "Introduction to MobiLink"
available through Sybase Education.
As well, our team offers custom ML knowledge transfers, design reviews
and development support. You might consider talking to your sales rep
or talking to our team directly to see if there is something we could do
to help with your migration:
http://www.ianywhere.com/support/services.html
[Sorry for the sales pitch...I usually don't go there :-) ]
Hope this helps,
greg.fenton
--
Greg Fenton
Consultant, Solution Services, iAnywhere Solutions
--------
Visit the iAnywhere Solutions Developer Community
Whitepapers, TechDocs, Downloads
http://www.ianywhere.com/developer/
| |
| Suri Goura 2005-03-30, 9:42 am |
| Thanks Greg for your response. That was best possible response anybody can
expect.
My concern is this. While we have a very stable replication system, my
selling point in researching into mobilink was 'A remote doesn't have to
wait for consolidated to replicate (which we have hourly) to be able to send
some data to other remote database.' But as I think of it from my
managements' perspective - It is is not worth the effort of reconfiguring
the system as of now. But, I am still going to work on my own little
replication envirionment to prove that it works.
May be Sybase should have kept scanning transaction log feature if somebody
wants to use ASA as consolidated.
Thanks again.
Surendar
"Greg Fenton" <greg. fenton_NOSPAM_@ianyw
here.com> wrote in message
news:42266280$1@foru
ms-2-dub...
> Suri Goura wrote:
>
> Correct.
>
>
> No, not on your own. You can have ML generate the initial scripts for you
> that you then customize (using the -za switch). You might consider using
> the new ML design features of PowerDesigner 11.
>
>
> Well yes and no. For the vast majority of tables, you simply add a couple
> of WHERE clauses to the scripts ML generates for you. If using
> PowerDesigner, you can indicate how data is to be partitioned and PD will
> generate the appropriate WHERE clauses.
>
> Sometimes the partitioning will involve a JOIN to some other table, but
> again this is usually a simple enhancement to the generated scripts (or PD
> can do it for you).
>
> For each download_cursor event, ML passes your script the ID of the remote
> synchronizing (known as the "ml_username") and the timestamp of the last
> download for that remote ("last_download"). Your download script can use
> these parameters like this:
>
> SELECT id, fname, lname
> FROM customer
> WHERE last_modified >= ?
> AND sales_rep = ?
>
> The above example assumes you have a "last_modified" column in the
> customer table tracking the timestamp of the last modification to each row
> and a "sales_rep" column indicating the particular sales rep to whose
> remote you want to synchronize this row. Your schema might not have such
> columns, in which case you might need to JOIN to another table (e.g. a
> remote_id to sales_rep relationship) and/or you might want a "shadow
> table" to track changes to the data in the consolidated rather than
> modifying your existing table schema directly.
>
> In almost every single table that I use in synchronization, I simply add a
> column:
>
> last_modified TIMESTAMP DEFAULT TIMESTAMP
>
> and ASA will automatically track the timestamp of the last modification
> for each row (that's what the special DEFAULT TIMESTAMP does).
>
>
> This is not a removal at all. It is a change in approach. ML
> synchronization offers many benefits, including the ability to easily
> synchronize disperate schemas (i.e. the schema of the remotes and the cons
> do not need to be identical). As well, ML at the consolidated is not
> dependent on transaction log scanning (due to the download_cursor
> approach) and so the consolidated can be something other than ASA or ASE
> (not that this particular feature is a benefit in your all-ASA shop).
>
>
>
> If you can elaborate on what in particular is concerning you, I'd be happy
> to try to address your fears.
>
> Realize that there is the public course "Introduction to MobiLink"
> available through Sybase Education.
>
> As well, our team offers custom ML knowledge transfers, design reviews and
> development support. You might consider talking to your sales rep or
> talking to our team directly to see if there is something we could do to
> help with your migration:
>
> http://www.ianywhere.com/support/services.html
>
> [Sorry for the sales pitch...I usually don't go there :-) ]
>
> Hope this helps,
> greg.fenton
> --
> Greg Fenton
> Consultant, Solution Services, iAnywhere Solutions
> --------
> Visit the iAnywhere Solutions Developer Community
> Whitepapers, TechDocs, Downloads
> http://www.ianywhere.com/developer/
| |
| Greg Fenton 2005-03-30, 9:42 am |
| Suri Goura wrote:
>
> May be Sybase should have kept scanning transaction log feature if somebody
> wants to use ASA as consolidated.
>
We have...it's called SQL Remote :-)
BTW: there have been a few threads brought up in this newsgroup by
various users asking that we get *away* from transaction log scanning
even on the remote!! Basically they are asking for "upload cursor"
scripts at the remote similar to the "download cursor" scripts at the
consolidated. It's an interesting idea and something that engineering
is considering, though I don't believe any decision has been made one
way or the other yet.
greg.fenton
--
Greg Fenton
Consultant, Solution Services, iAnywhere Solutions
--------
Visit the iAnywhere Solutions Developer Community
Whitepapers, TechDocs, Downloads
http://www.ianywhere.com/developer/
|
|
|
|
|