1

I have developed a mac application, which is continuously interacting with database on linux server. As data is increasing it has become costlier affair in terms of time to fetch data from server. So I am planning to store required data locally, say on SQLite and find some mechanism through which I can synchronize it with database on linux server.

Can anyone suggest me some way to accomplish it?

Thanks,

Miraaj

2
  • Just a note... there is no such thing as MySQLite, but there is SQLite. If you provide more information on what your data flow looks like and what you want to improve, then you would probably get better answers. Commented May 3, 2010 at 18:37
  • ok.. I have edited it to SQLite. I am performing all types of query operations with db at Linux server ie. select, insert, update queries. Problem is- as data is increasing in db it is taking longer time for select queries to retrieve data from database via API and show it in my application. Commented May 4, 2010 at 4:42

2 Answers 2

1

If you are asking about synchronizing data between one source and another? Good luck. This has been a significant area of research for years, and to this day, it's mostly still application specific.

Software like SalesLogix would have a central database with a table like so:

site | key | name | address | phone | city | state | last_update

and each remote user would then have a different site code. When synchronization would occur based on the last_update fields, it would check the site and key to ensure against conflicts where two different remote users might accidently choose the same unique identifier for a record.

If you have something less complex, you could sculpt your data access layer to track transactions to the local database, and then replay them the next time you are connected. The problem here again is consistency.

If I change objectA.PropertyB to "test1", and you change it to "test3?" which one of us is more correct? How do you do collision detection?

I'm afraid I've yet to see of a single out-of-the-box solution to this problem that works across every data domain.

Sign up to request clarification or add additional context in comments.

Comments

1

Perhaps you can formulate a caching strategy instead. Look at for example, memcached. Its difficult to say more without knowing your work load.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.