Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: OXDBA
Дата сообщения: 13.03.2013 10:08

Цитата:
Если уж так серьезно думать об репликации, тогда лучше GUID вместо генератора.

До тех пор пока не встанет вопрос о том, с какого филиала пришла реплика.

Цитата:
Иначе все кончается таблицами соответствия ключей: в базе-клоне ключ такой

А чем разнесение по диапазонам не угодило?
Автор: miwa
Дата сообщения: 13.03.2013 11:48

Цитата:
До тех пор пока не встанет вопрос о том, с какого филиала пришла реплика.

А для этого есть поля "идентификатор филиала" и "идентификатор базы данных".


Цитата:
А чем разнесение по диапазонам не угодило?

Тоже вполне себе решения. Человек просто перед этим предлагал один генератор на все, вот я и встрял и GUID-ом.
Автор: Granmer
Дата сообщения: 13.03.2013 15:00
Не нашел ничего по шифрованию трафика между клиентским приложением и СУБД Firebird. Есть ли такие встроенные возможности? Про VPN и прочее в курсе, хотелось бы без них обойтись.
Автор: OXDBA
Дата сообщения: 13.03.2013 15:01

Цитата:
А для этого есть поля "идентификатор филиала" и "идентификатор базы данных".

И к чему тогда GUID? Составной PK по двум полям и вперед.

Цитата:
Человек просто перед этим предлагал один генератор на все

Как раз в этом случае проще использовать смещение генераторов, а не ломать существующую базу. А вот при разработке структуры новой БД возможны варианты, в том числе и GUID.

Добавлено:

Цитата:
Не нашел ничего по шифрованию трафика между клиентским приложением и СУБД Firebird. Есть ли такие встроенные возможности? Про VPN и прочее в курсе, хотелось бы без них обойтись.

Сейчас нет, в FB 3.0 обещали
Автор: YuriyRR
Дата сообщения: 13.03.2013 16:53
Granmer

Цитата:
Не нашел ничего по шифрованию трафика между клиентским приложением и СУБД Firebird. Есть ли такие встроенные возможности? Про VPN и прочее в курсе, хотелось бы без них обойтись


Что такое ZeBeDee?

ZeBeDee это программа, которая обеспечивает шифрованный и сжатый "туннель" для данных TCP или UDP, передаваемых между двумя системами. ZeBeDee работает как на Windows, так и на Linux, бесплатна для коммерческого использования, и распространяется в соответствии с лицензией GNU.

Установка ZeBeDee проста: за несколько минут можно подсоединить сервер Firebird к интернету, причем соединения будут зажифрованы и сжаты.
Автор: miwa
Дата сообщения: 13.03.2013 21:22
OXDBA

Цитата:
И к чему тогда GUID? Составной PK по двум полям и вперед.


Цитата:
А вот при разработке структуры новой БД возможны варианты, в том числе и GUID.


Ну об чем и речь. Куда составной ПК, а куда и GUID - от задачи зависит, от предпочтений разработчика. Лично я, кстати, GUID не стал бы использовать при наличии альтернатив - (big)int привычней

YuriyRR
Да вроде человек о встроенных средствах спрашивал. Кроме того, не знаю как там у вас в Москве на Linux, но вот у нас в Росии в Debian в репозиториях его нет.
Автор: delover
Дата сообщения: 13.03.2013 23:03
YuriyRR
Я за гуиды кого нибудь побью точно...

Про этот форуи уже жалуюсь
http://www.sql.ru/forum/actualpost.aspx

Меня бордажнули - пароль 4321qwer посмотрите на клаве. За русиш слежу. Ник уже на двух сайтах - не пускают. Я как появился - так камень в горле. Для меня уже чмошный сайт - ник попытаюсь удалить чтоб не спамили.

Добавлено:
DВобщем форум подставный, но не постоянно. Извините я лох - туда не сунусь - Тем мужики в почёте, а я извините мужчина.
Автор: miwa
Дата сообщения: 14.03.2013 05:05
delover
А что в GUID-ах плохого-то?
Автор: delover
Дата сообщения: 14.03.2013 06:54
miwa
Ничего
>Если уж так серьезно думать об репликации, тогда лучше GUID вместо генератора.
Просто показалось что с издёвкой сказано, далее по теме понял что не так. Мы недавно разговаривали про GUID и про то что GUID это 8 байт а не строка!!!!!!! Это очень важно 8 байт идеал для 64 бит. Жаль пока в FB этого не вижу.

Про SQL.RU. Я сейчас нахожусь на работе выспавшийся и точно не пьяный. Набирал вчера пароль4321qwer 5 раз без набора цифр и ещё 5 с набором. Либо это тот же способ выяснить другие мои пароли либо я чем то насолил. Сегодня думаю что это первое - получение доступа к моим личным данным. Так что плевать мне на их лицензию.
Автор: exteris
Дата сообщения: 14.03.2013 08:20

