Хранение данных намного больше, чем ОЗУ в SQLite - PullRequest
0 голосов
/ 10 июня 2018

У меня есть около 100 ГБ данных фондового рынка в следующем формате:

datetime             open    high   low     close   volume
2014-10-02 15:34:00  18.39  18.50   18.32   18.41   5100
2014-10-02 15:35:00  18.41  18.49   18.41   18.49   200
2014-10-02 15:36:00  18.45  18.50   18.45   18.46   600

Каждый тикер имеет собственный CSV-файл данных в указанном выше формате, поэтому я думаю о сохранении данных каждого тикера всвой стол.Было бы около 10 000 тикеров, поэтому 10 000 таблиц.

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

Я буду делать только простые запросы (например, select * from TICKER where datetime > 2014-10-02 15:34:00), чтобы доставить данные в панды, и буду использовать данные только с одного тикера за раз (яперебирая список тикеров и анализируя их по отдельности).Все это будет выполняться локально на компьютере с 8 ГБ ОЗУ.

1 Ответ

0 голосов
/ 10 июня 2018

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...