Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизКак записать в таблицу БД текст объёмом свыше 2-х мегабайт? Найти похожие ветки
← →
Rouse_ © (2014-02-20 11:40) [40]
> Ты изменил бы свое мнение, когда столкнулся бы с системой,
> хранящей миллионы файлов и с которой постоянной работает
> хотя бы десяток человек.
У нас развернута такая система, с ней работает пара сотен тысяч человек, а не десятков. Это собственно сервер обновлений, в котором ежедневно меняется 7-10 файлов размером от 10 до 60 мегов каждый, а всего файлов в районе 900 с копейками + ежемесячно по 10-15 новых добавляется).
Перешли на хранение файлов вне базы именно из-за тормозов.
← →
Ega23 © (2014-02-20 12:16) [41]
> Перешли на хранение файлов вне базы именно из-за тормозов.
Ты уверен, что именно из-за них?
По теме:
В хранении файлов вне СУБД есть только один плюс: скорость полного бэкапа. Дифференцированный бэкап, ЕМНИП, есть не у каждой СУБД.
В остальном это плохо из-за:
1. Отсутствия ссылочной целостности.
2. Отсутствии в разграничении прав доступа.
Практика хранения блобов вне СУБД - чисто историческое явление. Ну когда там всякие ограничения на размер самой БД были. А, ещё поколение MySQL-щиков тоже тут постаралось.
← →
Rouse_ © (2014-02-20 12:17) [42]
> Ты уверен, что именно из-за них?
Угу, можешь у Жеки уточнить в понедельник, он более подробно расскажет.
← →
brother © (2014-02-20 12:28) [43]> неверные ссылки и коллизии между действиями разных пользователей
еще раз - read only
коллизии - обращение нескольких пользователей к одному файлу? если да - не вижу проблемм...
← →
Ega23 © (2014-02-20 12:35) [44]
> еще раз - read only
> коллизии - обращение нескольких пользователей к одному файлу?
рид-онли - это небольшой частный случай.
Фактически, храня файлы вне СУБД, часто приходится изобретать велосипед по реализации поверх них СУБД-шного функционала. Который в СУБД уже реализован.
← →
Jeer © (2014-02-20 15:19) [45]>Перешли на хранение файлов вне базы именно из-за тормозов.
Расчетливые практики давно это поняли и предоставили поле битвы "файлы vs blob-поля" теоретикам, которым тоже надо кушать и которые хотят, чтобы их слушали.
Слушаем, но делаем по-своему.
← →
brother © (2014-02-20 16:27) [46]> но делаем по-своему.
О_о это как? ведь только 2 варианта:
> файлы vs blob-поля
← →
Inovet © (2014-02-20 16:33) [47]> [46] brother © (20.02.14 16:27)
Например, можно файлы не расшаривать, сделать свой протокол передачи, нужных кусков в обоих направлениях с учётом специфики.
← →
DVM © (2014-02-20 16:37) [48]
> Например, можно файлы не расшаривать, сделать свой протокол
> передачи, нужных кусков в обоих направлениях с учётом специфики.
>
Зачем делать протокол, если он уже сделан в сервере СУБД?
Сначала мы будем делать протокол, потом мы будем пытаться разрулить одновременный доступ, потом мы будем заниматься синхронизацией файловой системы с базой, потом...
← →
Inovet © (2014-02-20 16:44) [49]> [48] DVM © (20.02.14 16:37)
> Зачем делать протокол
Раз 1 и 2 варианты не устраивают по каким-то причинам.
← →
Ega23 © (2014-02-20 16:48) [50]
> Расчетливые практики давно это поняли
Это всё хорошо работает только в том случае, когда вся эта байда стоит где-то далеко и пытливые ручки пользователей, а также пытливые ручки наполняльщиков БД не могут дотянуться до этих файлов.
И опять-таки невозможность snapshot-транзакции.
← →
Ega23 © (2014-02-20 16:50) [51]
> Раз 1 и 2 варианты не устраивают по каким-то причинам.
Практика показывает, что в 99% случаев хранение блобов вне СУБД - это либо неправильный выбор самой СУБД, либо блажь в стиле "да я всегда так делал и всё работало".
← →
Rouse_ © (2014-02-20 16:54) [52]
> Ega23 © (20.02.14 16:50) [51]
> Практика показывает, что в 99% случаев хранение блобов вне
> СУБД - это либо неправильный выбор самой СУБД, либо блажь
> в стиле "да я всегда так делал и всё работало".
Хочешь я на тебя задачу по серваку перекину завтра? :)
Чиста для поржать через месяц, когда ты будешь говорить все с точностью наоборот? :)
← →
Ega23 © (2014-02-20 16:57) [53]Когда-то давным давно, когда пни ещё были 133-ми, винты - гигабайтными, а винда - 95-й и стояла параллельно с DOS-ом, понадобилось моему бате под DOS-ом место на диске C. А места-то и не было. Посмотрев, чё каг, он обнаружил огромный файл на 40 метров с расширением swp. И удалил его к лешему. И записал на освободившееся место то, что было нужно.
А потом матерился и говорил что-то про масдай, который ваще негрузицо.
Такая вот история. Это к вопросу ссылочной целостности.
← →
Rouse_ © (2014-02-20 16:59) [54]
> Ega23 © (20.02.14 16:50) [51]
> Практика показывает, что в 99% случаев хранение блобов вне
> СУБД - это либо неправильный выбор самой СУБД, либо блажь
> в стиле
Кстати Легыч, до кучи - знаешь почему у нас багтрекер три дня лежал, да и щас ворочается едва? Все из-за того что ELF аттачи (сами по себе махонькие по 100 кб в среднем) сидят в базе. Жека эксперементировал с этим делом и щас тож думает как их оттуда выцарапать, чтоб базенка не проседала на 200 тыщах дубликатов.
← →
Ega23 © (2014-02-20 17:00) [55]
> Чиста для поржать через месяц, когда ты будешь говорить
> все с точностью наоборот? :)
Ты внимательно [50] прочитал? Не ты ли столько раз говорил про какую-нить бабку, которая сносит userdb потому что "а нафиг оно нужно?".
← →
Ega23 © (2014-02-20 17:02) [56]
> Кстати Легыч, до кучи - знаешь почему у нас багтрекер три
> дня лежал, да и щас ворочается едва? Все из-за того что
> ELF аттачи (сами по себе махонькие по 100 кб в среднем)
> сидят в базе. Жека эксперементировал с этим делом и щас
> тож думает как их оттуда выцарапать, чтоб базенка не проседала
> на 200 тыщах дубликатов.
Так может проблема не в хранении их "где-то-там", а в выборе СУБД и железа под конкретную задачу?
← →
Rouse_ © (2014-02-20 17:03) [57]
> Ega23 © (20.02.14 17:00) [55]
> Ты внимательно [50] прочитал? Не ты ли столько раз говорил
> про какую-нить бабку, которая сносит userdb потому что "а
> нафиг оно нужно?".
Прочитал и че? У нас сервер ГС от пятерки который хранит данные в куче поддерживаемых форматов баз, как фаерберд, MSSQL, так и ораклы всякие и че там еще впихнуть можно.
Угадай, сколько тикетов в багтрекере из-за того что базы убитые стали?
А как думаешь кто убил? А воть такие-же специалисты, которые SWP файл грохают, а потом матерятся и задают вопросы о ссылочной целостности :))))
← →
DVM © (2014-02-20 17:06) [58]
> Rouse_ © (20.02.14 16:59) [54]
> Все из-за того что ELF аттачи (сами по себе махонькие по
> 100 кб в среднем) сидят в базе.
Все из-за неправильного запроса где нибудь. Да будь там хоть триллион терабайтных аттачей, это мало сказывается на производительности, если их не пытаться где нибудь явно или косвенно вытянуть в запросе.
← →
Rouse_ © (2014-02-20 17:08) [59]
> DVM © (20.02.14 17:06) [58]
> Все из-за неправильного запроса где нибудь.
Мошт и так, но это уже к Жеке, он их саппорт достаточно сильно напрягает и они вроде все оперативно правят. Мошт и с этим разберутся, а пока что ситуация выглядит так, как я ее описал.
← →
Ega23 © (2014-02-20 17:13) [60]
> А как думаешь кто убил? А воть такие-же специалисты, которые
> SWP файл грохают, а потом матерятся и задают вопросы о ссылочной
> целостности :))))
Представь себе на секундочку, что наш ImageList на 300 с лишним иконок сидит не в датамодуле, а каждая иконка лежит рядом с exe-шником отдельным файлом.
Сколько в течении недели позвонят в суппорт с претензией "у меня иконки слетели, программа не работает"?
← →
sniknik © (2014-02-20 17:17) [61]> где нибудь явно или косвенно вытянуть в запросе.
запросы с * используют например... и тянутся не нужные "файлы" на клиента.
← →
Rouse_ © (2014-02-20 17:18) [62]
> Ega23 © (20.02.14 17:13) [60]
Ты лезешь в крайности, но впрочем... представь что они сидят в базе - вопрос будет такой-же.
← →
Ega23 © (2014-02-20 17:38) [63]
> представь что они сидят в базе - вопрос будет такой-же.
А как ты в базу просто так залезешь?
← →
Rouse_ © (2014-02-20 18:02) [64]
> Ega23 © (20.02.14 17:38) [63]
> А как ты в базу просто так залезешь?
А она перестала быть файлом на диске?
← →
dehkanin (2014-02-20 18:12) [65]Ни фига себе чего Вы понаписали!
Я правильно понял, что лучше хранить в blob?
В принципе я так и делал, но кто-то меня раскритиковал и я засумлевался.
А string, WideString, AnsiString, Memo?
← →
Rouse_ © (2014-02-20 18:17) [66]
> dehkanin (20.02.14 18:12) [65]
> Ни фига себе чего Вы понаписали!
> Я правильно понял, что лучше хранить в blob?
Мнения скажем так, разделились.
Часть апологетов за блоб, а остальные за хранение во внешнем файле :)
← →
clickmaker © (2014-02-20 18:28) [67]> А string, WideString, AnsiString
а с ними-то какие сложности?
← →
dehkanin (2014-02-20 18:37) [68]А разве они потянут объем 2 мб?
Кажется не получится.
← →
dehkanin (2014-02-20 18:38) [69]Имея ввиду хранение в таблице?
← →
clickmaker © (2014-02-20 18:39) [70]> А разве они потянут объем 2 мб?
почему не потянут? строка на 32-бит системе может быть до 2 гигов
← →
dehkanin (2014-02-20 18:41) [71]А как это можно сделать? Применительно к таблице?
← →
dehkanin (2014-02-20 18:42) [72]Я -не представляю как!
← →
dehkanin (2014-02-20 18:44) [73]Вот есть, например, файл .rtf около 2 мб.
Как его записать в строкой, как Вы говорите и впихнуть в таблицу?
← →
Inovet © (2014-02-20 18:48) [74]> [73] dehkanin (20.02.14 18:44)
Ты про таблицу здесь не спрашивал, ты спросил про типы в Делфи
> [65] dehkanin (20.02.14 18:12)
> А string, WideString, AnsiString, Memo?
← →
clickmaker © (2014-02-20 18:49) [75]> и впихнуть в таблицу?
в поле типа Blob или как оно там называется в Absolute Database, какие проблемы?
← →
Ega23 © (2014-02-20 19:22) [76]
> А она перестала быть файлом на диске?
Да, но это 1 файл. А не 100500 маленьких.
Лан, завтра за стаканом поспорим :))
← →
Rouse_ © (2014-02-20 19:24) [77]
> Ega23 © (20.02.14 19:22) [76]
> Лан, завтра за стаканом поспорим :))
Приходи с деньгами, я люблю дорогой коньяк :)
← →
Ega23 © (2014-02-20 19:38) [78]Да-да. И Дима сидит с Gtool и 30 тыщ файлов в блобах. И материалов ещё 200 тыщ. А в базе - ссылки.
← →
Rouse_ © (2014-02-20 19:43) [79]
> Ega23 © (20.02.14 19:38) [78]
> Да-да. И Дима сидит с Gtool и 30 тыщ файлов в блобах. И
> материалов ещё 200 тыщ. А в базе - ссылки.
Кстати об этом...
Тебе не кажется что только запуск вот этой всей штуки, которой ты перечислил и сам реализовал, у Димы занимает около пяти-семи минут? :)
← →
Rouse_ © (2014-02-20 19:44) [80]
> Тебе не кажется
Блин, * Тебе не кажется - что это слишком дохрена времени? :)
Страницы: 1 2 3 4 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.053 c