Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Гетерогенный SQL шардинг / 23 сообщений из 23, страница 1 из 1
06.10.2012, 23:38
    #37986733
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Дано:
Есть несколько баз данных на разных СБУД(Postgres, Mysql, Oracle, Firebird)
Базы cходны лишь частично - некторые общие поля(идентификаторы, имена сущностей)

Задача:
Получить результат SQL запроса к таблицам в разных базах.

Вопрос:
Есть ли способ организовать подобное?
Выкачать частично или полностью локальные результаты запросов в некий единый обработчик для обобщения?

Идеи, ключевые слова?

Спасибо.
...
Рейтинг: 0 / 0
07.10.2012, 00:08
    #37986758
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
если в MSSQL - то просто, ключевое слово OPENQUERY
...
Рейтинг: 0 / 0
07.10.2012, 00:45
    #37986787
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
у всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю.
...
Рейтинг: 0 / 0
07.10.2012, 09:46
    #37986875
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
SergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY
О это полезно, спасибо.

Ggg_oldу всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю
Я имел в виду независимое приложение не имеющее собственного хранилища, но способное оперировать SQL(pl/SQL) запросами и перенаправлять запросы к базам данных.
...
Рейтинг: 0 / 0
07.10.2012, 10:14
    #37986885
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
тогда не понятно, в чем именно у вас пролема. Ну сделайте сколько нужно соединений к разным субд, выполните запросы к ним и в клиентской части обработайте как надо. Если обработка так-же подразумевает выполнение некого результируещего sql по верх результатов, то можно сливать данные по мере их получения с удаленной субд в локальную (sqllite) а потом в локальной дорихтовать окончательно.
...
Рейтинг: 0 / 0
07.10.2012, 11:42
    #37986920
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
koriskЯ имел в виду независимое приложение не имеющее собственного хранилища
То есть не имеющее никакой информации об индексах, их селективности и прочих данных,
которые обычно оптимизатор использует для построения плана запроса. Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.10.2012, 11:52
    #37986926
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Ggg_oldтогда не понятно, в чем именно у вас пролема. Ну сделайте сколько нужно соединений к разным субд, выполните запросы к ним и в клиентской части обработайте как надо. Если обработка так-же подразумевает выполнение некого результируещего sql по верх результатов, то можно сливать данные по мере их получения с удаленной субд в локальную (sqllite) а потом в локальной дорихтовать окончательно.

Конечно так можно, но это уже костыли. Я предположил, что существует готовое решение, возможно и не существует. Проблема в том что я не знаю ключевых слов, аналогов итп.


Dimitry SibiryakovТо есть не имеющее никакой информации об индексах, их селективности и прочих данных,
которые обычно оптимизатор использует для построения плана запроса. Ню-ню...


Оптимизаторы на каждой из баз могут быть отдельными. Объединять результаты запросов можно и без индексов.
...
Рейтинг: 0 / 0
07.10.2012, 14:03
    #37987011
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
koriskОптимизаторы на каждой из баз могут быть отдельными. Объединять результаты
запросов можно и без индексов.
То бишь голимый merge или hash join и никогда - inner loop. С последующей сортировкой если
задан order by. Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.10.2012, 16:38
    #37987119
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Dimitry Sibiryakov,

т.е. вы уверены, что описываемая конструкция врядли может быть реализована. Спасибо за мнение.
...
Рейтинг: 0 / 0
07.10.2012, 19:05
    #37987201
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
koriskDimitry Sibiryakov,

т.е. вы уверены, что описываемая конструкция врядли может быть реализована. Спасибо за мнение.

Она 100% может быть реализована. только придется попотеть реализовывая.
...
Рейтинг: 0 / 0
07.10.2012, 19:09
    #37987206
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
koriskSergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY
О это полезно, спасибо.

Ggg_oldу всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю
Я имел в виду независимое приложение не имеющее собственного хранилища, но способное оперировать SQL(pl/SQL) запросами и перенаправлять запросы к базам данных.

Например, virtuoso это умеет, и достаточно хорош. Но она небесплатная.

