Подтвердить что ты не робот

SQLite для больших наборов данных?

Я имею достаточно большой набор данных и хотел бы сохранить его в файле, а не в RDBMS.

Основная таблица в наборе данных составляет чуть более 1M строк, 30 столбцов и около 600 МБ в качестве CSV.

Я рассматриваю SQLite. SQLite стоит исследовать для наборов данных такого размера?

4b9b3361

Ответ 1

SQLite будет обрабатывать этот файл просто отлично; обязательно импортируйте записи в транзакцию, чтобы не тратить много времени на создание индексов, пока все не будет импортировано.

Ответ 2

Недавно я изучил SQLite для аналогичного приложения. В документации SQLite указано, что базы данных SQLite могут иметь размер терабайта и что основным ограничением SQLite является concurrency (многие пользователи одновременно). Хотя мы не пошли в этом направлении (у нас есть собственный формат двоичного хранения), я был довольно уверен, что SQLite может обрабатывать файлы такого размера.

Ответ 3

sqlite работает быстро, когда вы используете транзакции и не совершаете слишком часто. Использование подготовленных операторов с параметрами ускоряет работу. Sqlite не требует повторной обработки каждого оператора sql при использовании параметризованных запросов. Пример: Как обойти "" " проблема в sqlite и С#?

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

Ответ 4

У вас уже есть свой ответ, но я хотел бы поделиться своим текущим экспериментом: я сбросил миллиарды записей стоимостью 793 гигабайта данных в одну базу данных SQLite, а запросы на чтение все еще на удивление быстрые (до 1 м).

Время создания заняло чуть больше 22 часов, а создание пост-индекса заняло около 4 часов за столбец.

Ответ 5

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

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