Допустим у нас есть 130 миллионов книг. Можно ли их уместить на обычный компьютер, если хранить в таком виде: Каждое слово это число. Значение чисел хранятся в отдельном словаре.
>>947610 (OP) можно сделать айди для слов или даже словосочетаний. сначала айди. Но при этом пусть сначала в бите с 1 по 7 будет идти количество байтов, которое используется для данного айдишника, а если байт больше 128 (да, нехватает 2^128 слов) то пусть бит 0 будет установлен в 1 и тогда подобный алгоритм со следующим байтом. А слово будет кодироваться символами, но чтобы в конце был нулевой символ. Кстати, а картинки там будут?
>>947610 (OP) >130 миллионов книг Примерно 40ТБ. В общем берёшь новые диски по 8ТБ, 5 штук, плюс один системный с SSD, итого справится даже моя нищебродская материнка с 6 портами SATA. ОС нужна с поддержкой больших дисков, то есть XP x64 и выше.
>>949797 >Зачем кто-то пользуется этим говном tar.gz хорош тем, что архив и через 100 лет можно будет чуть ли не вручную прочитать - и tar и gz можно на бумажке распарсить.
>130 миллионов книг это просто сумашедшее число, столько нет и не будет к примеру, я примерно прикинул, что за всю жизнь прочитал примерно полторы тысячи книг и это при том что изначально у родителей была комната отведенная под библиотеку, плюс ходил в общественные библиотеки, плюс много с компа читал в нулевые, плюс купил электронную читалку когда ими мало еще в россии пользовались, а у меня уже была те я очень активный читатель
>>947614 Правильно, хаффман. Хаффман в общем-то везде применяется, во всех архиваторах. Вопрос только в выборе уникальных термов, к примеру как в ОП-посте: >Каждое слово это число Но не факт что именно это будет оптимально.
>>949971 многие имена, даты конечно забываешь, но это нормально, это защитная реакция механизма памяти от перегрузки но концепции, идеи, сюжет помнишь потом заинтересовавшие или сложные книги потом перечитываешь, чтобы дополнительно разобратся или вспомнить
>>949989 ничего не имею против с такого развлекательного чтения просто есть более годные альтернативы этой серии те тоже примерно тот же формат, но качественней например, книжки того же виталия зыкова или у стивенсона криптономикон + барочный цикл просто бесконечный для тех кто медленно читает
>>949951 >В разы меньше чем винда. Винда разная бывает. Инсталятор ХР можно урезать до 75МБ. >Оптимизация в разы лучше чем в винде Bug 12309 >>949977 >размером в 1 гиг И то потому что меньше флешек не найти, так бы влезло в 4кб.
>>949973 Схуяли он лучше, дебик, это даже не архив а такой же кусок говна как и гзип, которым можно сжать только один файл, а LZMA2 в разы быстрее и эффективнее.
>>950071 >сжать только один файл >дебик Лол, спешите видеть. Школьник не знает что такое потоковый архиватор. И считает что изобретение ещё одной кастрированной файловой системы внутри архива это неебаться как важно и нужно.
>>947610 (OP) В общем весь тред будет засран упоротыми фанатами из /s/, я тебе отпишу по теме и скрою.
Хаффман это по сути такой способ записать последовательность чисел таким образом, чтобы читая последовательно биты можно было выделить из потока отдельные числа (которые могут быть разной битовой длины). Собственно становится ясно, что наиболее часто употребляемые числа нужно выражать как можно более короткими битовыми кодами. Но в то же время чем короче сам словарь чисел, тем в целом короче и битовые коды. Получается такой компромисс - либо проебаться на длинных кодах, либо кодировать очень много коротких чисел.
Скорее всего, если у тебя времени всего день к примеру, тебе имеет смысл перепробовать кучу разных архиваторов и найти наиболее подходящий. Этот же метод, скорее всего, даже победит около полугода твоих личных исследований и экспериментов с выделением наиболее подходящих словарей и построением алгоритмов. Но, так как задача у тебя не написать универсальный архиватор, а сделать архиватор исключительно для книжного текста, не исключено что при должном упорстве (если конечно никто ещё не выполнял подобных исследований) ты переплюнешь лучшие универсальные архиваторы по степени сжатия. Всё из-за того что ты будешь исследовать закономерности в текстах на естественном языке и сможешь найти там дополнительные регулярности, к примеру: устойчивые сочетания слов, места где запятая ставится по правилам (а значит можно её вырезать из потока, а при распаковке снова проставлять по правилам), большие буквы в начале предложения можно делать мелкими, итд. Задача интересная.
Но я всё-таки не знаю насчёт 130 миллионов книг. Давай прикинем. Каждая более-менее большая книга это под мегабайт текста. Допустим ты сожмёшь их до 200кбайт. Это 24,2 терабайта текста. Тебе придётся купить массив самых вместительных хардов, порядка 10-15 штук 2-3 терабайтных. В остальном это может быть действительно самый обычный компьютер, разве что мать должна быть навороченной, с кучей портов под харды, либо с выделенной PCIe платой.
В общем да, Александрийскую библиотеку можно создать прямо у себя в комнате.
Вы малолетние уебаны и абсолютно не понимаете смысла tar. Tar появился во времена когда нгмд и нжмд были еще не распостранены. И хранение проводилось на ленточных накопителях. У ленточных накопителей нет произвольного доступа к медиа. А лишь последовательное. Потому архив и создавался так. Один большой файл в котором сохраняются файлы со структурой директорий. По сути tar просто обьединяет много файлов в один. Потоковое сжатие gzip позволило более эффективно использовать место. В tar и поныне есть команды управления драйвами типа перемотать ленту на начало и тп.
Но малолетним даунам лишь бы попиздеть. Да сейчас когда носители с произвольным доступом повсюду, концепции tar устарели. Но в свое время они были адекватны задачам.
И понимаешь почему я ссу тебе в еблет как тупорылому школотрону
Если же ты конченый дебил то поясню. Информация о файле хранится в заголовке перед файлом. Общей таблицы где описаны файлы архива как например у 7зипа нет. То есть для извлечения одного файла который находится в конце придется все равно просмотреть весь архив последовательно.
Допустим у нас есть 130 миллионов книг. Можно ли их уместить на обычный компьютер, если хранить в таком виде:
Каждое слово это число. Значение чисел хранятся в отдельном словаре.
Если нет, то каким образом можно?