170 похожих чатов

Народ, юзал ли кто sqlite3 + node.js c большим размером

файла базы данных? Ощутимо ли лагает или все печально? Допустим если больше 100 гигов файлик)

26 ответов

24 просмотра

Разницы между 3 гигами и 2 мбайтами замечено не было

Андрей-Б Автор вопроса
Влад Гашников
Разницы между 3 гигами и 2 мбайтами замечено не бы...

Спасибо за обратную связь, если у кого ещё опыт на реальных проектах есть напишите, очень интересно.

Андрей Б
Спасибо за обратную связь, если у кого ещё опыт на...

Это немного странный кейс (сотня Гб в sqlite), поэтому думаю, что подобный опыт мало у кого есть. Но ничто не мешает тебе забить базу данными и постестить её под нагрузкой

Андрей-Б Автор вопроса
Алексей Попов
Это немного странный кейс (сотня Гб в sqlite), поэ...

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

у меня использовались бд в 10-ки Гб. Если вы нормаль построите индексы, то проблем нет никаких. При необходимости заливки данных, сноси индексы, заливай порциями через транзакции, потом снова строй индексы.

Андрей-Б Автор вопроса
G9T
у меня использовались бд в 10-ки Гб. Если вы норма...

Благодарю, значит переживаю напрасно.

Андрей-Б Автор вопроса
G9T
какая задача, если не секрет?

Хранить строки текста, возможно небольшие по размеру файлы (до 5мб), текст большого объёма с кучей пробелов и отступов, текст с разделителями. Планируется полнотекстовой поиск по бд или по специально подготовленной таблице с данными.

Андрей Б
Хранить строки текста, возможно небольшие по разме...

в sqlite есть из коробки fts5 для полнотекстового поиска. Просто необязательно все писать в один файл. можете разбить на несколько файлов бд по какому-то принципу. тут надо пробывать.

а файлы зачем в бд хранить?

G9T
а файлы зачем в бд хранить?

ну не в файловой системе же их хранить, это же тупо

Андрей-Б Автор вопроса
G9T
в sqlite есть из коробки fts5 для полнотекстового ...

Гляну, спасибо. Насчет структуры тоже смотрю разные варианты и да писать в несколько файлов БД действительно рассматриваю (правда поиск в этом случае немного осложняется). Пока думаю как лучше поступить.

Андрей-Б Автор вопроса
G9T
а файлы зачем в бд хранить?

в файловой системе сервера самые дорогие по времени операции как раз с мелкими файлами, это чтобы не забить ФС однотипными и похожими файлами и не превратить сервер в медленное существо.

Андрей-Б Автор вопроса
Тупая Инфузория
ну не в файловой системе же их хранить, это же туп...

Видео 1,5г файл наверное в базу лить не стоит, а вот мелочь как по мне самый раз.

Андрей Б
Видео 1,5г файл наверное в базу лить не стоит, а в...

Для видео есть отдельные сервисы, позволяющие хранить данные вплоть до стрима.

Андрей Б
Видео 1,5г файл наверное в базу лить не стоит, а в...

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

][_ioN ‏ 😏
Для видео есть отдельные сервисы, позволяющие хран...

я бы сказал, что в ноде есть такой тип данных, как стрим 😁

Андрей-Б Автор вопроса
G9T
вообще лить файлы, ради того, что бы они просто в ...

Сложно согласиться, я минут 10 назад свойства папки открыл чтобы посмотреть сколько там чего по объему и кол-ву. До сих пор пересчитывает файлики размером по 1-20кб пока подсчитало всего 20гб и 200к файлов в 60к папок. Это вот реальная моя практика файловых операций с мелкими файлами. В этой папке около 300гб файлов (может больше), интересно сколько часов потребуется до конечной цифры=) мой кейс наверное связан с тем чтобы соседние вещи на диске не просели от такого "мелкого" соседства.

Андрей-Б Автор вопроса
Андрей Б
Сложно согласиться, я минут 10 назад свойства папк...

для этих целей я бы поработал с протоколом zip. Помоему из общего zip архива можно извлекать конкретные файлы при необходимости. тут надо почитать 😊

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

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

Андрей-Б Автор вопроса
Андрей-Б Автор вопроса
Тупая Инфузория
чем будет отличаться чтение файлов напрямую из фс ...

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

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта