169 похожих чатов

Думаю, для большинства СУБД соединение - это host(:port), а внутри

него уже можно иметь разные права на разные dbname

а у FB к идентификатору соединения, видимо, привязывается ещё dbname ?

24 ответов

49 просмотров

Для FB не так. Законнектиться к просто серверу - нельзя, можно только сразу к базе.

Iluha-Companets Автор вопроса
Iluha Companets
ага, так и понял, поправил мессагу

Ну тогда еще протокол забыл :) Тоже бывает нужно указать.

Iluha-Companets Автор вопроса
Владимир Аксенов
Для FB не так. Законнектиться к просто серверу - н...

и зачем же вы его пользуете такого? ))) какие у него плюсы есть по сравнению с PG, например (если вам MySQL не по нраву) ?

Iluha Companets
и зачем же вы его пользуете такого? ))) какие у не...

1. Ни разу не было проблемы от того что в FB нет коннекта к собственно серверу. Просто особенности архитектуры. 2. Я лет 30 назад начал с IB4.2.1, потом IB6.0, Yaffil, Firebird. Мозг заточен под особенности Firebird, довольно большое кол-во процедур, триггеров. Если бы начинал сейчас с нуля - то может быть смотрел бы в сторону PosgreSQL, но в те времена он был в зачаточном состоянии. А сейчас переезжать с одного сервера на другой нет никакого ни экономического ни практического смысла. 3. Но наши питонисты используют постресс.

Iluha Companets
и зачем же вы его пользуете такого? ))) какие у не...

У Firebird есть концепция В одном коннекте может быть N транзакций В транзакции может быть N запросов. Все это работает одновременно. Вспоминаю начало работы с Interbase через BDE где ничего этого не поддерживалось, и какие проблемы создавало, и когда я перешел на компоненты доступа где это поддерживалось - это просто счастье. Насколько я в курсе, далеко не в каждом сервере такое есть, и как там работать после FB - х.з.

Iluha-Companets Автор вопроса
Владимир Аксенов
У Firebird есть концепция В одном коннекте может б...

хм, зачем N транзакций? я вот вообще ими не пользуюсь )

Владимир Аксенов
У Firebird есть концепция В одном коннекте может б...

BDE... В dbExpress классную подставку сделали. В dbx3 была поддержка множественные транзакций. А в dbx4 её тихо убрали. Там сделали только вложенные транзакции, и завершение ранней транзакции тихо убивает все транзакции-дети. ...но интерфейс оставили как было. Типо якобы множественные транзакции бывают. Чтобы компиляции не ломалась. Пусть потом а рантайме все ломается, так веселее...

Iluha Companets
и зачем же вы его пользуете такого? ))) какие у не...

Потому что в PG нет контроля целостности метаданных. Можно запросто грохнуть в таблице столбец, а потом окажется что у тебя половину хранимых функций/процедур перестали работать. Да и язык хранимой логики не красивый. В ФБ он может местами более ограничен, зато логичный и удобный

Iluha-Companets Автор вопроса
Denis Simonov
Потому что в PG нет контроля целостности метаданны...

нет предела совершенству защиты от дурака )

Iluha Companets
нет предела совершенству защиты от дурака )

Это невозможно, начнёшь запрещать ddl, он тебе данные обнулит 😁

Если БД расположены на одном и том же физическом сервере, и сильно связаны, то возникает вопрос а посему это разные БД. Вот чего действительно жаль. что Firebird не имеет схем, потому что если встречается вышеописанное. то это скорее схемы в одной и той же БД, чем разные БД

Iluha-Companets Автор вопроса
Denis Simonov
Если БД расположены на одном и том же физическом с...

"сильно" - это не по-инженерски ) просто есть связь, какая разница почему и зачем? БД могут реплицироваться из разных мест, но структура идентичная... а может быть разное ПО делает разные БД, но логически они связаны какими-то ключами через НСИ...

Iluha Companets
"сильно" - это не по-инженерски ) просто есть свя...

