473,406 Members | 2,847 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Best design for a distributed database system

Hello all

I am creating a VB.Net distributed SQL server 2005 application.

Each computer in the system has a database with a table of users and
their telephone numbers.
Each computer has a unique 4 digit identifying code.

The central server runs an application which reads the database table
on each computer.
Once the table is read it is stored in a central database on the
server. The details from any computer
can be displayed on the application, modified therein and sent to the
remote computers to update the tables there.

My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?
Many thanks for any help.

Denis
________________________
Denis Gleeson
http://www.CentronSolutions.com

Oct 11 '07 #1
4 2901
My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?
It seems to me that you are rolling your own replication. You might instead
consider leveraging the SQL Server replication features. See the SQL Server
Books Online for more information.

If I understand correctly, each remote site contains a subset of data and
updates to the central database are also pushed to the remote db as they
occur. Remote updates are periodically applied to the central database
using a batch pull process.

If the remote table is the authoritative source and data volumes are modest,
a simple solution is to delete all data in the central database for the site
id and refresh from the remote table. You'll need to ensure no data
modifications for that site id are done to the central copy during the
resync process. SqlBulkCopy is an efficient way to load data into the
central database. After they resync, I recommend that you always update the
remote database before the central database to ensure changes are not lost
during the next reload.

Other scenarios will require that you identify changed data and resolve
conflicts. The actual work can be done on the client side (e.g.
DataAdapter) or on the SQL server side with an ELT process.

--
Hope this helps.

Dan Guzman
SQL Server MVP

<dg*******@eircom.netwrote in message
news:11*********************@50g2000hsm.googlegrou ps.com...
Hello all

I am creating a VB.Net distributed SQL server 2005 application.

Each computer in the system has a database with a table of users and
their telephone numbers.
Each computer has a unique 4 digit identifying code.

The central server runs an application which reads the database table
on each computer.
Once the table is read it is stored in a central database on the
server. The details from any computer
can be displayed on the application, modified therein and sent to the
remote computers to update the tables there.

My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?
Many thanks for any help.

Denis
________________________
Denis Gleeson
http://www.CentronSolutions.com
Oct 12 '07 #2
Hi Dan

Thanks for your response.
a simple solution is to delete all data in the central database for the site
id and refresh from the remote table.
Yes this is the easiest as the data volumes are low.

However, my question is more about the details of the schema design(or
table layout).
This is a more involved table design than I have done before, or maybe
Im thinking about it the wrong way.

Should every remote site be represented by a distinct table in the
central database. This distinct table is created
when new data is first available from the remote site. From then on
it is cleared and re filled. How do I index or identify each
table?

Many thanks for any help

Denis
________________________
Denis Gleeson

http://www.CentronSolutions.com
On Oct 12, 1:46 pm, "Dan Guzman" <guzma...@nospam-
online.sbcglobal.netwrote:
My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?

It seems to me that you are rolling your own replication. You might instead
consider leveraging the SQL Server replication features. See the SQL Server
Books Online for more information.

If I understand correctly, each remote site contains a subset of data and
updates to the central database are also pushed to the remote db as they
occur. Remote updates are periodically applied to the central database
using a batch pull process.

If the remote table is the authoritative source and data volumes are modest,
a simple solution is to delete all data in the central database for the site
id and refresh from the remote table. You'll need to ensure no data
modifications for that site id are done to the central copy during the
resync process. SqlBulkCopy is an efficient way to load data into the
central database. After they resync, I recommend that you always update the
remote database before the central database to ensure changes are not lost
during the next reload.

Other scenarios will require that you identify changed data and resolve
conflicts. The actual work can be done on the client side (e.g.
DataAdapter) or on the SQL server side with an ELT process.

--
Hope this helps.

Dan Guzman
SQL Server MVP

<dglees...@eircom.netwrote in message

news:11*********************@50g2000hsm.googlegrou ps.com...
Hello all
I am creating a VB.Net distributed SQL server 2005 application.
Each computer in the system has a database with a table of users and
their telephone numbers.
Each computer has a unique 4 digit identifying code.
The central server runs an application which reads the database table
on each computer.
Once the table is read it is stored in a central database on the
server. The details from any computer
can be displayed on the application, modified therein and sent to the
remote computers to update the tables there.
My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?
Many thanks for any help.
Denis
________________________
Denis Gleeson
http://www.CentronSolutions.com- Hide quoted text -

- Show quoted text -

Oct 12 '07 #3
What is the db type/vendor on the client side?

I guess I wanted to be clear of that fact before offering information.

<dg*******@eircom.netwrote in message
news:11*********************@50g2000hsm.googlegrou ps.com...
Hello all

I am creating a VB.Net distributed SQL server 2005 application.

Each computer in the system has a database with a table of users and
their telephone numbers.
Each computer has a unique 4 digit identifying code.

The central server runs an application which reads the database table
on each computer.
Once the table is read it is stored in a central database on the
server. The details from any computer
can be displayed on the application, modified therein and sent to the
remote computers to update the tables there.

My question relates to the central database on the central server.
What is the best way, once I have read a remote table, to store it in
the cental database?
Many thanks for any help.

Denis
________________________
Denis Gleeson
http://www.CentronSolutions.com

Oct 12 '07 #4
On Fri, 12 Oct 2007 08:53:02 -0700, dg*******@eircom.net wrote:
>Hi

The database on the client side is proprietary.
The application has a translation layer which will read the remote
data and store in the
central database.

Denis
You might also want to take a look at Sybase ASA. Besides offering
very powerful replication facilities, it also allows you to write your
own logic to synchronize against databases and indeed any storage
mechanism not supported out of the box

--
http://bytes.thinkersroom.com
Oct 15 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

36
by: Andrea Griffini | last post by:
I did it. I proposed python as the main language for our next CAD/CAM software because I think that it has all the potential needed for it. I'm not sure yet if the decision will get through, but...
0
by: Jason Sirota | last post by:
I am an advanced database and vb programmer but recently my position has called for advanced archtecture descisions enterprise-wide. Although I have quite a bit of knowledge on designing relational...
1
by: channa_s | last post by:
Hi, I would be very grateful if anyone could help me with the following. I want to create a SIMPLE distributed database. It is as follows: There is a institution which has branches all...
7
by: J Goldman | last post by:
I'm looking for documentation pointers to learn what I need to put together a distributed database system. I've read through "Oracle 9i Database Administrator's Guide: Distributed Database...
0
by: DotNetJunkies User | last post by:
I am writing a distributed transaction code. My current scenario include a client database(Suppose client- having 4 main database) which can be installed anywhere which would connect to a public...
11
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
8
by: Rob S | last post by:
I have UDB 8.1 Personal Edition installed. I'm using Development centre to develop JAVA Stored Procedues. I am unable to debug them. I have installed IBM Distributed Debugger and have set...
5
by: MLH | last post by:
I have little or no knowledge as to how a runtime Access database application might be distributed from a website. I am sure that I'm about to find out. I do have one question for you wizards...
4
by: JB | last post by:
Hi All, I need to write my first "distributed" application and due to my lack of knowledge and experience in that area, I'm stuck on the first big design decision. Reading a lot on distributed...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.