Из бесплатных не знаю, кто это может.
...
Рейтинг: 0 / 0
08.10.2012, 10:13
    #37987578
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
MasterZiv, а ведь есть ещё BDE? помните?! :)
...
Рейтинг: 0 / 0
08.10.2012, 10:32
    #37987620
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
korisk,
не поверишь, ключевые слова "google heterogenous query".
А в принципе:
1) нужен абсолютно независимый инструмент или есть всё таки какая-то среда разработки/сопровождения, в которую неплохо бы вписаться? например, а не подойдёт ли решения а-ля Delphi + набор компонент, поддерживающий гетерогенные запросы (AnyDAC, к примеру, чтобы не тыкать в закаменевшего идола BDE...)?
3) насколько сложные запросы (у разных инструментов разные возможности по оптимизации)?
4) запросы нужно выполнять "онлайн" или подойдёт промежуточная загрузка данных (например, ETL)?
5) есть ограничения по стоимости решения?
...
Рейтинг: 0 / 0
08.10.2012, 11:11
    #37987721
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
korisk<...>Идеи, ключевые слова?<...>Федеративные системы или мультибазы, например .
...
Рейтинг: 0 / 0
08.10.2012, 12:11
    #37987870
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
SergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY
В MSSQL еще лучше использовать ключевые слова "linked server"...
...
Рейтинг: 0 / 0
08.10.2012, 19:05
    #37988921
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
АнатоЛой, по стоимости ограничения есть - желательно бесплатно :)
С параметрами пока не определилось - просто прощупываю почву, можно ли такое реализовать.
Пока остановился на dblink (Postgres) и ( ODBC )

BDE это уж слишком :D.

servit, про мультибазы не слышал, спасибо.
...
Рейтинг: 0 / 0
08.10.2012, 19:53
    #37988982
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
koriskАнатоЛой, по стоимости ограничения есть - желательно бесплатно :)
С параметрами пока не определилось - просто прощупываю почву, можно ли такое реализовать.
Пока остановился на dblink (Postgres) и ( ODBC )

BDE это уж слишком :D.

servit, про мультибазы не слышал, спасибо.
А если бы не "закаменолость" BDE во времени, он бы вас устроил по своим "давно стабилизироваавшимся" возможностям?

И нет ничего постоянного в мире, это относится и к цене, а особенно к её форме:
Инфо 1) "Local SQL" в AnyDAC появился не так давно (v.6.0.1, лето 2012) ;
Инфо 2) насколько я понимаю, реализация под ваши нужды потребует программирования с использованием Delphi, C++Builder или FreePascal - или написания утилит в этих же средах;
Вариант: предложите автору взамен за стоимость лицензий утилиту, которую вы напишите - вдруг это вариант ему подходит? :)
...
Рейтинг: 0 / 0
08.10.2012, 21:24
    #37989087
korisk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
АнатоЛой,
мм я не знаком с возможностями BDE, просто прочел что она windows-based. Такое решение меня не интересует. Но за информацию спасибо.
Паскалем я тоже не пользуюсь :).

В целом решение найдено, тему можно закрыть.
Всем большое спасибо за советы, идеи и ключевые слова :)
...
Рейтинг: 0 / 0
12.10.2012, 00:19
    #37994712
Gallagher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Первое решение, которое приходит на ум - поставить в центре какую-нибудь express версию коммерческой субд, в которой есть database link, завести в нее все линки и гонять запросы оттуда. С джойнами таблиц из разных источников конечно беда будет, равно как и с прочими ограничениями, которые будут накладывать гетерогенные линки.

Второе решение - посмотреть в сторону ETL / DI систем, мне даже кажется что я видел что-то наподобии информатики в опенсорсе, которая даже SQL интерфейс предоставляла
...
Рейтинг: 0 / 0
12.10.2012, 00:37
    #37994724
Gallagher
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Вспомнил, Talend! Еще был Pentaho Kettle
Вот ссылки - http://en.wikipedia.org/wiki/Enterprise_application_integration (внизу есть список из коммерческого и опенсоурс ПО)
Ну и вот как основная мысль - http://en.wikipedia.org/wiki/Data_integration


авторголимый merge или hash join и никогда - inner loop
уж больно вы сурово все по полкам раскидали :) в жизни нужны и те, и другие
в конечном итоге, обращение к удаленным табличкам можно интерпретировать как row source generator, а выбор варианта джойна оставить приложению в центре.
...
Рейтинг: 0 / 0
12.10.2012, 09:44
    #37994954
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
GallagherЕще был Pentaho Kettle
Gallagher, спасибо, мне тоже напомнил про приличную вещь.
korisk, +1 к Pentaho Kettle. И инструмент пошире, чем просто требуемый SQL по задаче - так что может пригодиться ещё где-нибудь :).
...
Рейтинг: 0 / 0
12.10.2012, 11:10
    #37995163
milton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Gallagher,

Если разработка на Java, то можно попробовать Teiid
...
Рейтинг: 0 / 0
12.10.2012, 23:18
    #37996603
Alexander Ryndin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гетерогенный SQL шардинг
Есть еще у Oracle вот такая штука Oracle Data Service Integrator - не путать с Oracle Data Integrator. Oracle Data Service Integrato - это в девичестве BEA AquaLogic Data Services Platform. Вот только скорость всех этих танцев будет ужасная, если источники данных используются совместно. Все же базы умеют делать всякие Join гораздо быстрее.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Гетерогенный SQL шардинг / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]