|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Дано: Есть несколько баз данных на разных СБУД(Postgres, Mysql, Oracle, Firebird) Базы cходны лишь частично - некторые общие поля(идентификаторы, имена сущностей) Задача: Получить результат SQL запроса к таблицам в разных базах. Вопрос: Есть ли способ организовать подобное? Выкачать частично или полностью локальные результаты запросов в некий единый обработчик для обобщения? Идеи, ключевые слова? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2012, 23:38 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
если в MSSQL - то просто, ключевое слово OPENQUERY ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 00:08 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
у всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 00:45 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
SergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY О это полезно, спасибо. Ggg_oldу всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю Я имел в виду независимое приложение не имеющее собственного хранилища, но способное оперировать SQL(pl/SQL) запросами и перенаправлять запросы к базам данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 09:46 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
тогда не понятно, в чем именно у вас пролема. Ну сделайте сколько нужно соединений к разным субд, выполните запросы к ним и в клиентской части обработайте как надо. Если обработка так-же подразумевает выполнение некого результируещего sql по верх результатов, то можно сливать данные по мере их получения с удаленной субд в локальную (sqllite) а потом в локальной дорихтовать окончательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 10:14 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
koriskЯ имел в виду независимое приложение не имеющее собственного хранилища То есть не имеющее никакой информации об индексах, их селективности и прочих данных, которые обычно оптимизатор использует для построения плана запроса. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 11:42 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Ggg_oldтогда не понятно, в чем именно у вас пролема. Ну сделайте сколько нужно соединений к разным субд, выполните запросы к ним и в клиентской части обработайте как надо. Если обработка так-же подразумевает выполнение некого результируещего sql по верх результатов, то можно сливать данные по мере их получения с удаленной субд в локальную (sqllite) а потом в локальной дорихтовать окончательно. Конечно так можно, но это уже костыли. Я предположил, что существует готовое решение, возможно и не существует. Проблема в том что я не знаю ключевых слов, аналогов итп. Dimitry SibiryakovТо есть не имеющее никакой информации об индексах, их селективности и прочих данных, которые обычно оптимизатор использует для построения плана запроса. Ню-ню... Оптимизаторы на каждой из баз могут быть отдельными. Объединять результаты запросов можно и без индексов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 11:52 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
koriskОптимизаторы на каждой из баз могут быть отдельными. Объединять результаты запросов можно и без индексов. То бишь голимый merge или hash join и никогда - inner loop. С последующей сортировкой если задан order by. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 14:03 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, т.е. вы уверены, что описываемая конструкция врядли может быть реализована. Спасибо за мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 16:38 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
koriskDimitry Sibiryakov, т.е. вы уверены, что описываемая конструкция врядли может быть реализована. Спасибо за мнение. Она 100% может быть реализована. только придется попотеть реализовывая. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 19:05 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
koriskSergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY О это полезно, спасибо. Ggg_oldу всех приличных субд есть возможность линковаться к объектам других субд как к локальным и выполнять по ним запросы. Запросы эти будут роутится соответсвенно к ужаленным субд. Из вышеприведенных вами субд у оракла точно есть такой механизм, про остальные не знаю Я имел в виду независимое приложение не имеющее собственного хранилища, но способное оперировать SQL(pl/SQL) запросами и перенаправлять запросы к базам данных. Например, virtuoso это умеет, и достаточно хорош. Но она небесплатная. Из бесплатных не знаю, кто это может. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 19:09 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
MasterZiv, а ведь есть ещё BDE? помните?! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 10:13 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
korisk, не поверишь, ключевые слова "google heterogenous query". А в принципе: 1) нужен абсолютно независимый инструмент или есть всё таки какая-то среда разработки/сопровождения, в которую неплохо бы вписаться? например, а не подойдёт ли решения а-ля Delphi + набор компонент, поддерживающий гетерогенные запросы (AnyDAC, к примеру, чтобы не тыкать в закаменевшего идола BDE...)? 3) насколько сложные запросы (у разных инструментов разные возможности по оптимизации)? 4) запросы нужно выполнять "онлайн" или подойдёт промежуточная загрузка данных (например, ETL)? 5) есть ограничения по стоимости решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 10:32 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
korisk<...>Идеи, ключевые слова?<...>Федеративные системы или мультибазы, например . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 11:11 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
SergSuperесли в MSSQL - то просто, ключевое слово OPENQUERY В MSSQL еще лучше использовать ключевые слова "linked server"... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 12:11 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
АнатоЛой, по стоимости ограничения есть - желательно бесплатно :) С параметрами пока не определилось - просто прощупываю почву, можно ли такое реализовать. Пока остановился на dblink (Postgres) и ( ODBC ) BDE это уж слишком :D. servit, про мультибазы не слышал, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 19:05 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
koriskАнатоЛой, по стоимости ограничения есть - желательно бесплатно :) С параметрами пока не определилось - просто прощупываю почву, можно ли такое реализовать. Пока остановился на dblink (Postgres) и ( ODBC ) BDE это уж слишком :D. servit, про мультибазы не слышал, спасибо. А если бы не "закаменолость" BDE во времени, он бы вас устроил по своим "давно стабилизироваавшимся" возможностям? И нет ничего постоянного в мире, это относится и к цене, а особенно к её форме: Инфо 1) "Local SQL" в AnyDAC появился не так давно (v.6.0.1, лето 2012) ; Инфо 2) насколько я понимаю, реализация под ваши нужды потребует программирования с использованием Delphi, C++Builder или FreePascal - или написания утилит в этих же средах; Вариант: предложите автору взамен за стоимость лицензий утилиту, которую вы напишите - вдруг это вариант ему подходит? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 19:53 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
АнатоЛой, мм я не знаком с возможностями BDE, просто прочел что она windows-based. Такое решение меня не интересует. Но за информацию спасибо. Паскалем я тоже не пользуюсь :). В целом решение найдено, тему можно закрыть. Всем большое спасибо за советы, идеи и ключевые слова :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2012, 21:24 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Первое решение, которое приходит на ум - поставить в центре какую-нибудь express версию коммерческой субд, в которой есть database link, завести в нее все линки и гонять запросы оттуда. С джойнами таблиц из разных источников конечно беда будет, равно как и с прочими ограничениями, которые будут накладывать гетерогенные линки. Второе решение - посмотреть в сторону ETL / DI систем, мне даже кажется что я видел что-то наподобии информатики в опенсорсе, которая даже SQL интерфейс предоставляла ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 00:19 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Вспомнил, 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, а выбор варианта джойна оставить приложению в центре. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 00:37 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
GallagherЕще был Pentaho Kettle Gallagher, спасибо, мне тоже напомнил про приличную вещь. korisk, +1 к Pentaho Kettle. И инструмент пошире, чем просто требуемый SQL по задаче - так что может пригодиться ещё где-нибудь :). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 09:44 |
|
Гетерогенный SQL шардинг
|
|||
---|---|---|---|
#18+
Есть еще у Oracle вот такая штука Oracle Data Service Integrator - не путать с Oracle Data Integrator. Oracle Data Service Integrato - это в девичестве BEA AquaLogic Data Services Platform. Вот только скорость всех этих танцев будет ужасная, если источники данных используются совместно. Все же базы умеют делать всякие Join гораздо быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 23:18 |
|
|
start [/forum/topic.php?fid=35&msg=37986885&tid=1552513]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 138ms |
0 / 0 |