Цитата:
Это очень важно 8 байт идеал для 64 бит.

GUID это всё таки 16 байт.


Цитата:
Жаль пока в FB этого не вижу.


Код: CREATE OR ALTER TRIGGER GEN_GUID FOR T
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
new.guid=gen_uuid();
END
Автор: delover
Дата сообщения: 14.03.2013 08:20
Сейчас пытаюсь понять что значит
value exceeds the range for valid timestamps

У меня сохранёнка на их же базе выполняется 4 секунды. У них на всех компах 2 минуты 40 секунд. И один раз вывалилась
value exceeds the range for valid timestamps

Стоит доктор веб, но вроде он безобидный.

Добавлено:
exteris
Сори давно уже смотрел дамп, да действительно 16, сори за косяк, но 16 тоже удобно.


Добавлено:
Сори нашол
CHAR(16) CHARACTER SET OCTETS

Добавлено:
exteris
Я хотел бы узнать на сервере -

Код: [no]
function IndexForGuidDataSortCompare(Item1, Item2: Integer): Integer;
...
Result := CompareStr[0]( <<<<<<-----------????
vArray.DataByCell[N, Item1],
vArray.DataByCell[N, Item2]);
...
if Item1 > Item2 then
Result := 1 else
if Item1 < Item2 then
Result := -1 else
Result := 0;
end;
end;
[/no]
Автор: delover
Дата сообщения: 14.03.2013 11:41

Цитата:
У меня сохранёнка на их же базе выполняется 4 секунды.

Выяснили причину - я такое впервые вижу. Был индекс на Name его переделали в Upper(name). Так вот - выборка с сортировкой по имени делается 3 минуты, а индекс создавался 3 секунды, то есть сортировка проходит махом, а перемещение записей в памяти этого сервака работает жутко медленно. После создания индекса запрос работает 11 секунд. да и могу быть не прав, если данные берутся прямо с диска.

Добавлено:
Надо программу тестилку написать которая делает select безиндексно с сортировкой и засеч время. А вторая кнопка создаёт индекс делает тот же селект и дробает индекс и засечь время.
Автор: miwa
Дата сообщения: 14.03.2013 13:51
delover

Цитата:
Про SQL.RU. Я сейчас нахожусь на работе выспавшийся и точно не пьяный. Набирал вчера пароль4321qwer 5 раз без набора цифр и ещё 5 с набором.

У них вчера сервак дико лагал. Я вообще зайти не мог. Думаю, проблема в этом.


Цитата:
Как строки гуид CompareStr или как Int128?

Как число. Если нужна строка - есть функция uuid_to_char.
Автор: delover
Дата сообщения: 14.03.2013 14:54
miwa

Цитата:
У них вчера сервак дико лагал.

О как, тогда придётся мне извиниться и взять свои слова обратно.


Цитата:
Как число.

Очень рад. Есть в жизни приятная инфа.
Автор: miwa
Дата сообщения: 14.03.2013 15:15
delover

Цитата:
Надо программу тестилку написать которая делает select безиндексно с сортировкой и засеч время. А вторая кнопка создаёт индекс делает тот же селект и дробает индекс и засечь время.

Не заметил сперва это предложение.

А зачем индексы дропать, жалко же

Вот так индекс задействуется

Код:
SELECT * FROM YOURTABLE where YOURFIELD = 'somevalue';
Автор: delover
Дата сообщения: 14.03.2013 17:58
miwa

Цитата:
А зачем индексы дропать, жалко же

Ну можно деактивировать и всегда создавать новый, не суть


Цитата:
А в этих случаях - нет

Ну хотя для or индекс не нужен, для orderby пригодился бы, но както туманно как это выяснить.

Кстати помоему так тоже не используется

Код:
SELECT * FROM YOURTABLE
where YOURFIELD = 'somevalue' or YOURFIELD = 'somevalue'
Автор: miwa
Дата сообщения: 14.03.2013 19:58
delover

Цитата:
Я общался с тем кто утверждал что если бы индекс использовался то на области первого условия всё бы вычислилось сразу, а на втором условии было бы сравнение

Ваш собеседник, возможно, хороший спец в своей области, но официальному ФАКу я склонен доверять больше.
Автор: YuriyRR
Дата сообщения: 15.03.2013 01:48
Админы заблокируйте уже этих флудерастов.
Автор: miwa
Дата сообщения: 15.03.2013 01:57
YuriyRR
Какие из моих постов являются флудом?
Автор: delover
Дата сообщения: 15.03.2013 07:34
YuriyRR
Вместо понтов иногда неплохо включить мозг, помогает.

