powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FireBird 3 выборка и Блоб
25 сообщений из 45, страница 1 из 2
FireBird 3 выборка и Блоб
    #39034996
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Подскажите такой вопрос: в FB 2.5 блоб не вытягивается сразу с данными выборки, а отдельным запросом. Что-нибудь в этом плане изменилось в FB 3 ?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035004
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich,

логически он и дне должен "сразу". как вы это себе представляете? чем char/varchar от blob отличается, знаете?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035012
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
"В отличие от всех других полей, данные BLOB поля не хранятся непосредственно в записи таблицы. В записи таблицы хранится лишь идентификатор BLOB (BLOB_ID), а само тело BLOB хранится на отдельных страницах базы данных и доступ к ним осуществляется специальными функциями IB API"

http://www.devrace.com/ru/fibplus/articles/2261.php
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035013
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Zholnerovich!
You wrote on 24 августа 2015 г. 16:58:24:

Zholnerovichwww.devrace.comнадпись на заборе.
к тому же не совсем корректна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035017
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich,

почти так. Ну а вы предлагаете блобы прямо в запись запихивать? 1-10-100 мб, или гиг? Блобы относятся ко "вторичной" информации. И не потому что так хранятся. А потому, что по сути они представляют собой хранилище для вторичных данных - картинок, документов, видео, музыки, сканов, и проч. Вся эта лабуда в записи при выборке не нужна.
Клиентские компоненты - да, могут вам прямо в грид вытаскивать тонны этих блобов, специально чтобы у вас сетевой трафик был повыше, и чтобы ваше приложение потребляло побольше памяти :-) Ну, чтобы тормозило, по серьезному.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035018
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий, ну пусть даже и надпись на заборе, если у Вас есть отсылка на официальные источники по этому вопросу, то киньте ссылку
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035023
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich,

если блоб влезает на страницу данных - он хранится на этой странице. не влезает - хранится на отдельной (или отдельных) страницах.

я никак не пойму, вы чего хотите? Осчастливить пользователей Firebird запихиванием блобов в запись?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035025
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv, я не предлагаю ничего никуда запихивать, просто интересуюсь, так ли это на самом деле и не будет ли каких изменений с этим в ФБ3
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035035
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich просто интересуюсь, так ли это на самом деле и не будет ли каких изменений с этим в ФБ3
да, чтобы вытащить блоб из записи надо сделать вызов api. компоненты это делают для вас относительно прозрачно.
Возникает вопрос, чем это вас не устраивает, что вы захотели изменений. В ФБ 3 с блобами все так же.
Или вы считаете, что у разработчиков Фб возникла идея хранить мегабайты блобов прямо в записях, чтобы не надо было делать "вызов API"? я вот как-то логики в вашем вопросе не улавливаю.

Это типа как спросить - "Firebird выдает данные из БД только в ответ на SQL-запрос. Будет-ли это изменено в ФБ3"?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035048
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovichтак ли это на самом деле и не будет ли каких изменений с этим в ФБ3

Это так и никаких изменений не будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035054
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich,

я понимаю если бы ты спросил "есть улучшения в сетевом протоколе при работе с BLOB?".
Может ты это и имел ввиду?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035072
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисМожет ты это и имел ввиду?
Пофиг. Ответ тот же: ничего не изменилось. CORE-3424 по-прежнему открыт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035073
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, я хочу просто минимизировать сетевой трафик, но при этом не увеличивать количество запросов к БД. Постараюсь поподробней описать ситуацию: при загрузке программы запрашивается таблица с данными (в основном integer, string), но есть там блоб поле с дополнительной информацией. И если попытаться сразу вытягивать информацию из блоба то получится дополнительный трафик (а таблица довольно большая). Поэтому рассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо. Есть ли варианты как это можно оптимизировать? И что в этом плане предвидится в FB 3 так как планируется переход
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035075
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovichЕсть ли варианты как это можно оптимизировать?
Есть: не запрашивать данные при старте программы, а делать это по необходимости.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035077
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Zholnerovich!
You wrote on 24 августа 2015 г. 17:49:36:

Zholnerovich> вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД
это не запросы.
это вызовы API по мере необходимости.
если конечно библиотека доступа не наделена нечеловеческим н'тылэктом
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035086
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

знаю. Но так вопрос бы выглядел логичней. По крайней мере там есть что улучшать и это возможно сделают, но не то, что просит автор.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035088
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovichрассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо.
блоб всегда вытягивается отдельными запросами к api. Если блоб вытягивать отдельным sql-запросом, получится в 3 приема, а не в 2. Но по сравнению с размером блоба, скорее всего эта разница ни о чем.
Ваши компоненты либо вытягивают блоб сразу, либо потом, когда вы сами к нему обращаетесь.
Так что "не есть хорошо" у вас что сразу, что потом. Потом - лучше, чем сразу. Потому что сразу нельзя понять, что нужно. А вот потом - очень даже можно выбрать только то, что нужно.

zholnerovichИ что в этом плане предвидится в FB 3 так как планируется переход
уже ведь сказали: в этом плане - ничего. Вы-то что хотите предвидеть, я не пойму? Какие-то полунамеки, мутные вопросы.
Можно было ведь сразу написать
- какие компоненты используются?
- сколько записей в этой "таблице с данными" считывается при старте программы?
- какого размера блобы хранятся в этой таблице
- когда этой программе нужны эти блобы, и в каком количестве - все сразу, конкретный блоб, или?

тут даже если вы сами на эти вопросы ответите, то вам станет ясно, что делать.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035091
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если я не ошибаюсь одно улучшение при работе с блобами в FB3 есть. Их вроде можно тягать теперь более большими кусками.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035106
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИх вроде можно тягать теперь более большими кусками.
Использование нового API, возможно, уменьшает количество вызовов, но не количество
раунд-трипов. CORE-4245 тоже ещё открыт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035201
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zholnerovichСимонов Денис, я хочу просто минимизировать сетевой трафик, но при этом не увеличивать количество запросов к БД. Постараюсь поподробней описать ситуацию: при загрузке программы запрашивается таблица с данными (в основном integer, string), но есть там блоб поле с дополнительной информацией. И если попытаться сразу вытягивать информацию из блоба то получится дополнительный трафик (а таблица довольно большая). Поэтому рассматривается вариант вытягивать данные из блоба по мере надобности в процессе работы программы, но это дополнительные запросы к БД, что тоже не есть хорошо. Есть ли варианты как это можно оптимизировать? И что в этом плане предвидится в FB 3 так как планируется переход
Можно написать UDF или UDR-функцию, передать туда запрос + параметры, на выходе получить результат в xml или в вашем собственном формате, одним блобом. Возможно даже можно написать так, что будет быстрей работать даже если в запросе нет блобов.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035207
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

одним блобом всё можно получить и без UDR. Не о том речь.

И таки предлагать написать UDR ТСу... Сам то пробовал написать? Успешно?
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035235
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисодним блобом всё можно получить и без UDR.Как?

Симонов ДенисИ таки предлагать написать UDR ТСу...Мы тут все программисты, более-менее.
Я могу написать UDF с таким функционалом. И даже точно напишу, если это будет оплачено:
Работы мне на 2-3 часа. Стоимость - 10000 (с исходниками на Delphi - 15000). Обращайтесь, кому прям очень нужно :)
Контакты тут: 17683328
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035269
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb userКак?

есть такая агрегатная функция LIST

fb user,

не надо тут себя рекламировать. UDF тут могут написать почти все.

Я тебя конкретно спрашивал про UDR (внешние функции/процедуры/триггеры) которые ты упомянул. Пишутся они совершенно иначе. Хоть одну скомпилировал?

Лично я пробовал два раза хотя бы скомпилировать примеры. И пока не очень удачно. Ибо почему-то, то что содержится в include не достаточно и приходится тащить чуть ли не половину исходников FB. Не знаю может сейчас это и поправлено. Попробую ещё раз как время будет.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035398
sysdba22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Раздулась дискуссия из-за неверной формулировки. Изначальный вопрос был такой:

Бывают ситуации, когда данные надо хранить в бинарном потоке, в БЛОБ поле.

Бывают ситуации, когда надо сразу подгрузить на клиента несколько десятков или даже сотен записей с таким полем.

Вопрос был:

Нет ли в ФБ 3.0 флага в параметрах запроса, или в типе поля, который бы сообщил ему, что вот это БЛОБ поле
надо сразу вытащить и передать на клиента вместе со всеми данными. Чтобы потом не приходилось по сети,
по одному дергать такие поля.

На сетях с гигабитным ethernet проблем нет особых, но, когда у клиента удаленный склад подключен
через VPN канал, который идет по инет соединению через ADSL модем и латентность сети высокая, то
частые, но мелкие, обращения к серверу уже создают определенный дискомфорт.

Ответ:

на сегодняшний день такой возможности нет.
...
Рейтинг: 0 / 0
FireBird 3 выборка и Блоб
    #39035449
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdba22Нет ли в ФБ 3.0 флага в параметрах запроса, или в типе поля, который бы
сообщил ему, что вот это БЛОБ поле надо сразу вытащить и передать на клиента вместе со
всеми данными.
А как ты вообще такой флаг себе представляешь? С точностью до заполнения XSQLVAR и
выделения буферов под содержимое.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FireBird 3 выборка и Блоб
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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