Рейтинг:-1

Можно ли разместить базу данных на одном сервере, а сами данные на другом?

флаг cn

Мы планируем провести исследование ИИ с помощью HPC. Этот HPC будет использовать созданные нами наборы данных. Эти наборы данных представляют собой довольно большие подмножества всего набора данных (~ 1 ТБ). Все данные, которые мы собрали в ходе экспериментов, будут храниться в базе данных SQL. Мы хотим использовать SQL-запросы для извлечения из базы данных подмножеств, актуальных в данный момент времени, поэтому для этого мы разработали службу RESTful, которая позволяет людям отправлять очищенные запросы.

Есть некоторые ограничения, которые в настоящее время останавливают нашу установку.

У нас есть хост для службы RESTful, но использование на нем хранилища ~1 ТБ — это крайняя мера, и мы бы предпочли найти альтернативный способ делать что-то. Мне было интересно, возможно ли разместить базу данных на одном сервере, но фактические данные находятся на другом сервере? Так что, когда исследователь отправляет запрос в RESTful-сервис, SQL-сервер выбирает, какие файлы отправлять, возвращает их в restful-сервис, restful-сервис возвращает ссылки для скачивания на все наборы данных.

В настоящее время мы используем MySQL для хранения данных и экземпляр Flask, чтобы исследователи могли отправлять новые эксперименты и получать их.

флаг cn
Вопрос показывает отсутствие здравого смысла у системных администраторов - и ОП ясно сказал об этом. Это сводится к рекомендациям по продуктам и основам обучения, которые не относятся к теме этого сайта. Superuser.com является более подходящим.
Рейтинг:3
флаг cn

Здесь три компонента

  • Flask, обслуживающий ваш REST API,
  • mysqld, который является работающим экземпляром базы данных, и
  • файлы данных удалось этим экземпляром базы данных.

Нет причин, по которым Flask должен делить сервер с двумя другими, и много хороших причин безопасности, почему этого делать не следует. Он будет совершенно счастлив, учитывая правильную ConnectionString для подключения к экземпляру mysql, работающему на другом сервере.
Вероятно, это лучшее место для «разделения» вашей архитектуры.

Экземпляр базы данных и его файлы данных должны быть как можно ближе друг к другу, т. е. как можно меньше «мешать» и дестабилизировать вашу базу данных. (Действительно, я бы пошел дальше и предложил рассматривать их как единое целое, базу данных, и полностью забыть о «файлах»).

Наличие сервера базы данных с подключенными дисковыми устройствами — это нормально.

Alex Osheter avatar
флаг cn
Спасибо! Я проверю, возможно ли это. Насколько мне известно, у нашего провайдера есть два уровня: один — это виртуальная машина с 1 ТБ пространства, а другой — решение на основе ESS. Если на ESS можно запустить экземпляр базы данных, это очень круто. Но я не знаю, возможно ли это.
Рейтинг:1
флаг cn

Позвольте задать вам вопрос: что, по вашему мнению, представляет собой SAN, когда-либо построенный? Сеть хранения данных означает, что данные находятся на другой машине, специально созданной для этого. ISCSI — это протокол для предоставления доступа к блочному хранилищу (т. е. к виртуальным дискам, а не к файловым ресурсам). Почему вы думаете, что он существует?

Итак, очевидный ответ — да.

Alex Osheter avatar
флаг cn
Ну, я никогда не слышал о SAN, так что это не так очевидно. Для ученого это не _очевидно_. Было бы здорово, если бы вы могли расширить свой ответ — что такое SAN? Как они работают? Это решение, предоставляемое многими хостами? Поддерживается ли он MySQL?
флаг cn
"Для ученого это неочевидно" - это место, по правилам сайта, ТОЛЬКО для админов, а не для ученых. Системный администратор, не знающий, что такое SAN... ну... так что вопрос здесь не по теме.Кроме того, как ученый, вам стыдно за то, что вы не пытаетесь найти в Google, что такое SAN.
флаг ua
SAN — это набор дисков и компьютера, которому нечего делать, кроме как перекачивать данные между этими дисками и сетью, на другом конце которой находится пользователь (например, механизм SQL). Есть некоторое замедление, но это отличный способ получить действительно огромные наборы данных «в сети». В наши дни 1 ТБ вполне осуществим даже на вашем домашнем ноутбуке.
флаг cn
В наши дни 1 ТБ выполнимо даже на планшете.
Рейтинг:0
флаг de

Итак, в основном вы хотите иметь свои данные на SQL-сервере и другом SQL-сервере, который извлекает данные из «основного» SQL-сервера для вставки, обновления, выбора и т. д.?

Если это так, то да. Вы можете связать базу данных с другого сервера с вашим MySQL-сервером.

Alex Osheter avatar
флаг cn
Нет. Есть только один сервер. Экземпляр MySQL работает на одном сервере, но данные в базе данных должны быть в другом месте.
SikorskyS60 avatar
флаг de
Итак, вы хотите запустить несколько экземпляров MySQL на одном сервере? Сам никогда не пробовал, но вот [ссылка] (https://ubiq.co/database-blog/how-to-run-multiple-mysql-instances-on-same-machine/), которая может помочь в этом случае:

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.