PDA

View Full Version : Cho mình hỏi????



zark
02-08-2008, 02:09
Nếu một công ty có nhiều chi nhánh rãi rác khắp nơi, muốn xậy dựng database mằm ở chi nhánh chính và các chi nhánh khác phải cập nhật và lấy thông tin liên tục từ Database Sv đặt ở chi nhánh chính.

Như vậy mình sẽ thiết kế database theo dạng nào CSDL tập trung hay CSDLphân tán ?? Sự cập nhật và lấy thông tin liên tục (dạng như check hàng còn trong kho hay ko). Máy bạn có thể giúp mình dc ko mình mới bắt đầu làm wen voi CSDL.Mong dc chỉ giáo

nguyen_lan2005
02-08-2008, 10:00
Nếu ở Sài Gòn, tham khảo tại www.becivn.net hoặc www.nguyenlan.com được Lân trực tiếp hỗ trợ, thiết kế, xây dựng, ....
========================
www.becivn.net
www.nguyenlan.com
www.nguyenlan.net
YH Lanit_itec

huytranaz
02-08-2008, 11:49
Nếu một công ty có nhiều chi nhánh rãi rác khắp nơi, muốn xậy dựng database mằm ở chi nhánh chính và các chi nhánh khác phải cập nhật và lấy thông tin liên tục từ Database Sv đặt ở chi nhánh chính.

Như vậy mình sẽ thiết kế database theo dạng nào CSDL tập trung hay CSDLphân tán ?? Sự cập nhật và lấy thông tin liên tục (dạng như check hàng còn trong kho hay ko). Máy bạn có thể giúp mình dc ko mình mới bắt đầu làm wen voi CSDL.Mong dc chỉ giáo

Vấn đề này mình cũng đang giải quyết, có thể tư vấn bạn một chút:
1. CSDL tập trung (1 database server duy nhất, các chi nhánh kết nối về đây để khai thác):
Nếu công ty đó có đường truyền mạnh (kênh thuê riêng / leased line) thì dùng CSDL tập trung là tốt nhất. Tuy nhiên sẽ gặp một số vấn đề: Khi đường truyền trục trặc, cúp điện server, server chính trục trặc thì hệ thống ở chi nhánh không thể hoạt động và coi như gián đoạn dữ liệu.

2. CSDL phân tán (mỗi chi nhánh 1 database server, các server này thực hiện các cơ chế đồng bộ với database server chính ở tổng công ty):
Dùng CSDL phân tán phải đầu tư nhiều server hơn (nhưng chỉ cần server đủ đáp ứng nhu cầu công việc cho từng chi nhánh, không nhất thiết phải là 1 server hiệu). Ở tổng công ty cần 1 line internet có IP tĩnh để làm trạm thu nhận dữ liệu từ các server trong hệ CSDL phân tán này.

+ Ưu: Khắc phục được nhược điểm của CSDL tập trung.
+ Khuyết: Phải giải quyết vấn đề đồng bộ cho triệt để, rất dễ bị trùng khóa dữ liệu...

Nếu bạn mới làm quen với CSDL thì hơi bị phức tạp đó. Bạn thử search các thông tin này trên mạng xem.

Chúc vui,

zark
03-08-2008, 00:18
cám ơn bạn huytranaz nhiều lắm ^^!Mình sẻ search thêm tài liệu.

phatnq2003
04-08-2008, 14:31
Nếu đủ lực + tiền thì xài CSDL tập trung là an toàn nhất. Trường hợp xấu nhất ở đây chỉ là trục trặc đường truyền bên ngoài mà thôi. Vì khi xây dựng CSDL tập trung, thì việc xây dựng hệ thống hỗ trợ như: power system, redundant, backup, ... là đã tính đến rồi.

