Điểm:-1

Có thể lưu trữ cơ sở dữ liệu trên một máy chủ, nhưng dữ liệu thực tế trên một máy chủ khác không?

lá cờ cn

Chúng tôi đang lên kế hoạch thực hiện nghiên cứu AI bằng HPC. HPC này sẽ sử dụng bộ dữ liệu mà chúng tôi đã tạo. Các tập dữ liệu này là các tập con khá lớn của toàn bộ tập dữ liệu (~1TB). Tất cả dữ liệu chúng tôi đã thu thập từ các thử nghiệm sẽ được lưu trữ trong cơ sở dữ liệu SQL. Chúng tôi muốn sử dụng các truy vấn SQL để tìm nạp các tập hợp con có liên quan từ cơ sở dữ liệu có liên quan tại một thời điểm nhất định - vì vậy, chúng tôi đã phát triển một dịch vụ RESTful, cho phép mọi người gửi các truy vấn được làm sạch.

Có một số hạn chế hiện đang tạm dừng quá trình thiết lập của chúng tôi.

Chúng tôi có một máy chủ lưu trữ cho dịch vụ RESTful, nhưng việc sử dụng dung lượng lưu trữ ~1TB trên đó là giải pháp cuối cùng và chúng tôi muốn tìm một cách thay thế để thực hiện mọi việc. Tôi tự hỏi liệu có thể lưu trữ cơ sở dữ liệu trên một máy chủ nhưng dữ liệu thực tế lại nằm trên một máy chủ khác không? Vì vậy, khi nhà nghiên cứu gửi truy vấn đến dịch vụ RESTful, máy chủ SQL sẽ chọn tệp nào sẽ gửi, trả chúng về dịch vụ restful, dịch vụ restful sẽ trả về các liên kết tải xuống cho tất cả các bộ dữ liệu.

Hiện tại, chúng tôi đang sử dụng MySQL để lưu trữ dữ liệu và một phiên bản Flask để cho phép các nhà nghiên cứu gửi các thử nghiệm mới và tìm nạp chúng.

lá cờ cn
Câu hỏi cho thấy sự thiếu kiến ​​thức thông thường đối với quản trị viên hệ thống - và OP đã nói rất rõ ràng. Điều này dẫn đến các đề xuất sản phẩm và kiến ​​thức cơ bản về giảng dạy, cả hai đều không có chủ đề trên trang web này. Superuser.com phù hợp hơn.
Điểm:3
lá cờ cn

Có ba thành phần ở đây

  • Flask, đang phục vụ API REST của bạn,
  • mysqld, là phiên bản cơ sở dữ liệu đang chạy và
  • các tập tin dữ liệu quản lý bởi cá thể cơ sở dữ liệu đó.

Không có lý do tại sao Flask nên chia sẻ một máy chủ với hai máy chủ còn lại và rất nhiều lý do bảo mật tốt tại sao nó không nên. Sẽ hoàn toàn hài lòng khi được cung cấp đúng ConnectionString để kết nối với một phiên bản mysql đang chạy trên một máy chủ khác.
Đây có lẽ là nơi tốt nhất để "phân chia" kiến ​​trúc của bạn.

Phiên bản cơ sở dữ liệu và các tệp dữ liệu của nó phải "gần" với nhau nhất có thể, tức là càng ít "ngăn đường" và làm mất ổn định cơ sở dữ liệu của bạn càng tốt. (Thật vậy, tôi sẽ đi xa hơn và đề xuất rằng bạn nên coi chúng là một thực thể duy nhất, cơ sở dữ liệu và hoàn toàn quên "tệp" đi).

Có một máy chủ cơ sở dữ liệu với các thiết bị đĩa kèm theo là được.

Alex Osheter avatar
lá cờ cn
Cảm ơn bạn! Tôi sẽ kiểm tra nếu điều này là có thể. Theo hiểu biết của tôi, nhà cung cấp của chúng tôi có hai tầng - -một tầng là VM có dung lượng 1TB và tầng còn lại là giải pháp dựa trên ESS. Nếu có thể chạy một phiên bản cơ sở dữ liệu trên ESS, điều đó thật tuyệt. Nhưng tôi không biết nếu điều đó là có thể.
Điểm:1
lá cờ cn

Để tôi hỏi bạn một câu - bạn nghĩ bất kỳ SAN nào từng được xây dựng là gì? Mạng vùng lưu trữ có nghĩa là dữ liệu nằm trên một máy khác, mục đích được xây dựng cho mục đích đó. ISCSI là một giao thức để hiển thị lưu trữ dựa trên khối (tức là đĩa ảo, không phải chia sẻ tệp). Tại sao bạn nghĩ rằng nó tồn tại?

Vì vậy, câu trả lời rõ ràng là có.

Alex Osheter avatar
lá cờ cn
Chà, tôi chưa bao giờ nghe nói về SAN, vì vậy nó không quá rõ ràng. Đối với một nhà khoa học, đây không phải là _rõ ràng_. Sẽ thật tuyệt nếu bạn có thể mở rộng câu trả lời của mình - SAN là gì? Họ làm việc như thế nào? Đây có phải là một giải pháp được cung cấp bởi nhiều máy chủ? Nó có được hỗ trợ bởi MySQL không?
lá cờ cn
"Đối với một nhà khoa học, điều này không rõ ràng" - đây là nơi, theo quy tắc của trang web, CHỈ dành cho quản trị viên, không dành cho nhà khoa học. Một quản trị viên hệ thống không biết SAN là gì... à... vì vậy, câu hỏi không có chủ đề ở đây.Ngoài ra, với tư cách là Nhà khoa học, hãy cảm thấy xấu hổ vì đã không cố gắng tìm SAN là gì trên google.
lá cờ ua
SAN là một nhóm các đĩa và một máy tính không có gì để làm ngoài việc chia sẻ dữ liệu giữa các đĩa đó và một mạng có người dùng (chẳng hạn như công cụ SQL) ở đầu bên kia. Có một số chậm lại, nhưng đó là một cách tuyệt vời để có được các bộ dữ liệu thực sự khổng lồ "trực tuyến". Ngày nay, 1TB là khá khả thi trên cả máy tính xách tay gia đình của bạn.
lá cờ cn
1tb là khả thi ngay cả trên máy tính bảng ngày nay.
Điểm:0
lá cờ de

Vì vậy, về cơ bản, bạn muốn có dữ liệu của mình trên SQL-Server và một SQL-Server khác lấy dữ liệu từ SQL-Server "chính" để chèn, cập nhật, chọn, v.v.?

Nếu đó là trường hợp, sau đó có. Bạn có thể liên kết cơ sở dữ liệu từ một máy chủ khác với Máy chủ MySQL của mình.

Alex Osheter avatar
lá cờ cn
Không. Chỉ có một máy chủ. Phiên bản MySQL đang chạy trên một máy chủ, nhưng dữ liệu trong cơ sở dữ liệu phải ở một nơi khác.
SikorskyS60 avatar
lá cờ de
Vì vậy, bạn muốn chạy nhiều phiên bản MySQL trên một máy chủ? Bản thân tôi chưa từng thử nhưng đây là [liên kết](https://ubiq.co/database-blog/how-to-run-multiple-mysql-instances-on-same-machine/) có thể hữu ích trong trường hợp đó:

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.