miwa
Спасибо за ссылку, изучаю.

Добавлено:
YuriyRR
Если человек может создать временный индекс и сделать сортированную выборку за 11 секунд, то и сервер может это. Вместо этого сервер сортирует 3 минуты потом отдаёт. Вам не кажется что так ведёт себя сервер из вредности? Цыфры не придуманные, а фактические, видел собственными глазами вместе с тестировщицей которая работает с клиентами и у неё программка с часиками и миллисекундами. Соотношение скорости 16.363636363636363636363636363636, количество записей в таблице чуть больше 50 тысячь, выборка из одной таблицы.

Добавлено:
Пришла тестировщица. Теперь точные цыфры - время до создания индекса 2 минуты 46 секунд, после 11 секунд, время на создание индекса примерно 3 секунды - я досчитал до трёх. 2*60+46/(11+3)=11.857. Можно ускорить в 12 раз.
Автор: delover
Дата сообщения: 15.03.2013 22:29
А что флудерастим? 2 поста за то чтоб не дробать индекс. Фи
Автор: ZIPKs
Дата сообщения: 18.03.2013 08:32
Доброго времени суток! Пожалуйста проконсультируйте в следующем: была создана база под IB на win32bit, потом использовали базу с FB 2.0 на win32bit. Сейчас установлена на win64bit, сообветственно FB для 64bit. НЕ получается В связи с тем, что изначально база была создана IB, имеет расширение *.gdb. сейчас ругается при попытке поключения на использование библиотек. Не совсем пойму в чем дело, "ткните пальцем".

Текст ошибки: Обратите внимание, что вы должны использовать 32-разрядные клиентские библиотеки, даже если вы подключаетесь к 64-разрядной версии Firebird/InterBase потому что IBExpert-это 32-разрядное приложение. В случае, если вы укажите 64-битную версию клиентской библиотеки dll, вместо 32-битной вы можете получить эту ошибку.

ОРигинал:Notice, that you have to use 32-bit client library even if you connect to 64-bit version of Firebird/InterBase because IBExpert is a 32-bit application. In case you specify a 64-bit version of client library dll instead of 32-bit one you can get this error.
Заранее спасибо.
Автор: noisy
Дата сообщения: 18.03.2013 09:39
ZIPKs
Для начала нужно перевести формат базу с версии Interbase на Firebird.
Помжет бэкап/рестор или выгрузка данных в скрипт и создание из скрипта базы под Firebird

К 64-х разрядному серверу подключается 32-х разрядный клиент без проблем,
думаю проблема в том что на машине 64х сервера вы пытаетесь подключится 32х разрядным приложением,
а оно ессно берет библиотеку 64х разрядную.
положите рядом с EXE приложения библиотеку gds32.dll или fbclient.dll от 32х разрядного сервера
Автор: ZIPKs
Дата сообщения: 18.03.2013 09:44
Вся проблема в том, что не могу настроить доступ к базе вообще никак... На предыдущем системном блоке устанавливала Firebird-2.1.3.18185_0_Win32 и без проблем работало все, а сейчас вообще никак, правда тогда была Win 7 32bit, а сейчас Win 7 64bit.
Автор: exteris
Дата сообщения: 18.03.2013 10:24
ZIPKs
Что непонятно Вам в тексте ошибки? IBExpert просит 32-разрядную библиотеку для работы с БД.
Автор: ZIPKs
Дата сообщения: 18.03.2013 10:36
библиотеки использую от 32битного и поэтому не понимаю чего еще он хочет
Автор: miwa
Дата сообщения: 18.03.2013 10:39
ZIPKs

Разрядность ОС, сервера и клиентской библиотеки должны совпадать. А если еще и сделать бекап под старой версией ФБ, а потом рестор под новой, то это сохранит еще несколько миллиардов нервных клеток
Автор: Shaman2
Дата сообщения: 18.03.2013 11:01

Цитата:
Разрядность ОС, сервера и клиентской библиотеки должны совпадать


а разрядность клиента?
Автор: miwa
Дата сообщения: 18.03.2013 11:38
Shaman2


Цитата:
Разрядность ОС, сервера и клиентской библиотеки должны совпадать.



Добавлено:
ZIPKs
Наверное, хочет 64-битную.
Автор: noisy
Дата сообщения: 18.03.2013 19:33
miwa

Цитата:
Разрядность ОС, сервера и клиентской библиотеки должны совпадать.

Не обманывайте форумчан, разрядность не имеет значение.
к 64-битному серверу Firebird легко подключается 32-битная клиентская часть.
и на 64-битной оси, хорошо работает 32-битный сервер Firebird, правда это не совсем красиво, но вполне работоспособно

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.