2013-08-30 43 views
5

Tôi đang lên kế hoạch xây dựng một ứng dụng máy tính để bàn sẽ sử dụng Hibernate và MySQL làm nguồn dữ liệu của nó. Tôi muốn thực thi ứng dụng trên máy tính để bàn trên nhiều máy nhưng tôi muốn tất cả chúng đọc/ghi vào cùng một cơ sở dữ liệu MySQL. Điều này thậm chí có thể? Mối quan tâm của tôi là về vấn đề tương tranh khi hai ứng dụng đang cố gắng truy cập/sửa đổi cùng một thông tin. Có một giải pháp thay thế cho nhiều ứng dụng ORM để đồng bộ hóa cơ sở dữ liệu thời gian thực (nếu một cơ sở dữ liệu không được phép)?Kết nối hai hoặc nhiều ứng dụng với cùng một cơ sở dữ liệu bằng cách sử dụng Hibernate

Có một số câu hỏi tương tự với tôi về lưu lượng truy cập trên stackoverflow nhưng câu trả lời của họ không thỏa mãn tôi.

+0

: S đồng thời thuộc về xử lý đối với công cụ mysql .. không phải ứng dụng của bạn. Các dbms sẽ làm điều đó cho bạn – nachokk

+0

Bạn phải chắc chắn rằng bạn đã cấu hình MySQL cho nó, mặc dù. Các giá trị mặc định (cung cấp cho nó hiệu suất được cho là tuyệt vời) không an toàn giao dịch. – chrylis

Trả lời

6

Bạn có thể có nhiều ứng dụng dựa trên nền ngủ đông nói chuyện với cùng một cơ sở dữ liệu. Đối với hầu hết các phần, điều này là khá nhiều giống như chạy nhiều chủ đề nói chuyện với cùng một cơ sở dữ liệu.

Sự cố thường gặp nhất mà bạn có thể thấy sẽ xảy ra nếu cấu hình ngủ đông của bạn đang sử dụng bộ nhớ cache cấp thứ hai. Khi hibernate được cấu hình với cache thứ hai, nó giả định rằng cache phù hợp với cơ sở dữ liệu bên dưới. Khi bạn có một ứng dụng duy nhất gắn vào cơ sở dữ liệu, bộ nhớ cache cấp thứ hai có thể tồn tại trong RAM cục bộ của máy chủ ứng dụng và mọi thứ đều tốt.

Nếu bạn có nhiều máy chủ (cho dù chúng đang chạy cùng một ứng dụng hoặc các ứng dụng khác), bạn cần có một bộ nhớ cache cấp hai được chia sẻ bởi tất cả các máy chủ. Hoặc bạn không cần sử dụng bộ nhớ cache cấp hai.

Một số giải pháp bộ nhớ cache được phân phối cho bộ nhớ cache cấp thứ hai của hibernate có sẵn - google sẽ giúp bạn nghiên cứu các tùy chọn khác nhau nếu bạn quyết định đi tuyến đường này.

Cùng một đối số cũng áp dụng cho bộ nhớ cache truy vấn.

Các vấn đề liên quan