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

Мой софт должен работать с очень большим кол-вом данных и

желательно обрабатывать их максимально быстро.
Я использовал csv-таблицы и каждый модуль обрабатывает их построчно, выполняя свою ф-цию. (unix-way)
Но теперь в главном модуле мне нужно делать нормальные выборки, а не обрабатывать построчно. Думаю, мне надо чтоб индексировались ячейки таблиц, по скольку строк в таблице может быть много - например, миллион.
Перед тем как я начал делать всё на csv-таблицах, я пробовал делать на SQL. У меня слабый ноутбук и замерив скорость самой частой операции "записать 2000 строк" Mysql (30 сек.) и liteSQL (6 сек.) меня эти результаты не устроили, поэтому я сделал всё что было можно на csv-файлах. (на них всё летает, разумеется)

Вот размышляю над тем, чем теперь воспользоваться. Смотрю в сторону NoSQL(mongoDB), LiteSQL или же продолжить делать всё на файлах, написав нужны выборки самому.
Кто что посоветует и кто что проверял? Что самое быстрое?
P.S. Софт работает только на локалхосте, сижу на Debian

15 ответов

24 просмотра

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

Нельзя говорить, что быстрее, не обозначив четко круг операций и их частоту

ㅤ- Автор вопроса
Pavel Павлик
Запись в файл и последовательное чтение из него вс...

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


не то чтобы сложные, но в главном модуле к примеру...

Своя бд — это оверкилл, особенно, если ты для обработки этих данных используешь питон. Что тебе выбрать я знаю, тем более, как я сказал, не указано какие операции нужны, и неизвестно какие объекмы данных будут

ㅤ- Автор вопроса
Pavel Павлик
Нельзя говорить, что быстрее, не обозначив четко к...

Нужны несложные операции - выборка по id или name не более 50 строк из таблицы пускай в ней будет 1кк записей, изменение их и запись обратно. Желательно чтобы быстро работало. И похоже, на этом этапе мне придется конвертировать csv-таблицу с 1 млн. записей в базу, которую выберу. Конвертация назад уже будет необязательна.

ㅤ- Автор вопроса
Pavel Павлик
Своя бд — это оверкилл, особенно, если ты для обра...

я примерно написал. таблица в миллион строк(этот минимум, возможно 10 млн, 50, а лучше больше). операции не сложные - выборка по name или id, запись обратно - всё. ну может, простые какие-то операции пригодятся еще. Просто я понимаю, что неиндексированный csv с 1+ млн. записей парсить из-за получения 5 ячеек с нужными значениями - нелогично.


я примерно написал. таблица в миллион строк(этот м...

Мне кажется, что на таких объемах особой разницы в бд не будет

ㅤ- Автор вопроса
ㅤ- Автор вопроса
Pavel Павлик
Мне кажется, что на таких объемах особой разницы в...

я так прочитал смысл, что ты иммешь ввиду что объемы маленькие и разницы не будет. Но разница есть


я так прочитал смысл, что ты иммешь ввиду что объе...

ты в бд писал все строки одной транзакцией или каждую строку отдельной транзакцией?

ㅤ- Автор вопроса
G9T
ты в бд писал все строки одной транзакцией или каж...

отдельной и тестировал это на php. но как-то к таким БД у меня осталось впечатление что они тормознутые... Сейчас про Redis читаю, он быстр, но на сколько мне подходит пока не понял


отдельной и тестировал это на php. но как-то к так...

если утебя запись в приоритете над селектом данных - убери индексацию

ㅤ- Автор вопроса
G9T
если утебя запись в приоритете над селектом данных...

Спасибо, буду знать. Но приоритет больше в селекте нужных значений из csv (или конвертированного каждый раз csv в БД)

Редис

ㅤ- Автор вопроса
Denis Kalinochkin
Редис

Вот про него сейчас и читаю, очень надеюсь что это подходящее решение

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта