The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Прочность файловой системы FreeBSD или просто UNIX."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от FastSoft emailИскать по авторуВ закладки(ok) on 02-Фев-05, 15:19  (MSK)
Вопрос вот в чем - хочу, чтобы моя программа хранила записи не в базе, а в файлах. Нет проблем. В файлах так в файлах. Далее. В записях есть разделы, в которых есть подразделы и другие записи и еще много подразделов. Не могу решить - как сделать - или под каждый подраздел заводить натуральный каталог или все файлы бросать в одну кучу, а принадлежность к разделу отмечать в каком-либо специальном файле разделов. Этаком подобии файловой системы :) Ну соответственно, в файле с записью будет написано, в каком разделе он как-бы находится, а в файле разделов - список разделов, и какие в каждом есть файлы.
   В общем во втором случае получается, что файлы бесконечно будут сваливаться в одну кучу, в которой будет рыться программа (человеки в записях роутся посредством только программы).
Не прорвет ли этот каталог? Что файловой системе легче перенести - кучу папок с файлами, или все эти файлы в одном каталоге? (На имена влевать, будут циферки 1234... уникальность имени достигается легко (nlast+=1;) )
Я понимаю, что на всю файловую систему есть ограничение в количнстве файлов. Ну то есть i-нодов. Но о каталоге я ничего такого не слышал.
Дайте совет.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от allez Искать по авторуВ закладки(ok) on 03-Фев-05, 07:19  (MSK)
Если коротко - разницы между файлом и каталогом в UNIX нет; каталоги - это разновидность файлов. Поэтому файловой системе, в сущности, по барабану, какой способ хранения и переноса информации будет выбран.
Подробнее: http://linuxland.itam.nsc.ru/book/unix12/Part4.htm
Вот еще ссылка: 'http://punto.ru/meta.php?engine=14&search_type=0&text=%F4%E0%E9%EB%FB%20%E8%20%EA%E0%F2%E0%EB%EE%E3%E8%20%E2%20unix'
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 03-Фев-05, 14:29  (MSK)
>Я понимаю, что на всю файловую систему есть ограничение в количнстве файлов.
>Ну то есть i-нодов. Но о каталоге я ничего такого не
>слышал.

try this:

for file in $(jot 100000); do
touch $file
done

jot можешь заменить на seq, если у тебя не FreeBSD. потом попробуй скопировать cp * файлы из этой диры. Hint: cp отвалится с error'ом.

>Дайте совет.

хранить в xml'e.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от FastSoft emailИскать по авторуВ закладки(ok) on 03-Фев-05, 17:09  (MSK)
>>Дайте совет.
>
>хранить в xml'e.

Спасибо, все хорошо. То, что каталог и файл - одно и тоже я в курсе еще издавна. Теперь требуется объяснить как это "хранить xml". Объяснить упрощенно. Ну на пальцах - что к чему там, чо да как. Без подробностей.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от DeadMustdie emailИскать по авторуВ закладки(??) on 03-Фев-05, 20:26  (MSK)
>хранить в xml'e.

try this:

echo '<?xml version="1.0"?>' >File.xml
echo '<Root>' >File.xml
for i in $(seq 10000000); do
  echo '<Node attr1="'$i'" attr2="xxx-'$i'"/>' >File.xml
done
echo '</Root>' >File.xml

и разобрать конечный результат любимым парсером.
Хинт: может не хватить памяти. Если машина убогая.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от uldus Искать по авторуВ закладки(ok) on 03-Фев-05, 22:02  (MSK)
>>хранить в xml'e.
...
>Хинт: может не хватить памяти. Если машина убогая.

Лишнее подтверждение того, что какие бы чудеса не домонстрировал прогресс, всегда найдутся желающие придумать самый неоптимальный метод хранения. Это же надо для выборки по ключам парсить текстовый файл на языке разметки и еще умудряться держать все в памяти, КПД меньше чем у паровоза :-) XML хорош импорта/экспорта, но никак не для хранения.


To FastSoft: Посмотри BerkeleyDB, разнос по файлам тоже отлично, если ФС поддерживает хеширование.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 07-Фев-05, 01:26  (MSK)
>>>хранить в xml'e.
>...
>>Хинт: может не хватить памяти. Если машина убогая.
>
>Лишнее подтверждение того, что какие бы чудеса не домонстрировал прогресс, всегда найдутся
>желающие придумать самый неоптимальный метод хранения. Это же надо для выборки
>по ключам парсить текстовый файл на языке разметки и еще умудряться
>держать все в памяти, КПД меньше чем у паровоза :-) XML
>хорош импорта/экспорта, но никак не для хранения.

ключевое слово у вопрошавшего:  "хочу, чтобы моя программа хранила записи не в базе, а в файлах".

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от uldus Искать по авторуВ закладки(ok) on 03-Фев-05, 22:02  (MSK)
>скопировать cp * файлы из этой диры. Hint: cp отвалится с

"find ... -exec cp" не отвалится. Но без softupdates можно повеситься пока дождешься конца копирования.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Прочность файловой системы FreeBSD или просто UNIX." 
Сообщение от dimus emailИскать по авторуВ закладки(??) on 07-Фев-05, 09:54  (MSK)
А тебе это точно надо? СУБД справится с этой задачей гораздо лучше. Если пугает "сложность" настройки, то прими к сведению следующее: у меня ушло минут сорок на установку из исходников и минимальную настройку PostgreSQL. Перед этим я потратил примерно часов восемь на чтение разнообразной доки по SQL вообще и по Postgre в частности. В результате на моем компе появилась база, возможности которой я вряд ли когда-нибудь использую хотя бы на тысячную процента - настолько она мощная. Сам бы я что-то подобное вряд ли смог бы написать. И затратил я на это чуть больше 9 часов своего времени. Как у postgre, так и у других баз есть интерфейсы к разнообразным языкам программирования. Есть драйвера ODBC, что позволит без проблем юзать твою базу виндовым клиентам, ежели это будет надо. Вобщем думай сам.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру