Форум сайта python.su
Здравствуйте! Уважаемые пользователи данного ресурса.
У меня есть определенная задача по сбору, хранению и обработке спарсинных данных больших объемов, однако я до сих пор не могу определиться в каком виде эти данные хранить.
Задача подразумевает табличный вид (причем таблица может быть не одна, а несколько связанные между собой).
Среди возможных вариантов хранения данных рассматриваю csv или mdb. Серверная база MySQL не подходит, так как планируется обрабатывать спарсенные данные локально на desktop под управлением Windows.
Собственно сам вопрос вот в чем. Есть ли серьезная разница в производительности между форматом хранения данных csv и mdb если в базе предположительно будет содержаться 300 000 позиций записанных в 50 столбцов в месте со своими свойствами. То есть одна строка в csv это позиция а столбцы ее свойства. По сравнения с хранением того же объема данных в mdb?
Я конечно понимаю, что все очень сильно зависит от алгоритмов извлечения и обработки, но давайте представим, что алгоритмы самые простецкие, не сильно оптимизированные, в общем до тупого простые.
Мне больше по душе конечно csv так как с ним легче работать. Однако с другой стороны к этой задаче больше подходит mdb, но насколько я знаю с ним придется поиграться настраивая драйвер, да и потом та еще пляска с бубном. Или может кто знает библиотеку по работе с mdb которая сводит все запарки на нет?
А может я чего-то еще не догоняю и есть альтернативные пути. Буду признателен за любую помощь и подсказку.
Офлайн
FanTech
Среди возможных вариантов хранения данных рассматриваю csv или mdb. Серверная база MySQL не подходит, так как планируется обрабатывать спарсенные данные локально на desktop под управлением Windows.
Отредактировано 4kpt_III (Ноя. 29, 2015 15:48:53)
Офлайн
4kpt_IIIПроизводить выборку из базы для выполнения математических расчетов. Результат этих расчетов заноситься в базу не будет.
Как обрабатывать? Что подразумевается?
4kpt_IIIА ее можно как-то запаролить или зашифровать? И есть ли библиотека для работы с ней?
Есть легковесная БД из каробки. sqllite
Отредактировано FanTech (Ноя. 29, 2015 16:02:42)
Офлайн
FanTech
А ее можно как-то запаролить или зашифровать?
FanTech
И есть ли библиотека для работы с ней?
Отредактировано 4kpt_III (Ноя. 29, 2015 16:44:42)
Офлайн
4kpt_IIIПредположительно вес будет порядка 300 МБ я думаю.
P.S. О каком примерно объеме данных идет речь?
Офлайн
FanTechИнтересно что вы имеете ввиду.
sqlalchemy не имеет стабильной версии.
FanTechЕсли нужна стабильность то точно не mdb. Микрософт не та фирма которая отличается стабильностью.
Так как проект рассчитан на длительное время и на постоянное увеличение базы. Необходима стабильность.
FanTechЗадачу хранения и выборки решают хранилища данных, а не СУБД. Базы данных предполагают, что вы будете постоянно их пополнять в произвольном порядке. И запрашивать данные будете в произвольном порядке. Это накладывает ограничения на их организацию, которая ведет к распуханию файлов базы и снижению скорости выборки.
База нужна для удобного хранения и выборки данных.
Отредактировано doza_and (Ноя. 29, 2015 17:56:13)
Офлайн
doza_andЯ имею ввиду, что тесты на стабильность этой технологии на сколько я знаю никто особо не проводил. То есть не возможно понять какие глюки могут произойти если база будет таких больших размеров.
Интересно что вы имеете ввиду.
doza_andПолностью согласен. Этот выбор диктовался не сколько практичностью сколько безысходностью если не найду замены. Просто я не силен в sqllite. Не приходилось с ней работать. Ранее все в вэб было на MySQL.
Если нужна стабильность то точно не mdb. Микрософт не та фирма которая отличается стабильностью.
doza_andА здесь можно поподробней? О чем идет речь?
Задачу хранения и выборки решают хранилища данных, а не СУБД.
Офлайн
FanTechАлхимия не база и даже не API для доступа к базам, это ОРМ. Данные как были в базах так там и остаются.
Я имею ввиду, что тесты на стабильность этой технологии на сколько я знаю никто особо не проводил.
FanTechОб этом бесполезно говорить пока вы не заявите задачи. Поле слишком большое.
А здесь можно поподробней? О чем идет речь?
FanTech
если база будет таких больших размеров
FanTechПобойтесь бога. Это большой размер? Такое можно одним пиклом хранить. Файл прочитается за единицы секунд. Получите все данные в памяти и максимальное быстродействие, и сниженную устойчивость к отказам оборудования в придачу.
Предположительно вес будет порядка 300 МБ я думаю.
Офлайн
FanTech
Наверное стоит обратить внимание на sqllite. Так как проект рассчитан на длительное время и на постоянное увеличение базы.
FanTechДа выдерживает она несколько гигабайт. Просто она не оптимальна, так как всё хранится в одном файле.
То есть не возможно понять какие глюки могут произойти если база будет таких больших размеров.
FanTechЭто как MySQL только немного хуже по возможностям (многих операций нет). MySQL лучше SQLite, потому что там всё есть. Если есть А, то есть и Б, тогда как в SQLite может быть А, но не быть Б.
Просто я не силен в sqllite. Не приходилось с ней работать. Ранее все в вэб было на MySQL.
Отредактировано py.user.next (Ноя. 30, 2015 00:49:07)
Офлайн
FanTech
sqlalchemy не имеет стабильной версии. Что реально напрягает.
Офлайн