|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Делаю тут приложение для собственных нужд. В нём будет средних размеров БД на FireBird (выбрал его, потому что с ним есть хоть какой опыт). В приложении нужно будет хранить некий набор двоичных данных (примерное количество - пара сотен тысяч записей) размером от пары килобайт до пары мегабайт (по факту - документы с картинками). Разумеется не только их, но с остальными вопросов не возникает. Все эти данные требуется хранить в одной таблице, и тут возник вопрос: как оптимальнее их туда складывать - напрямую данные в BLOB поля таблицы или в таблице хранить только все остальные параметры и имя файла, а сами файлы - в отдельной папке/папках на диске? Как будет правильнее с точки зрения производительности базы данных? Повлияет ли большая таблица с BLOBами на скорость работы всей базы в целом или только на эту таблицу? P.S: Доступ к этим записям (и файлам) в 99% времени будет только на чтение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 10:17 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvp, Блобы вычитываются отдельно, поэтому в общем и целом - на производительность не повлиет. А хранить в отдельной папке - это лишний повод для ошибок - удалили из папки - оставили запись в БД. И наоборот. Со всеми вытекающими. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 10:22 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
DarkMasteralekcvp, Блобы вычитываются отдельно, поэтому в общем и целом - на производительность не повлиет. Ясно-понятно, спасибо. DarkMasterА хранить в отдельной папке - это лишний повод для ошибок - удалили из папки - оставили запись в БД. И наоборот. Со всеми вытекающими.Решаемо, если это цена скорость работы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 10:36 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvp> данные в BLOB поля таблицы или в таблице хранить только alekcvp> все остальные параметры и имя файла, а сами файлы - ... на диске? Этому флейму сто лет в обед. Храни в БД, не парься. alekcvp> Повлияет ли большая таблица с BLOBами на скорость alekcvp> работы всей базы в целом или только на эту таблицу? Считай, что ни на БД, ни даже на таблицу не повлияет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 11:52 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvp, сейчас вот аналогичным занимаюсь В общем в меру своих знаний для меня решающим было то что при хранении в базе можно без всяких заморочек достать содержимое (иначе ну насколько я понимаю, или расшаривать папки, или UDF, или еще что-то) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:10 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
У меня вопрос по этой же теме. Чтобы не плодить темы - хочу задать его тут: Планирую в БЛОБе хранить сканы поданых документов: заявления, справки и т.п. Какой размер страницы для БД лучше всего взять. Сканы будут храниться не в основной БД, а в отдельной, но по привязки ИД ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:10 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrush, если для хранения сканов хочется разместить их в отдельную БД, то возникает логический вопрос, а на хрена тогда вообще БД, проще в расшаренной папке хранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:14 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvpнужно будет хранить некий набор двоичных данных (примерное количество - пара сотен тысяч записей) размером от пары килобайт до пары мегабайт (по факту - документы с картинками)типовая БД одна штука с типовым размером странички 16 кб, все это запихнуть в блобы, размер все едино не космический, если не выпендриваться, сервер вполне себе сдюжит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:22 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Симонов Денисakrush, если для хранения сканов хочется разместить их в отдельную БД, то возникает логический вопрос, а на хрена тогда вообще БД, проще в расшаренной папке хранить. Есть несколько причин: 1. При каждом обращении человек подает новое заявление и справки. Если хранить в папке - пользователя практически не реально заставить хранить информацию или в структуре или правильно называя файл. 2. Нет прямого доступа к персональным данным на сканах. Понятно что опытный пользователь откроет БД и посмотрит, но таких на 220 коиентов 1-3% 3. При 50тыс. заявителях - это либо дополнительно 50тыс. папок по номерам заявлений и внутри папки по номерам подачи разных заявлений, либо вообще все в одной папке. А это, даже при 5 обращениях+3 документа, 50000*5*3=750 000 файлов/папок. Не думаю что операционка себя будет комфортно чувствовать. Да и поиск в таком количестве усложняется, даже программный поиск. Готов выслушать (прочитать) возражения. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:32 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
m7mдля меня решающим было то что при хранении в базе можно без всяких заморочек достать содержимое Количество инструментов, которыми можно достать файл из папки, значительно превосходит количество инструментов, которыми можно достать файл из блоба, так что лично я не уверен где больше заморочек. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 12:51 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrushПланирую в БЛОБе хранить сканы поданых документов: заявления, справки и т.п. Какой размер страницы для БД лучше всего взять. 8к или 16к. К слову, про один из вопросов автора топика. Блобы в одной и той же таблице с остальными данными - в ФБ 2.5 лучше не хранить. Блобы будут "разреживать" данные, данные будут читаться медленее, чем могли бы (больше страниц, чем без блобов). Так что в 2.5 лучше блобы хранить в отдельной таблице, связанной с основной как 1:1 - в ФБ 3 пофиг, блобы можно валить в таблицу. Потому что в формате 3 есть primary и secondary pages. Блобы и прочее хранятся на secondary, записи - в основном на primary. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 13:29 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrush3. При 50тыс. заявителях - это либо дополнительно 50тыс. папок по номерам заявлений и внутри папки по номерам подачи разных заявлений, либо вообще все в одной папке. А это, даже при 5 обращениях+3 документа, 50000*5*3=750 000 файлов/папок. Не думаю что операционка себя будет комфортно чувствовать.Насколько мне изменяет склероз, операционка (Windows Server 2003) совершенно нормально чувствует себя при ~11 миллионах файлов в иерархии каталогов. Это по опыту позапрошлой работы, где проблемой было объём дисков (до полутерабайта), но никак не количество файлов. Даже если оставить в покое сервера, то "вот это" - Windows 7 x64 SP1+ (один из "развесистых" каталогов): Код: plaintext 1. 2. 3.
И, по опыту всё той же позапрошлой работы, могу сказать, что первый вариантом был как раз "блобы в базе". Сдохло, ибо: 1. Требуется больше места, чем на диске; 2. Сильно дороже по ресурсам. Вторым вариантом был "свалим все файлы в одном каталоге". Сдохло ибо сканирование ~65000 файлов в одном каталоге - (сравнительно) очень медленно. Третьим вариантом было хранение в иерархии каталогов. Вполне нормально, хотя реализация была далеко не идеальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:19 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Я такую задачу не решал, но как подумаю о бекапе базы с большим количеством картинок... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 15:18 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Шавлюк ЕвгенийЯ такую задачу не решал, но как подумаю о бекапе базы с большим количеством картинок... А как бэкап зависит от картинок? 2Гб база с картинками будет бэкапиться медленнее, чем 2Гб база с текстами? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 19:24 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Нет, он про то, что чем "бэкапить/ресторить" 1Тб БД гораздо удобнее иметь 10Гб БД + 990Гб папку с файлами (и место на бэкапы сэкономить, ибо последние вообще можно реже хранить - не ежедневные срезы). Но в твоём случае по озвученным цифрам бояться особо нечего. Если ты туда весь каталог фильмов не хочешь запихать, конечно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 20:27 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrush> Какой размер страницы для БД лучше всего взять. Максимальный из имеющихся (т.е. 16К в 2.5). И не забыть писать их тоже большими кусками (например, 4096). Какую библиотеку доступа используешь, FIBPlus ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 20:37 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамСчитай, что ни на БД, ни даже на таблицу не повлияет.Ну вообще бывает, что влияет. И на скорость выборок, и на скорость сборки мусора, и на скорость бэкапов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 01:28 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Шавлюк ЕвгенийЯ такую задачу не решал, но как подумаю о бекапе базы с большим количеством картинок... По опыту - бэкап папки с полмиллионом маленьких картинок - еще сложнее. В операционке файлы одной папки лежат в плоском неиндексированном списке, и тормозит по этой причине очень хорошо. Такие вещи что бы скопировать - приходится сначала закинуть в архив, хоть бы и без сжатия, главное что бы файл получился один вместо полмиллиона. Его копируешь куда надо и там уже разворачиваешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 03:39 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
fraksПо опыту - бэкап папки с полмиллионом маленьких картинок - еще сложнее.Нормальные люди не хранят полляма файлов в одном каталоге. Правда, как показывает мой опыт, некоторым разработчикам требуется две попытки, чтобы сделать общеизвестные вещи.
Чтобы перенести ~600Гб "разновсякого бутора" со старого диска на новый я, таки, воспользовался потоковым вариантом (утилита, использующая Backup API), но вот архиву и в этой схеме места не нашлось. По результату могу сказать, что скорость копирования примерно соответствовала скорости линейного чтения/записи дисков. Не на сто процентов, конечно, но без каких-либо катострофических проседаний. Полумиллиона совсем мелких файлов у меня, конечно, не было, но те же полляма с разбросом размеров от единиц-десятков килобайт до единиц-десятков мегабайт - были. Естественно, не в одном каталоге, а во вполне развесистой иерархии. В общем, если у вас или очень медленная среда передачи (100МБит и менее) или очень быстрые диски (200МБайт/с и более), то использование потокового сжатия позволит сэкономить время на передачу. Отдельно подчеркну, что в нормальном сценарии, время чтения/записи сэкономлено быть не может. Вариант "делаем архив на том/раздел архивируемых данных" из нормальных сценариев бэкапа - исключаем. Ну вот в реальной жизни такое быть может, но нормальным положением вещей считаться не может. Ну и файловые системы, у которых нет индекса для записей каталога это какой-то оксюморрон. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 05:38 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovfraksПо опыту - бэкап папки с полмиллионом маленьких картинок - еще сложнее.Нормальные люди не хранят полляма файлов в одном каталоге. Набралось со временем :) Это картинки товаров к справочнику товаров. Сейчас это занимает примерно 3,5 гига. Закачивание этих файликов поштучно через ftp на другой комп занимает немеряно времени. Закачивание всего этого в одном файле архива, без сжатия - вполне адекватное. В проводнике скопировать такую папку - тоже не дождешься. В консоли - не помню, но там непонятно сколько прошло и сколько осталось ждать у моря погоды. С некоторых пор я использую для этого FreeFileSync. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 06:25 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
fraksНабралось со временем :)И это время ничему не учит ... Ну не нужно никому "realname" файла в служебном каталоге. Взяли монотонно растущий идентификатор из базы, преобразовали в строку, дополнили ведущими нулями до девяти цифр, взяли две первые группы по три цифры и получили чёткую балансировку по каталогам и предельно однозначную идентификацию местонахождения файла. Совершенно несложным способом эта схема расширяется на вариант "у нас много точек хранения", если (когда) вам потребуется разнести хранилище по нескольким физическим томам. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 06:40 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovm7mдля меня решающим было то что при хранении в базе можно без всяких заморочек достать содержимое Количество инструментов, которыми можно достать файл из папки, значительно превосходит количество инструментов, которыми можно достать файл из блоба, так что лично я не уверен где больше заморочек. Процитирую себя полностью и выделю ключевую фразу m7mВ общем в меру своих знаний для меня решающим было то что при хранении в базе можно без всяких заморочек достать содержимоеи таки для меня легче достать из блоба ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 07:04 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Как сделать так что бы бэкап базы и бэкап папки не расходились? Например: Делаю бэкап базы, затем или одновременно делаю бэкап папки при этом пользователь удаляет/добавляет/меняет данные и файлы в бэкап папки могут не попасть те файлы которые удалились и попадут которые добавились ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 07:51 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovfraksНабралось со временем :)И это время ничему не учит ... Ну не нужно никому "realname" файла в служебном каталоге. Взяли монотонно растущий идентификатор из базы, преобразовали в строку, дополнили ведущими нулями до девяти цифр, взяли две первые группы по три цифры и получили чёткую балансировку по каталогам и предельно однозначную идентификацию местонахождения файла. Совершенно несложным способом эта схема расширяется на вариант "у нас много точек хранения", если (когда) вам потребуется разнести хранилище по нескольким физическим томам. Имя файла у меня сейчас - ID товара в базе. Нулями не добиваю. Переделать как бы можно, но есть несколько НО. Этой папкой-первоисточником пользуются еще несколько программ, которые уже не мной написаны. Их тоже придется переделывать. Так же она зеркалируется в инет-магазин и просто в инет, и на эти картинки делаются ссылки в прайсе. Изменим систему хранения - отвалится старое. Вот такая селяви. Если по твоим словам, в файловой системе каталоги индексируются, то при большом количестве файлов в папке проблема в основном одна - клиентские программы типа проводника очень хреново с ними работают. Ну и пофиг. Туда через проводник лазить незачем. Для копирования и синхронизации есть "более другие" (с) средства. Живем дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 08:04 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Конечно, тем кто начинает разрабатывать систему где потенциально может быть много файлов - лучше заранее продумать ситуацию с многими файлами. Вспоминаются грабли когда я "сэкономил" и под ID справочника контрагентов отвел smallint. И под справочник авторов отвел диапазон в 10000 кодов. И то и другое довольно быстро уперлось в потолок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 08:07 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Да, FIBPlus Но ввиду безвременной кончины оного задумываюсь о переходе на FireDAC Тут многие говорят - хранить отдельно, в файлах. Можете в нескольких словах описать принцип. Хочется так чтобы у простого пользователя не было доступа к хранилищу. Понятно что если хранить файлы на диске, значит в БД хранится ссылка на файл. Но подскажите как можно лучше всего структурировать хранилище. Условия возьмем те же (чуть-чуть изменив): 75тыс. клиентов, 3 обращения по 5 сканов Просто я пока ума не приложу как лучше. Создавать по отдельной папке на клиента - 75тыс. папок. не будут ли операции с файлами подвисать при входе в эту папку. Если нет - то тогда решение есть: 1. На каждого клиента по папке по его уникальному номеру 2. Внутри папки по обращениям 3. в папке обращения сканы. Осталось только понять как сохранять картинки так чтобы пользователь не имел доступа к папке хранилища. Распределение доступа, увы не предлагать, т.к. у многих клиентов БД сеть настроена без домена. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 08:54 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
fraksКонечно, тем кто начинает разрабатывать систему где потенциально может быть много файлов - лучше заранее продумать ситуацию с многими файлами. Вспоминаются грабли когда я "сэкономил" и под ID справочника контрагентов отвел smallint. И под справочник авторов отвел диапазон в 10000 кодов. И то и другое довольно быстро уперлось в потолок. Я обычно BigInt под ID отвожу, если нет других требований. ИМХО не то место, где имеет смысл экономить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 10:04 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrushПросто я пока ума не приложу как лучше. Создавать по отдельной папке на клиента - 75тыс. папок. не будут ли операции с файлами подвисать при входе в эту папку. Если нет - то тогда решение есть: 1. На каждого клиента по папке по его уникальному номеру 2. Внутри папки по обращениям 3. в папке обращения сканы. Тут выше уже приводили, на мой взгляд, удобное решение с хранением файлов по ID и разделение на папки по классам. akrushОсталось только понять как сохранять картинки так чтобы пользователь не имел доступа к папке хранилища. Распределение доступа, увы не предлагать, т.к. у многих клиентов БД сеть настроена без домена.Ну в моём случае трёхзвенка будет, так что с точки зрения клиента - без разницы как будут хранится документы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 10:07 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovВзяли монотонно растущий идентификатор из базы, преобразовали в строку, дополнили ведущими нулями до девяти цифр, взяли две первые группы по три цифры и получили чёткую балансировку по каталогам и предельно однозначную идентификацию местонахождения файла. Совершенно несложным способом эта схема расширяется на вариант "у нас много точек хранения", если (когда) вам потребуется разнести хранилище по нескольким физическим томам.Это хороший пример. Но ничто не мешает таким же способом хранить блобы в нескольких внешних БД. Их можно независимо бекапить. Их можно раскидать по разным серверам, при необходимости. Так что... нет единого решения для всех. И это хорошо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 10:19 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
RiniumДелаю бэкап базы, затем или одновременно делаю бэкап папки при этом пользователь удаляет/добавляет/меняет данные и файлы в бэкап папки могут не попасть те файлы которые удалились и попадут которые добавилисьУдаление должно быть логическим, с отдельной процедурой очистки, которая исполняется вместе с регламентными процедурами. Изменений быть не должно: логическое удаление и создание нового файла. Таким образом, если в хранилище добавляется новый файл, то он получает новый идентификатор. Логика использования этого идентификатора в базе - отдельная тема, которая никак не связана с организацией файлового хранилища. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 11:36 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrushСимонов Денисakrush, если для хранения сканов хочется разместить их в отдельную БД, то возникает логический вопрос, а на хрена тогда вообще БД, проще в расшаренной папке хранить. Есть несколько причин: 1. При каждом обращении человек подает новое заявление и справки. Если хранить в папке - пользователя практически не реально заставить хранить информацию или в структуре или правильно называя файл. 2. Нет прямого доступа к персональным данным на сканах. Понятно что опытный пользователь откроет БД и посмотрит, но таких на 220 коиентов 1-3% 3. При 50тыс. заявителях - это либо дополнительно 50тыс. папок по номерам заявлений и внутри папки по номерам подачи разных заявлений, либо вообще все в одной папке. А это, даже при 5 обращениях+3 документа, 50000*5*3=750 000 файлов/папок. Не думаю что операционка себя будет комфортно чувствовать. Да и поиск в таком количестве усложняется, даже программный поиск. Готов выслушать (прочитать) возражения. :) а чего это юзеры столько всего решают, а не вы? и название файлам таки можно же дать самому, а юзерам алиас отдавать Basil A. SidorovИ, по опыту всё той же позапрошлой работы, могу сказать, что первый вариантом был как раз "блобы в базе". Сдохло, ибо: 1. Требуется больше места, чем на диске; 2. Сильно дороже по ресурсам. Вторым вариантом был "свалим все файлы в одном каталоге". Сдохло ибо сканирование ~65000 файлов в одном каталоге - (сравнительно) очень медленно. Третьим вариантом было хранение в иерархии каталогов. Вполне нормально, хотя реализация была далеко не идеальной. о5 25 ( если вы сложите всё в одну папку, ОНО УМРЁТ. Потому что МУХ всё содержимое каталога СКАНИРУЕТ каждый раз, когда туда идёт запрос. Поэтому не кладите 50000 файлов в один каталог , это я вам как админ говорю. Каталоги != таблицы, в них нельзя хранить триллионы строк! А вот если вы сложите свои файлы так: /in/di/vi/individual.php то у вас всё будет летать даже при миллионах файлов, ибо каждый слот даёт 26 букв + 10 цифр, итого 36 ** 6 = 2176782336 (кол-во дир, НЕ файлов! В каждой штук по 500 файлов себя вполне нормально чувствовать будут) главное цифрами названия не делать, а то из-за ограничения int там на 1-2 будет сильно больше, чем на остальных alekcvpВсе эти данные требуется хранить в одной таблице, и тут возник вопрос: как оптимальнее их туда складывать - напрямую данные в BLOB поля таблицы или в таблице хранить только все остальные параметры и имя файла, а сами файлы - в отдельной папке/папках на диске? Как будет правильнее с точки зрения производительности базы данных? Повлияет ли большая таблица с BLOBами на скорость работы всей базы в целом или только на эту таблицу? P.S: Доступ к этим записям (и файлам) в 99% времени будет только на чтение. ну вот пару мыслей на этот счёт: авторfacebook оптимизировали свой сервис после возросшей нагрузки: Кеширование более часто используемых миниатюр изображений в памяти на оригинальных серверах для масштабируемости, надежности и производительности Распределение их по CDN для уменьшения сетевых задержек Возможно сделать еще лучше: Хранение изображений в больших бинарных файлах (blob) Сервис, отвечающий за фотографии имеет информацию о том, в каком файле и с каким отступом от начала расположена каждая фотография (по ее идентификатору) Этот сервис в Facebook называется Haystack и он оказался в 10 раз эффективнее «простого» подхода и в 3 раза эффективнее «оптимизированного» и: ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 11:50 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvpakrushПросто я пока ума не приложу как лучше. Создавать по отдельной папке на клиента - 75тыс. папок. не будут ли операции с файлами подвисать при входе в эту папку. Если нет - то тогда решение есть: 1. На каждого клиента по папке по его уникальному номеру 2. Внутри папки по обращениям 3. в папке обращения сканы. Тут выше уже приводили, на мой взгляд, удобное решение с хранением файлов по ID и разделение на папки по классам. нельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальных ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 11:52 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78нельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальныхКто сказал, что нужно распределять файлы по папкам "в лоб" ? Простейший способ - рассматривать двоичное представление ID, начиная с младших бит (а не со старших) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 12:00 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78МУХ всё содержимое каталога СКАНИРУЕТ каждый раз Это в FAT/FAT32 где директории - простой несортированный массив В других системах это деревья http://spider.seds.org/spider/OS2/HPFS/dirs.html http://ext2.sourceforge.net/2005-ols/paper-html/node3.html ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 12:16 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальных content-addressed storage обычно на хэшах делается а хэши распределяются равномерно ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 12:18 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Ariochtip78МУХ всё содержимое каталога СКАНИРУЕТ каждый раз Это в FAT/FAT32 где директории - простой несортированный массив В других системах это деревья http://spider.seds.org/spider/OS2/HPFS/dirs.html http://ext2.sourceforge.net/2005-ols/paper-html/node3.html да хоть кусты, суть не в названии, а в ресурсах. На линухе это всё так же прекрасно виснет и падает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 12:58 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Эта... Надо бы отличать запросы на открытие одного конкретного файла и на сканирование списка файлов... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:05 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78нельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальныхВы, мопвашуять, когда думать научитесь??? Когда число преобразуется в строку, строку эту надо дополнять ведущими нулями до заданной длины. У п(р)ограммиста такие вещи вообще должны быть на уровне условного рефлекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:25 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, ну будет у него в начале нулей больше, чем единиц он же не про это, а про равномерность распределения "элементов" по "корзинам" если он будет как в примере рубить по две буквы А вот если вы сложите свои файлы так: /in/di/vi/individual.php то тогда миллионы файлов "00000000.txt" .... "00999999.txt" все лягут в корзину 00/* и никто не ляжет в 01/, 02/ и т.д. tip78На линухе это всё так же прекрасно виснет и падает. Вот реально смотря что и как и с чем делается. Тот же третий ReiserFS был известен именно оптимизацией для работы с директориями, в которых много мелких файлов. Для сборки программ из исходников например. Конечно, если обращение к конкретному файлу по заранее известному пути и имени делается полным перебором всех файлов на диске - тогда все ляжет конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:32 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
AriochВ других системах это деревьяПоскольку, как я уже отмечал, второй вариант файлового хранилища реальной системы был "все файлы в один каталог", то могу совершенно определённо заявить, что даже 65000 файлов в каталоге NTFS-диска - "байтораздирающее зрелище". В целом, оно, конечно, и не такое сдюжит, но делать так не надо. P.S. "Специально подготовленный" SP1 для Windows 7 x64 - 100738 файлов и 16004 каталога (не считая вложенны). Открывается такой каталог около пяти секунд в 64-разрядном TotalComander-е. "Могу обоснованно предположить", что при конкурентном доступе всё станет сильно грустнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:33 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЭта... Надо бы отличать запросы на открытие одного конкретного файла и на сканирование списка файлов... на некоторых ФС - проще всего вспомнить FAT - разницы реально нет. Потому что там записи о файлах лежат несортированным списком. Если заранее в памяти метаинформация этого файла не закэширована - то файловая система будет o(n/2) вычитывать всё содержимое директории, пока не наткнётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:35 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovОткрывается такой каталог около пяти секунд в 64-разрядном TotalComander-е. Здраствуйте, я ваша тётя. В данном случае происходит 1) чтение информации ОБО ВСЕХ файлах в каталоге 2) загрузка дополнительной информации о КАЖДОМ файле из сторонних источников - files.bbs, descript.ion, COM Shell Extensions, WDX-плагины 3) загрузка всей этой фигни в Windows Common Controls ListView И где-то внутри этого нетривиального процесса всё тормозит. Если уж реально хочется протестировать, сделай одну папку на 100738 файлов. Отдельно сделай список на 100 или тысячу названий файлов. И сделай скрипт/программу, которая по этому списку (и только по нему) будет открывать файлы (а не каталоги!!!) и читать из каждого первый килобайт. Перезагрузи компьютер (чтобы сбросить кэш диска в ОЗУ) и запусти. PS. кстати, NTFS насколько помню по интеллектуальности метода хранения файловых записей в общем-то от HPFS вернулась на полшага назад к FAT. Так что, возможно, это не лучший пример. Но уверять не буду, давно читал и только праздного интереса ради. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:42 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Arioch1) чтение информации ОБО ВСЕХ файлах в каталоге 2) загрузка дополнительной информации о КАЖДОМ файле из сторонних источников - files.bbs, descript.ion, COM Shell Extensions, WDX-плагины 3) загрузка всей этой фигни в Windows Common Controls ListView 4) для файлов ещё и иконки считываются грузятся, либо из самого файла, либо из другого, ассоциированного через реестр. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:43 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Ariochну будет у него в начале нулей больше, чем единицВы когда научитесь целиком читать??? Минимально разумный уровень вложения - два каталога от базового. В этом случае миллиард файлов распределятся по иерархии, где в каждом каталоге будет не более тысячи объектов . Просто в каждом каталоге верхнего уровня будет не более тысячи (вложенных) каталогов , а в каждом каталоге второго уровня - не более тысячи файлов . Схема, блин, незатейливая как редис и простая как грабли, но, блин, мы всё равно найдём ветряных мельниц, с которыми можно побороться. P.S. Можно конвертировать число в шестнадцатиричную строку, тогда всё теже девять символов позволят сохранять до 65 миллиардов файлов. Можно для каждого файла сохранить расширение, если хочется. Просто для того, чтобы быстро понимать где архив, где pdf, а где - doc какой-бынить. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:43 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Напоминаю исходный тезис. Откуда вообще разговор про "нули" вылез. Basil A. Sidorovнельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальныхВы, мопвашуять, когда думать научитесь??? Когда число преобразуется в строку, строку эту надо дополнять ведущими нулями до заданной длины. дополнение нулями было предложено (и мною обсуждалось) как лекарство от заявленного перекоса "файлов с 1-2 в начале будет сильно больше" и только в этом контексте не про тысячи и миллиарды, а только и исключительно про равномерное или неравномерное распределение всё ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:47 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Ariochне про тысячи и миллиарды, а только и исключительно про равномерное или неравномерное распределениеОбъясните, каким образом в предложенной мною схеме может возникнуть значимая неравномерность? Если, конечно, исключить патологический случай, когда мы случайным образом теряем девяносто процентов идентификаторов монотонной последовательности. P.S. Пофигу общее количество файлов - для балансировки существенно, чтобы ни в одном каталоге не было "слишком много объектов". Предельное количество файлов определяет лишь глубину дерева хранения. Два, максимум, три уровня закрывают любые потребности, включая самые запредельные. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 13:54 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, оттуда же, откуда у tip78 в 21354526 ВК - верхнего уровня корзина tip78 B.A.S. ВК по tip78 ВК по B.A.S.1.txt 00000001.txt 1 002.txt 00000002.txt 2 003.txt 00000003.txt 3 004.txt 00000004.txt 4 005.txt 00000005.txt 5 00.....11.txt 00000011.txt 1 0012.txt 00000012.txt 1 0013.txt 00000013.txt 1 0014.txt 00000014.txt 1 0015.txt 00000015.txt 1 00..... Будет ли неравномерность проблемой или нет - вопрос отдельный. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:11 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovОбъясните, каким образом в предложенной мною схеме может возникнуть значимая неравномерность? Если, конечно, исключить патологический случай, когда мы случайным образом теряем девяносто процентов идентификаторов монотонной последовательности. ну в hex int = 7FFFFFFF т.е половина (8-F) будет в меньшинстве ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:13 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
AriochBasil A. Sidorov, оттуда же, откуда у tip78 в 21354526 ВК - верхнего уровня корзина tip78 B.A.S. ВК по tip78 ВК по B.A.S.1.txt 00000001.txt 1 002.txt 00000002.txt 2 003.txt 00000003.txt 3 004.txt 00000004.txt 4 005.txt 00000005.txt 5 00.....11.txt 00000011.txt 1 0012.txt 00000012.txt 1 0013.txt 00000013.txt 1 0014.txt 00000014.txt 1 0015.txt 00000015.txt 1 00..... Будет ли неравномерность проблемой или нет - вопрос отдельный. эта тема с каталогами не для файлов 1.txt, а 127627334.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:16 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78, Просто идентификатор файла для распределения по папкам не должен быть необработанным счетчиком в текстовом виде 21354188 21354256 ЕСЛИ вообще распределение по папкам будет реально нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:16 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78эта тема с каталогами не для файлов 1.txt, а 127627334.txt вот как раз в случае 127627334.txt перед ним будут 99627334.txt и 98627334.txt и 97627334.txt а до того будут 9927334.txt , 9827334.txt , 9727334.txt а до того будут 997334.txt , 987334.txt , 977334.txt но все равно не надо рубить на части счетчик, или если уж рубить - то справа, а не слева ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:19 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
а вы минималку в генераторе поставьте на 1000000 и будет счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:45 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Ariochtip78файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальных content-addressed storage обычно на хэшах делается а хэши распределяются равномерно чё за хеши то? эти: 7fffffff ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 14:46 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Ariochоттуда же, откуда у tip78А подумать? Если ведущих нулей много, то файлов мало. Мало файлов размещаются в малом числе каталогов. P.S. Ещё раз повторю: задача балансировки ограничить количество объектов в отдельно взятом каталоге. Задачу построения "красивого" дерева каталогов не требуется решать вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 16:24 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78Ariochпропущено... Это в FAT/FAT32 где директории - простой несортированный массив В других системах это деревья http://spider.seds.org/spider/OS2/HPFS/dirs.html http://ext2.sourceforge.net/2005-ols/paper-html/node3.html да хоть кусты, суть не в названии, а в ресурсах. На линухе это всё так же прекрасно виснет и падает. Мои поллимона файлов (в трех папках) лежат на самбовой шаре на линухе. Ничего не виснет и не падает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 16:54 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78alekcvpпропущено... Тут выше уже приводили, на мой взгляд, удобное решение с хранением файлов по ID и разделение на папки по классам. нельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальных А можно развернуть эту мысль поподробнее? А то не понял про ограничение и что такое 1-2 Кроме того вопрос кажется стоял не в равномерном распределении файлов по папкам а об ограничении максимального количества в одной папке. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 16:56 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
akrush... Условия возьмем те же (чуть-чуть изменив): 75тыс. клиентов, 3 обращения по 5 сканов Просто я пока ума не приложу как лучше. Создавать по отдельной папке на клиента - 75тыс. папок. не будут ли операции с файлами подвисать при входе в эту папку... Ты хоть все файлы один каталог можешь свалить, без разницы (были ограничения на число корневых элементов тома, да и то кажись лишь для FAT*). Ну, и если ты "короткие" (8.3) имена использовать не станешь. Ничего "подвисать" не будет, да и нет такого понятия "при входе в эту папку". Да, всякие там эксплореры-проводники могут подписать, но ведь ты не собираешься ими пользоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 17:11 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78ну вот пару мыслей на этот счёт: авторfacebook оптимизировали свой сервис после возросшей нагрузки: Кеширование более часто используемых миниатюр изображений в памяти на оригинальных серверах для масштабируемости, надежности и производительности Распределение их по CDN для уменьшения сетевых задержек Возможно сделать еще лучше: Хранение изображений в больших бинарных файлах (blob) Сервис, отвечающий за фотографии имеет информацию о том, в каком файле и с каким отступом от начала расположена каждая фотография (по ее идентификатору) Этот сервис в Facebook называется Haystack и он оказался в 10 раз эффективнее «простого» подхода и в 3 раза эффективнее «оптимизированного» у меня почему то отложилось, что они вообще отказались от файловой системы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 18:26 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Как добиться консистентности данных в базе и в папке с файлами если их более 100 гб Начался бэкап в базе транзакция зафиксирована, а как с этим в файловой системе например (windows 2008r2, 2012, 2016) сколько займет времени копирование файлов без сторонних приблуд ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2018, 22:18 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
frakstip78пропущено... нельзя их по ID хранить, потому что из-за ограничения на int, файлов с 1-2 в начале будет сильно больше (~5 раз), чем всех остальных А можно развернуть эту мысль поподробнее? А то не понял про ограничение и что такое 1-2 Кроме того вопрос кажется стоял не в равномерном распределении файлов по папкам а об ограничении максимального количества в одной папке. равномерное распределение само-собой подразумевается иначе какой в этом всём смысл, если все файлы всё-равно окажутся в одной папке ограничение 2147483647 для рандома означает, что на цифры 1-2 приходятся миллиарды вариантов, а на все остальные - сотни миллионов т.е. помимо 1-999 миллионов у 1-2 есть ещё дополнительные 1-999 миллионов а у 3-9-0 - нет ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 00:19 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
ну точнее у двойки меньше, там ещё ограничение опять же ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 00:20 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78, В UInt32 помещается FFFFFFFF значений. Бьём по папкам: '0', '1', '2', '3', внутри каждой из этих папок еще два уровня вложенности от '000' до '3FF', а в последнем - файлы с именами так же от '000' до '3FF'. В итоге мы запихиваем 4 лярда файлов в папки 3х уровней вложенности, с максимум 1024 элементов в одной папке. При этом по ID файла сразу вычисляется путь. Если взять 4 уровня вложенности, то там вообще будет максимум 256 элементов и элементарное вычисление пути. Пример: для файла с ID 28C5E1A3 путь будет 0\28C\178\1A3, а для D56BA781 - 3\156\2E9\381. Ещё раз: задача не распределить файлы по папкам равномерно , задача - ограничить количество файлов в папках. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 01:08 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
На самом деле я вообще туплю: D56BA781 бьётся на 3 уровня вложенности безо всяких извращений как D5(1)\6B(2)\A8(3)\81(файл) - всё. Мы можем хранить 4 с лишним миллиарда файлов, при этом не складывая более 256 штук в одну папку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 01:15 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Что ж вы такие трудные-то ... Файлы: Код: plaintext 1. 2.
будут размещены как: Код: plaintext 1. 2.
В двухуровневой иерархии, при ограничении до тысячи объектов на каталог, можно разместить до миллиарда файлов (десятичное основание). При использовании шестнадцатиричной системы будет до 4096 объектов на каталог и более 65 миллиардов файлов во всё той же двухуровневой иерархии. Всё же тривиально (даже) в уме считается ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 01:23 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Basil A. SidorovЧто ж вы такие трудные-то ... Спёр в блокнотик ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 02:20 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvptip78, В UInt32 помещается FFFFFFFF значений. Бьём по папкам: '0', '1', '2', '3', внутри каждой из этих папок еще два уровня вложенности от '000' до '3FF', а в последнем - файлы с именами так же от '000' до '3FF'. В итоге мы запихиваем 4 лярда файлов в папки 3х уровней вложенности, с максимум 1024 элементов в одной папке. При этом по ID файла сразу вычисляется путь. Если взять 4 уровня вложенности, то там вообще будет максимум 256 элементов и элементарное вычисление пути. Пример: для файла с ID 28C5E1A3 путь будет 0\28C\178\1A3, а для D56BA781 - 3\156\2E9\381. Ещё раз: задача не распределить файлы по папкам равномерно , задача - ограничить количество файлов в папках. где бы взять uint, в postgres вот нет 'u' ( Basil A. SidorovЧто ж вы такие трудные-то ... Файлы: Код: plaintext 1. 2.
будут размещены как: Код: plaintext 1. 2.
В двухуровневой иерархии, при ограничении до тысячи объектов на каталог, можно разместить до миллиарда файлов (десятичное основание). При использовании шестнадцатиричной системы будет до 4096 объектов на каталог и более 65 миллиардов файлов во всё той же двухуровневой иерархии. Всё же тривиально (даже) в уме считается ... я же про это писал уже тут tip78А вот если вы сложите свои файлы так: /in/di/vi/individual.php то у вас всё будет летать даже при миллионах файлов, ибо каждый слот даёт 26 букв + 10 цифр, итого 36 ** 6 = 2176782336 (кол-во дир, НЕ файлов! В каждой штук по 500 файлов себя вполне нормально чувствовать будут) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2018, 02:31 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
Чё-то нагородили премудростей... \inttostr(ID mod 1000)\inttostr(ID)+'.jpg' ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 15:37 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
alekcvpШавлюк ЕвгенийЯ такую задачу не решал, но как подумаю о бекапе базы с большим количеством картинок... А как бэкап зависит от картинок? 2Гб база с картинками будет бэкапиться медленнее, чем 2Гб база с текстами? база с текстами определённо будет раз в 10-20 меньше jpg-картинки вообще не жмутся, например может от этого и скорость будет выше, не тестил ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2018, 19:26 |
|
Как лучше хранить данные в БД
|
|||
---|---|---|---|
#18+
tip78alekcvpпропущено... А как бэкап зависит от картинок? 2Гб база с картинками будет бэкапиться медленнее, чем 2Гб база с текстами? база с текстами определённо будет раз в 10-20 меньше jpg-картинки вообще не жмутся, например может от этого и скорость будет выше, не тестил В fb бэкапы уже сжимаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2018, 03:34 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1561107]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 208ms |
0 / 0 |