это как раз по инженерски. Проектировщик всегда должен думать нужно ли ему размещать данные в нескольких БД или лучше одной. И заметь тут речь не о репликации, поэтому про одинаковую структуру тут мимо. Я к тому что если есть задача из одной БД часто обращаться в другую, то что-то здесь не так. И не надо мне заливать про то что это умеет кто-то там. Так как они это умеют, даже если и удобней чем ФБ, то работает крайне не эффективно. А из ФБ я тоже могу подключиться хоть в MSSQL, хоть в PG. но только с помощью ODBCEngine плагина, который писал для IBSurgeon

Denis Simonov
Если БД расположены на одном и том же физическом с...

Тут наверное вопрос, есть ли принципиальнгая связь между межпоточным и межпроцессным взаимодействием. Судя по Firebird Classic - нет. Теперь добавляем автоматическое распараллеливание запроса по ядрам, которое в MS SQL есть. Получаем, что даже простейший запрос select count(*) с точки зрения кода сервера - межпроцессное взаимодействие. Проверка транзакций, слияние потоков данных и вот это всё - всегда пишутся под многопроцесс. Ну а если оно уже так так, то почему бы бонусом не добавить потоки данных из другой БД, которую обслуживает тот же инстанс сервера? технически-то разницы с автоматическим распараллеливанием внутри одной БД уже почти и нет.

Iluha-Companets Автор вопроса
Denis Simonov
это как раз по инженерски. Проектировщик всегда до...

моя твоя не понимай ) БД развиваются, заранее определить как они будут использоваться - невозможно. разные БД нужны например для безопасности, есть оперативная БД, которая "есть всегда", есть статистическая, которая мож быть а может и нет, и софт для статистики пишется другим отделом и не тестируется так тщательно, как оперативный

Arioch The
Тут наверное вопрос, есть ли принципиальнгая связь...

Извини, но это чушь полнейшая. Межпроцессное взаимодействие в классике через общую память и так есть для много чего, начиная от мониторинга, заканчивая менеджера блокировок. Так что причина не в этом. Как я уже сказал в большинстве баз данных есть схемы, и многие их путают с базами данных. В том же оракуле интансе это аналог нашей БД, схему можно создать с полпинка, новый инстансе нет.

Iluha-Companets Автор вопроса
Iluha Companets
моя твоя не понимай ) БД развиваются, заранее опр...

Чего тут понимать. Если нужно раз в минуту сползать в другую БД за данными, то это не сильная связь. А вот когда начинают там всяческие JOIN городить, да и интенсивность по 1000 обращений в соседнюю БД в секунду. Значит БД уже не должны быть разными, если они находятся на одном сервере.

Iluha-Companets Автор вопроса
Denis Simonov
Чего тут понимать. Если нужно раз в минуту сползат...

ну вот так и пиши - 1000, а не "сильно" такого рода связь, конечно, должна быть внутри одной БД

Iluha Companets
если что, в MySQL create schema == create database...

это их половые трудности. В ФБ это тоже синонимы, потому что настоящих схем нет. MySQL как обычно клал на стандарт и делает свои костыли

Iluha-Companets Автор вопроса
Denis Simonov
Извини, но это чушь полнейшая. Межпроцессное взаим...

схема - это насколько понимаю namespace с правами доступа, что-то слегка подобное в fb3 как package я в данном случае говорил именно про доступ к БД лежащих в других файлах и возможно обслуживаемое другой копией того же сервера. Почему это обязано быть неэффективным? В том же MySQL каждая таблица - отдельные файл, и ничего, нитко не говорит что это разные БД. Просто надо разделять доступ через ODBC-подобные абстракции, где у нас получается черный ящик с 2D-матрицей на выходе, считай как с DBF джойнить, и доступ к БД родного для сервера формата, просто лежащей в другом файле. При условии, что у меня рядыщком лежат 1.fdb и 2.fdb и открываются они одним инстансом fbserver - почему джойн между БД обязан быть менее эффективным, чем джойн внутри одно БД?

Iluha Companets
моя твоя не понимай ) БД развиваются, заранее опр...

Это к теме не относится. Для бд есть 2 крайности: 'Умная' и нагруженная свойствами аппсервера. И упрщенное до безобразия хранилище DTO. Остальное в разной степени между ними. Часто идут на сознательный отказ от возможностей СУБД. Н-р кэшируя справочники и расшифровывая их на клиенте. Микросервисов опять-таки.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта