Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как записать в таблицу БД текст объёмом свыше 2-х мегабайт?


Страницы:   1 2 3 4 5 6 7

dehkanin ©   (2014-02-19 20:15:00) 

1. Какой тип переменной выбрать для поля записи?
2. Если string то  - что указать в поле "size ", чтобы записать текст объёмом свыше 2-х Мб?
Если другой тип - какой?


DVM   (2014-02-19 22:23:00) [101]


> Rouse_ ©   (19.02.14 22:19) [26]


> Бэкапим - для того чтоб найти изменения в первом случае,
>  нам нужно перечитать все 40 гигов - нес па?

Не, не так. Если страница была перезаписана, не важно такими же данными или другими, то это изменившаяся страница и подлежит бэкапу. Никто там ничего не сравнивает. Т.е если залили в базу новый файл вместо старого, то весь файл будет забекаплен, даже если он такой же как старый.

Но ведь при бэкапе файлов в файловой системе абсолютно такая же картина. Только там вместо страниц кластеры.


Rouse_   (2014-02-19 22:19:00) [102]

Дим, ты не понял.
Дано: таблица с 1 записью с блобом в 40 гигов, и альтернатива - ссылка на данные.
Бэкапим - для того чтоб найти изменения в первом случае, нам нужно перечитать все 40 гигов - нес па?


DVM   (2014-02-19 22:19:00) [103]


> Rouse_ ©   (19.02.14 22:15) [24]

В Firebird есть http://www.firebirdsql.org/manual/nbackup-backups.html#nbackup-backups-incrв Oracle есть http://docs.oracle.com/cd/B19306_01/backup.102/b14192/bkup004.htm


DVM   (2014-02-19 22:17:00) [104]


> Rouse_ ©   (19.02.14 22:13) [22]


> Просто тупо время на поиск изменений?

Какой поиск, ты о чем? Данные записываются же не сплошным куском, а порциями - страницами. У каждой страницы есть множество флагов, в том числе связанные с необходимостью помещения в архив и т.д. Эти флаги при изменении страницы и меняются. Остается лишь выбрать страницы с изменениями.


Rouse_   (2014-02-19 22:15:00) [105]


> DVM ©   (19.02.14 22:14) [23]
> Опять ошибаешься.

С Ораклом не работал - могу и ошибаться.


DVM   (2014-02-19 22:14:00) [106]


> Rouse_ ©   (19.02.14 22:09) [20]
> А, ну и до кучи - произвольный доступ к файлу по офсету
> (дозакачка).

Опять ошибаешься. Если пользоваться не дельфийскими компонентами доступа, а напрямую вызывая API сервера (хотя может какие компоненты и предоставляют такую возможность, но влюбом случае можно ее реализовать), то возможно произвольное позиционирование в блобе. И докачка по частям и закачка по частям. А если интегрировать свое расширение (dll ) в сервер, так вообще возможности безграничны. В Firebird это есть.


> Rouse_ ©   (19.02.14 22:09) [21]


> Ты сейчас про фаерберд?

Касательно бекапа в FB не знаю, не делал. В Оракле бекап точно есть Incremental backup.


Rouse_   (2014-02-19 22:13:00) [107]


> DVM ©   (19.02.14 22:08) [18]
>
> > Rouse_ ©   (19.02.14 22:05) [17]
>
> Ошибаешься. Бекап средствами СУБД сохраняет только изменения
> от предыдущей версии

Да хотя в принципе пофигу, ты представляешь себе затраты на сохранении изменений в ссылке на данные, и изменении 10 байт с 40 гигабайтном блобе?
Просто тупо время на поиск изменений?


Rouse_   (2014-02-19 22:09:00) [108]

А, ну и до кучи - произвольный доступ к файлу по офсету (дозакачка).


Rouse_   (2014-02-19 22:09:00) [109]


> DVM ©   (19.02.14 22:08) [18]
> Ошибаешься. Бекап средствами СУБД сохраняет только изменения
> от предыдущей версии

Ты сейчас про фаерберд?


DVM   (2014-02-19 22:08:00) [110]


> Rouse_ ©   (19.02.14 22:05) [17]

Ошибаешься. Бекап средствами СУБД сохраняет только изменения от предыдущей версии, т.е. скорость как минимум такая же как при бэкапе файлов с той же схемой архивирования. Плюс - не надо останавливать сервер СУБД, с файлами же может нарушится целостность, т.к. может получиться, что пока файл бекапился, его удалили из базы или заменили другим, и т.д.


Плохиш   (2014-02-19 22:08:00) [111]


> Критерий выбора видимо был какой-то, в т.ч. удобство работы
> с BLOB, наверное, рассматривалось на первом месте, судя
> по задаче.

Судя по вопросам этих букав в критериях не встречалось ;-)


Rouse_   (2014-02-19 22:05:00) [112]


> Ты вот лучше назови реальные плюсы хранения файлов не в
> базе, а в виде файлов на диске.

Скорость бэкапа


DVM   (2014-02-19 22:02:00) [113]


> Rouse_ ©   (19.02.14 21:57) [15]


> Угу, было такое заблуждение.

Нет тут никакого заблуждения.


> На сколько я помню все остановилось на скорости выборки
> данных при хранении в базе ста фильмов в HD формате.

Причем тут скорость? Кто заставляет выбирать в запросе и вытягивать на клиента BLOB поля содержащие большие объемы данных? Выбирать надо метаинформацию, а по ней тянуть на клиента файл.
Можно подумать копирование на клиента сто фильмов в HD формате быстрая операция.

Ты вот лучше назови реальные плюсы хранения файлов не в базе, а в виде файлов на диске. Я могу назвать недостатки, их много.


Rouse_   (2014-02-19 21:57:00) [114]


> Где то на сайте Firebird есть интервью с разработчиками
> Firebird, где они отвечая на вопрос, можно ли хранить файлы
> в субд, говорят - нужно хранить.

Угу, было такое заблуждение. На сколько я помню все остановилось на скорости выборки данных при хранении в базе ста фильмов в HD формате.


DVM   (2014-02-19 21:47:00) [115]


> dehkanin   (19.02.14 20:15) 
> 1. Какой тип переменной выбрать для поля записи?

BLOB поле.


> brother ©   (19.02.14 21:13) [10]

с файлами будет огромное количество проблем, начиная от синхронизации изменений и заканчивая одновременным доступом к файлу. Профита никакого абсолютно. Т.е АБСОЛЮТНО никакого, одни недостатки.

СУБД абсолютно без разницы какого размер данные кладут в ее поле BLOB. Хоть 100 мегабайт, хоть терабайт. Это все будет также файл на диске, но по другому там размещенный. И в случае файла в БД и в случае файла на файловом сервере доступ и к тому и другому будет осуществлять с примерно одной и той же скоростью, ограниченной скоростью TCP соединения.

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


Rouse_   (2014-02-19 21:42:00) [116]


> dehkanin   (19.02.14 20:50) [4]
> Rouse: А Вы, "батенька",- острячок?

Видимо так и горжусь этим :)
ЗЫ: советую пересмотреть архитектуру хранения, хотя бы на ссылки...


Inovet   (2014-02-19 21:22:00) [117]

> [10] brother ©   (19.02.14 21:13)

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


Smile   (2014-02-19 21:21:00) [118]

Пост закончился на ...
Rouse_ ©   (19.02.14 20:42) [2]
Да Вы, батенька, эстет :)


brother   (2014-02-19 21:13:00) [119]

да и для нормального сис амина это не проблемма, не известно, кто эти фалй будет отображать или что-то сними делать )))))))


brother   (2014-02-19 21:12:00) [120]

> Файлы

папки ли -_-


Страницы:   1 2 3 4 5 6 7

Наверх

Титульная страница Поиск, карта сайта Написать письмо