Còn làm theo phân tán thì cũng tốt, không vấn đề gì. Chỉ lưu ý là khi xây dựng các khoá thì tránh sử dụng kiểu AutoNumber (IDENTITY (1, 1)) vì rất dễ bị conflict. Phải xây dựng khoá riêng. Việc đồng bộ hoá cũng có thể bị dính trường hợp đường truyền, chứ không thể tránh khỏi. Nhưng phân tán thì mức đầu tư về hạ tầng không cao bằng với việc sử dụng CSDL tập trung.

ask-answer
12-04-2009, 20:00
Vấn đề này mình cũng đang giải quyết, có thể tư vấn bạn một chút:
1. CSDL tập trung (1 database server duy nhất, các chi nhánh kết nối về đây để khai thác):
Nếu công ty đó có đường truyền mạnh (kênh thuê riêng / leased line) thì dùng CSDL tập trung là tốt nhất. Tuy nhiên sẽ gặp một số vấn đề: Khi đường truyền trục trặc, cúp điện server, server chính trục trặc thì hệ thống ở chi nhánh không thể hoạt động và coi như gián đoạn dữ liệu.

Vậy trong trường hợp trên nếu dùng CSDL tập trung thì dùng kiến trúc nào: hệ CSDL trung tâm hay hệ CSDL khách - chủ. Tôi vẫn chưa phân biệt được sự khác biệt giưa 2 kiến trúc này. Xin các bác chỉ giúp.

P/S: Không biết bác nào có tài liệu nào nói chi tiết về các hệ CSDL này không thì share cho mình với. Chân thành cảm ơn.

dq_ninh
13-04-2009, 08:56
Cái quan trọng nhất, không thể không đề cập tới là ngân khoản. Không những ngân khoản xây dựng, mà còn phải có ngân khoản bảo hành hàng năm. Nếu có 10 chi nhánh, CSDL tập trung tốn 200 triệu, thì với CSDL phân tán, phải nhân lên ít nhất là 20 lần, chứ không phải 10 lần. Cộng thêm phí tổn bảo hành hàng năm ít nhất là 30%.

Nếu công ty chưa từng bao giờ dùng tới CSDL, và đây là lần đầu tiên, thì để tránh thất bại, nên dùng CSDL tập trung. Khi đã thành công với CSDL tập trung rồi, thì có thể dễ dàng chuyển qua CSDL phân tán. Khi muốn chuyển qua phân tán, cũng phải toan tính tới chuyện so sánh lợi nhuận có tương quan với giá trị đầu tư hay không (ROI - Return On Investment)?

Công ty chưa bao giờ thiết kế một CSDL nào cả, mà tính đến chuyện tự thiết kế CSDL phân tán, sự thất bại nằm chắc trong tay, như 2 cộng 2 là 4.

Khi thiết kế CSDL tập trung, nếu có dự kiến trong tương lai sẽ chuyển qua CSDL phân tán, thì khi thiết kế CSDL, phải đặt nặng trọng tâm vào đó. Như hai bạn phatng và huytran đã đề cập tới chẳng hạn: coi chừng trùng hợp khóa chính, đừng dùng dạng INT cho khóa chính. Các khóa chính của các bảng, luôn luôn dùng dạng GUID (UNIQUEIDENTIFIER) thì tốt nhất, bởi vì nó bảo đảm không có trùng hợp. Nhưng không phải chỉ giản dị có bấy nhiêu đó thôi, vì CSDL phân tán đòi hỏi phải biết thêm nhiều thứ lắm: replication server, data-mart, SQL agent, vân vân...

Nếu đây là một đề tài cho luận văn ra trường, thì hahahaha, không tai hại gì cả. Làm một tăng CSDL phân tán cho vui. Trước là để tự học hỏi thêm, sau là làm ma hù dọa thầy cô lấy điểm cao.

Còn nếu đây là một dự án cho một công ty, thì CSLD tập trung là bước chắc ăn nhất.

ask-answer
15-04-2009, 20:05
Cho mình hỏi là hệ CSDL của ebay, amazone hay của Yahoo có phải thuộc hệ CSDL phân tán không ạ? nếu phải thì đâu là dấu hiệu nhận biết. Chân thành cảm ơn.