Форум сайта python.su
взято из http://forum.vingrad.ru/topic-141788/0.html#entry1068851
kulibinka
Суть задачи: есть статьи. Их количество около 1 000 000.
Для каждой из них расчитывается куча данных, сохраненных в списках\словарях.
Есть стандартная задача - пробежаться по всем этим данными и как-то их вместе обработать.
Раньше я для каждой из статей найденные данные через модуль маршал сохранял в файликах, и при необходимости подтягивал.
Но когда количество статей переваливает за несколько десятков тысяч начинаются проблемы (даже 10 000 файликов это уже довольно серьезная проблема smile ).
Само собой напрашивается использование базы данных, но для каждого поля сериализировать и при необходимости рассериализировать списки\словари каждый раз это никому не нужный и большущий расход ресурсов.
Пытался использовать pytables (которые в принципе создан для похожих задач), но он при сериализации коцает данные, и их после этого невозможно достать (да и сериализация затратная).
Возможно, есть базы данных типа pytables, но которые напрямую позволяют без проблем и прозрачно сохранять данные родных питоновских типов… А возможно нужно использовать какой-то кардинально другой способ…
Подскажите пожалуйста: как организовать сохранение и обход миллиона (или нескольких) списков\словарей на обычной машине?
Офлайн
Для зберігання http://www.zope.org/Products/ZODB3.6
Для пошуку http://www.blazingthings.com/dev/zcatalog.html
Офлайн