Делимся последними новостями о СУБД SoQoL

Все вместе, но каждый индивидуален

Все вместе, но каждый индивидуален «Я правильно понимаю, что если я подключен к БД1, то не могу выполнить запрос к БД2?»

Это вопрос одного из наших подписчиков. Он написал, что является типичным пользователем MS SQL и в этой СУБД допустимо «из подключения к БД1 выполнять запросы к БД2».

В Microsoft SQL Server можно использовать функции OPENQUERY и OPENROWSET для выполнения запросов из одной базы данных в другую. А можно воспользоваться инструментом sp_addlinkedserver для создания связанного сервера и установить связь между двумя различными экземплярами Microsoft SQL Server или другими базами данных.

И MS SQL не единственная с возможностью установления связи между двумя БД, только реализация отличается.

В Oracle для выполнения запросов из одной базы данных в другую можно использовать инструмент Database Link, с помощью которого создаются ссылки на удалённые базы данных и выполняются запросы к этим БД.

В MySQL можно использовать функции CONNECT и FEDERATED для выполнения запросов из одной базы данных в другую. При этом CONNECT позволяет подключаться к удалённым серверам MySQL и выполнять запросы к ним, а FEDERATED позволяет создавать таблицы, которые являются ссылками на другие базы данных MySQL.

А как в SoQoL?

В бета-версии SoQoL так: каждая база данных обособлена, но все базы данных находятся под управлением одного сервиса. Поэтому:

– в каждой базе данных свой администратор и пользователи, не имеющие доступа к данным других баз данных.

– находясь в подключении к конкретной базе данных можно делать любые запросы, но только по отношению к её объектам.

– находясь в подключении к сервису можно выполнять запросы к объектам сервиса и управлять базами данных только «снаружи», как целым объектом. Например, создавать БД, останавливать её, запускать, удалять и т.д.

А как же взаимосвязь? Возможно ли в светлом будущем связать базы данных SoQoL между собой?

Скажем так: в SoQoL есть техническая возможность сделать поддержку баз данных как каталогов (по аналогии, например, с MS SQL), но это вопрос времени и сил. Поэтому задача такая есть, но на данный момент для нас она не самая приоритетная.

Поделитесь своим опытом: в каких задачах вам приходилось выполнять запрос из одной БД к другой? Почему так сложилось? Какой вариант реализации такого доступа вам видится наиболее удобным? Какие проблемы нужно учесть при проектировании аналогичных средств в SoQoL?

Обсудить в телеграм!