Уведомления

Группа в Telegram: @pythonsu

#1 Март 2, 2009 10:50:47

evgenyl
От:
Зарегистрирован: 2008-07-22
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Иерархическая база данных

ZAN
mount /path/to/snapshot.fs /media/work -o loop
не очень то и кросплатформенноо :)) лучше в зипе :)

to ZZZ
а какой предполагаемый размер базы ?
сколько записей ? какой средний размер файла ?



Отредактировано (Март 2, 2009 10:51:08)

Офлайн

#2 Март 2, 2009 15:06:57

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

Иерархическая база данных

evgenyl
не очень то и кросплатформенноо :))
Согласен, для Windows придеться использовать сторонние программы, но суть идеи - из питона работать только с файловой системой, а организация всего остального (петля, виртуализация либо просто бекапы) перенести на плечи операционной системы.

Для обычной пользовательской программы это, конечно, плохая идея - слишком жестоко по отношению к пользователю =).
В этом случае, я бы написал обертку над берклием. Ключ - полный путь в базе, чтение и запись - посредством StringIO, в той же базе сохранять текущую директорию (директорию внутри базы, естесственно).



Офлайн

#3 Март 2, 2009 15:45:59

evgenyl
От:
Зарегистрирован: 2008-07-22
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Иерархическая база данных

полностью согласен, ось гораздо лучше справится с хранением/обслуживанием/ремонтом файловой иерархии или системы
это одна из её основных задач так сказать, которую решают уже много лет

но вопрос в размерах, если вся база метров 50 а размеры файлов 20-30кб то просто в каком нить sqlite все хранить и не парится



Отредактировано (Март 2, 2009 15:46:50)

Офлайн

#4 Март 2, 2009 16:39:05

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Иерархическая база данных

ZAN и evgenyl:

ZZZ
P.S. Только не надо предлагать мне создавать пустой файл и форматировать его в ext2… Ну или маковый dmg…
Дело в том, что файл-база должен передоваться пользователю посредством сети… А 99.99% пользователей этого дела, как это не прискорбно, будут тупые маздаевцы. Ну будет ещё процент линуксоидов, сидящих под маздаем… Самой альтернативной мазадаю осью будет, как это ни странно, MacOS X… Ну да ладно, это всё лирика…

evgenyl
а какой предполагаемый размер базы ?
сколько записей ? какой средний размер файла ?
Средних цифр просто не существует. Данные разнородны их количество тоже.
Пакеты будут от нескольких килобайт, до гига (больше врядли, но тоже возможно). Притом может содержаться как один большой файл, так и миллион маленьких. Поверьте, это обсчёту и прогнозированию не поддаётся.

Глянул на SQLite… Сам SQLite замечательно с BLOB работает, а его питоная обёртка ничего кроме DB-API не видит в упор! Расстреливать за такое надо!
Смотрю банальный zipfile… Совсем опустился… А как ему поток передать и поток забрать? Я уже готов плюнуть на изменяемость, хотя бы быстрый доступ к конкретным файлам (tar никак не справляется!) и возможность потокого (чтобы не жрать память гигами и не создавать временные файлы) создавать эту, с позволения сказать, базу данных…
Может ISO? Есть что-нить на эту тему?



Отредактировано (Март 2, 2009 17:01:28)

Офлайн

#5 Март 2, 2009 17:04:22

evgenyl
От:
Зарегистрирован: 2008-07-22
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Иерархическая база данных

нее лучше тогда делай папку с файлами, центральное хранилище с rsync сервером
обновляй через rsync написанном на питоне
вот быстро нашел ссылку в гугле
http://www.vdesmedt.com/~vds2212/rsync.html
Быстро! надежно, плюс экономия трафика.

ISO read only



Отредактировано (Март 2, 2009 17:04:57)

Офлайн

#6 Март 2, 2009 17:09:24

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

Иерархическая база данных

ZZZ
P.S. Только не надо предлагать мне создавать пустой файл и форматировать его в ext2… Ну или маковый dmg…
Что-то не обратил внимание на постскриптум…

ZZZ
Может ISO? Есть что-нить на эту тему?
Тогда может все-таки FAT32?

ZZZ
Смотрю банальный zipfile… Совсем опустился… А как ему поток передать и поток забрать?
Если вместо ZipFile.open использовать его конструктор, то можно передавать и поток, но это не решение проблемы, т.к. zip работать быстрее tar-а не будет.

SQLite, PostgreSQL и прочие реляционные базы данных не нужны, как и язык SQL запросов в целом. Cмотри лучше в сторону берклия - он быстрый + модель путь -> файл неплохо будет ложиться на архитектуру ключ -> значение, к тому же поддерживается стандартной поставкой питона.



Отредактировано (Март 2, 2009 17:10:37)

Офлайн

#7 Март 2, 2009 18:24:08

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Иерархическая база данных

evgenyl
нее лучше тогда делай папку с файлами, центральное хранилище с rsync сервером
обновляй через rsync написанном на питоне
Я уже думал об этом. Но никак не влазиет в концепцию, так что я бысто отказался.

evgenyl
ISO read only
Я знаю, но уже готов на это пойти. Вот какой-нить питоний, кросс-платформенный инструмент для его создания и чтения…

ZAN
Тогда может все-таки FAT32?
Я только за! :-)
Но как?

ZAN
Если вместо ZipFile.open использовать его конструктор, то можно передавать и поток,
Нихрена не понимаю… Наверное уже совсем ум за разум ушёл… Сейчас полезу глану как он, zipfile устроен, но всё-таки хотелось немного подробнее.

ZAN
но это не решение проблемы, т.к. zip работать быстрее tar-а не будет.
Вот насколько мне помнится, скорость доспупа должна быть выше. Я бы хотел проверить.

ZAN
SQLite, PostgreSQL и прочие реляционные базы данных не нужны, как и язык SQL запросов в целом.
ZAN, ты, навреное, никогда не работал с Binary Large Object. Посредствам SQL находишь нужный объект, открываешь его и пишешь/читаешь как обычный файл, потом commit'ешь его или rollback'ешь и радуешься жизни.

ZAN
Cмотри лучше в сторону берклия - он быстрый + модель путь -> файл неплохо будет ложиться на архитектуру ключ -> значение, к тому же поддерживается стандартной поставкой питона.
Вот я опять же не въехал, как в него писать в “значение” файл и как его читать. Просто мне не очень навиться идея создания в пямяти объекта размером с гиг…
Если разбирусь с этим, то меня оно замечательно устроит. Даже больше скажу – это будет лучшим из возможных вариантов.



Офлайн

#8 Март 2, 2009 19:04:52

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Иерархическая база данных

ZZZ
Просто мне не очень навиться идея создания в пямяти объекта размером с гиг
Минуточку, а почему ты решил, что в случае с BLOB будет по другому?



Офлайн

#9 Март 2, 2009 21:24:27

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Иерархическая база данных

а це не підійде? http://www.hforge.org/itools



Офлайн

#10 Март 2, 2009 21:24:52

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Иерархическая база данных

Lexander
Минуточку, а почему ты решил, что в случае с BLOB будет по другому?
Ну он вообще-то для этого и создан. Не знаю, как оно работает в SQLite, но вот в моём любимом PostgreSQL оно работает замечательно. Проверено. Правда на Си… :-)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version