2 Databases 2 locations one website???
-
Hi All I have a question, I have 2 offices one in botswana and one in South Africa, I am building an intranet for our company that will handle our logistics information, users will logon to the same website or a clone of the website depending on thier country, I want to set something up so users in botswana use that databse and users in south africa use the db in SA, but the data must somehow come together so users in botswana can see the RSA data loaded and vice/versa problem is the line speed from botswana to south africa sucks so the main reason I want 2 databases is for speed of the website in botswana. Any Ideas besides replication maybe clustering of somekind. Also should run SQL 2000 or 2005 still desiding what DB will be best to use license wise or so on.
-
Hi All I have a question, I have 2 offices one in botswana and one in South Africa, I am building an intranet for our company that will handle our logistics information, users will logon to the same website or a clone of the website depending on thier country, I want to set something up so users in botswana use that databse and users in south africa use the db in SA, but the data must somehow come together so users in botswana can see the RSA data loaded and vice/versa problem is the line speed from botswana to south africa sucks so the main reason I want 2 databases is for speed of the website in botswana. Any Ideas besides replication maybe clustering of somekind. Also should run SQL 2000 or 2005 still desiding what DB will be best to use license wise or so on.
I would highly recommend SQL 2005 over 2000. It is much faster and contains more features that have made my life so much better. Regarding your design, I would tend to look at having 2 separate databases each local to your individual office. Depending on your DB design, you may want to roll your own replication logic and schedule updates between the two sites. The other thing to consider is if you are going to develop your sites with ASP.NET, you can look into the .NET caching object and see if caching will work for you without replicating the data. Sounds like an interesting challenge. BTW: I was at Chobe National Park a few years ago and had a really great time; I got some beatuiful pictures of the animals. :-D
-
Hi All I have a question, I have 2 offices one in botswana and one in South Africa, I am building an intranet for our company that will handle our logistics information, users will logon to the same website or a clone of the website depending on thier country, I want to set something up so users in botswana use that databse and users in south africa use the db in SA, but the data must somehow come together so users in botswana can see the RSA data loaded and vice/versa problem is the line speed from botswana to south africa sucks so the main reason I want 2 databases is for speed of the website in botswana. Any Ideas besides replication maybe clustering of somekind. Also should run SQL 2000 or 2005 still desiding what DB will be best to use license wise or so on.
If you want to *split* your database on two separate servers the main problem you have is logical, not technical. First you must find a way to separate rows on tables so that it's rare that people in Botswana need (especially update, insert or delete) the rows that are maintained in South Africa. Typically this is done using different kinds of responsibility information and so on. Otherwise you will have lot's of update collisions which will be very problematic and require a reliable, (potentially) high speed connection between sites. After you have found a way to logically separate the data you can use several techniques (few options with some of their good and bad effects):
- replication, which allows you to loose connection for a while, but has problems since data is (commonly) duplicated
- distributed operations with two-phase commit, data is consistent, but loss of connection may paralyze the system also typically needs modifications at program level
- federations, data is consistent and no need to change the program. Also workload is divided between sitse. Loss of connection may paralyze the system (depending how program handles this)
Hope this helps, Mika
The need to optimize rises from a bad design. My articles[^]
-
Hi All I have a question, I have 2 offices one in botswana and one in South Africa, I am building an intranet for our company that will handle our logistics information, users will logon to the same website or a clone of the website depending on thier country, I want to set something up so users in botswana use that databse and users in south africa use the db in SA, but the data must somehow come together so users in botswana can see the RSA data loaded and vice/versa problem is the line speed from botswana to south africa sucks so the main reason I want 2 databases is for speed of the website in botswana. Any Ideas besides replication maybe clustering of somekind. Also should run SQL 2000 or 2005 still desiding what DB will be best to use license wise or so on.
I d´ont know but i really d´ont like replication to :doh: I think you have a problem there i d´ont see how you can get "the best of two worlds"!!! I would create a parent database and child databases (1 or more doesn´t matter). But, i would really in fact create one database, the parent one. So, let the users connect to the database, if sucess ok else let it connect to the child database. The child database would trigger a check (say every 5 min) in the parent to see if can connect, if so update parent: empty the child and fill parent with data. Invest in datetime variables here to get records ordered! But, it can get really messy if you critical data (when you can´t make something before others or same time) let only connect to parent database then. That´s for editing procedures, for report procedures make whatever, just show all you got(data), display the report date and if is a "blue-print", not 100% check accurate good luck :doh:
nelsonpaixao@yahoo.com.br trying to help & get help