[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 44 | 2 | 18
Назад Вниз Каталог Обновить

Хранение огромного числа книг. Допустим у нас Аноним 06/03/17 Пнд 14:25:29  947610  
enchanted-libra[...].jpg (1195Кб, 1440x900)
Хранение огромного числа книг.

Допустим у нас есть 130 миллионов книг. Можно ли их уместить на обычный компьютер, если хранить в таком виде:
Каждое слово это число. Значение чисел хранятся в отдельном словаре.

Если нет, то каким образом можно?
Аноним 06/03/17 Пнд 14:35:03  947614
Можно. Но лучше стандартным хаффманом пожать.
Аноним 06/03/17 Пнд 15:21:07  947648
>>947614
А какой там принцип сжатия?
Аноним 06/03/17 Пнд 15:25:43  947651
>>947610 (OP)
нет, нельзя, ведь книга может быть любого размера, а слово - любой длинны.

Если в книге будет бесконечное число слов, то потребуется бесконечное число чисел что бы их зафиксирвоать.

Тут понадобиться язык, поддерживаюищй эффективную работу с бесконечными списками, например ХАСКЕЛ!

Аноним 06/03/17 Пнд 15:30:34  947653
>>947651
Бесконечного числа слов быть не может. Как правило слова повторяются и имеют ограниченное количество.
Аноним 06/03/17 Пнд 15:31:33  947654
>>947651
а есть версия для малолетних пиздюков как оп, с картинками и аниму?
Аноним 06/03/17 Пнд 15:56:42  947674
>>947648
Друг, ну гугл же: https://habrahabr.ru/post/144200/ https://ru.wikipedia.org/wiki/Код_Хаффмана
Аноним 06/03/17 Пнд 16:05:30  947678
-dvach-b-146221[...].jpg (68Кб, 700x546)
>>947674
Благодарю.
Аноним 06/03/17 Пнд 19:51:42  947839
>>947610 (OP)
можно сделать айди для слов или даже словосочетаний. сначала айди. Но при этом пусть сначала в бите с 1 по 7 будет идти количество байтов, которое используется для данного айдишника, а если байт больше 128 (да, нехватает 2^128 слов) то пусть бит 0 будет установлен в 1 и тогда подобный алгоритм со следующим байтом. А слово будет кодироваться символами, но чтобы в конце был нулевой символ.
Кстати, а картинки там будут?
Аноним 06/03/17 Пнд 20:05:24  947847
>>947839
Картинки слишком много места занимают. Хорошо видно на архивах Либрусека с fb2 и с pdf форматами.
Аноним 09/03/17 Чтв 02:53:31  949734
>>947610 (OP)
>130 миллионов книг
Примерно 40ТБ. В общем берёшь новые диски по 8ТБ, 5 штук, плюс один системный с SSD, итого справится даже моя нищебродская материнка с 6 портами SATA. ОС нужна с поддержкой больших дисков, то есть XP x64 и выше.
Аноним 09/03/17 Чтв 08:08:41  949772
Привет, ты только что придумал .tar.gz.
Аноним 09/03/17 Чтв 10:00:38  949797
>>949772
> .tar.gz.
Зачем кто-то пользуется этим говном, когда есть божественный 7zip?
Аноним 09/03/17 Чтв 10:40:51  949819
>>949797
>Зачем кто-то пользуется этим говном
tar.gz хорош тем, что архив и через 100 лет можно будет чуть ли не вручную прочитать - и tar и gz можно на бумажке распарсить.
Аноним 09/03/17 Чтв 10:42:27  949821
>>949819
> gz можно на бумажке распарсить.
Значит и 7z распарсишь.
Аноним 09/03/17 Чтв 11:28:05  949841
>>949734
Gentoo, Gentoo же.
Аноним 09/03/17 Чтв 11:30:25  949843
>>949797
7zip На С++ написан, а плюсы то не вечны. С в свою очередь переживет все языки.з
Аноним 09/03/17 Чтв 12:02:39  949865
>>949843
Так вот оно что, у пердольных даунов кресты недостаточно швабодные и
жму-пинус-вейные. Лол.
Аноним 09/03/17 Чтв 15:35:35  949945
>>949841
Слишком много места занимает и оптимизации мало.
Аноним 09/03/17 Чтв 15:59:48  949951
>>949945
В разы меньше чем винда.
Оптимизация в разы лучше чем в винде.
Ну вообще Arch Linux есть если место это важно.
Аноним 09/03/17 Чтв 16:00:38  949952
>>949865
С это стандарт де факто, ++ для хипстоты не могущих в код.
Аноним 09/03/17 Чтв 16:15:55  949955
>130 миллионов книг
это просто сумашедшее число, столько нет и не будет
к примеру, я примерно прикинул, что за всю жизнь прочитал примерно полторы тысячи книг
и это при том что изначально у родителей была комната отведенная под библиотеку, плюс ходил в общественные библиотеки, плюс много с компа читал в нулевые, плюс купил электронную читалку когда ими мало еще в россии пользовались, а у меня уже была
те я очень активный читатель
Аноним 09/03/17 Чтв 16:43:01  949970
>>947614
Правильно, хаффман. Хаффман в общем-то везде применяется, во всех архиваторах. Вопрос только в выборе уникальных термов, к примеру как в ОП-посте:
>Каждое слово это число
Но не факт что именно это будет оптимально.
Аноним 09/03/17 Чтв 16:43:16  949971
>>949955
и ты все помнишь что прочитал?
Аноним 09/03/17 Чтв 16:44:27  949973
>>949797
Тоже говно. Уже есть божественные bzip2, xz. И по-моему даже что ещё более хардкорное, но с очень длительной архивацией.
Аноним 09/03/17 Чтв 16:46:08  949974
>>949955
>за всю жизнь прочитал примерно полторы тысячи книг
Это грустно. Страшно представить, что писатели конкурируют именно за кусок твоей жизни.
Аноним 09/03/17 Чтв 16:52:42  949977
Изобретатели архиватора бабушкина просто понабежали лал.
Оп используй архиватор бабушкина и все твои 130 млн книг влезут на 1 флешку размером в 1 гиг
Аноним 09/03/17 Чтв 16:54:54  949980
>>949971
многие имена, даты конечно забываешь, но это нормально, это защитная реакция механизма памяти от перегрузки
но концепции, идеи, сюжет помнишь
потом заинтересовавшие или сложные книги потом перечитываешь, чтобы дополнительно разобратся или вспомнить
Аноним 09/03/17 Чтв 17:13:41  949989
>>949980
В свое время прочитал полностью ссанину никитина про ричарда ссаные руки. все 45+ книг.
Сейчас не помню практически нихуя из того высера.
Аноним 09/03/17 Чтв 17:52:22  950006
>>949989
ничего не имею против с такого развлекательного чтения
просто есть более годные альтернативы этой серии
те тоже примерно тот же формат, но качественней
например, книжки того же виталия зыкова
или у стивенсона криптономикон + барочный цикл просто бесконечный для тех кто медленно читает
Аноним 09/03/17 Чтв 17:54:43  950007
>>949951
>В разы меньше чем винда.
Винда разная бывает. Инсталятор ХР можно урезать до 75МБ.
>Оптимизация в разы лучше чем в винде
Bug 12309
>>949977
>размером в 1 гиг
И то потому что меньше флешек не найти, так бы влезло в 4кб.
Аноним 09/03/17 Чтв 20:22:51  950071
>>949973
Схуяли он лучше, дебик, это даже не архив а такой же кусок говна как и гзип, которым можно сжать только один файл, а LZMA2 в разы быстрее и эффективнее.
Аноним 09/03/17 Чтв 20:25:27  950075
>>949973
Xz это такой же пердольный кал, только со спизженным из 7zip сжатием LZMA, работает при этом в разы медленнее.
Имя 09/03/17 Чтв 20:26:02  950076
>>950071
>которым можно сжать только один файл
UNIX Way.
Аноним 09/03/17 Чтв 20:50:54  950084
>>950076
Вся суть, нормальный архиватор с файлами, блоками, шифрованием это нишвабодно, деды говно жрали и нам велели.
Аноним 09/03/17 Чтв 21:31:43  950118
>>947610 (OP)
Я придумал. Можно вообще ничего не хранить, а генерировать все на лету. Ну как вам?
https://libraryofbabel.info
Аноним 09/03/17 Чтв 21:59:50  950149
>>950118
я так не думаю.
Аноним 09/03/17 Чтв 23:29:17  950217
>>950071
>сжать только один файл
>дебик
Лол, спешите видеть. Школьник не знает что такое потоковый архиватор. И считает что изобретение ещё одной кастрированной файловой системы внутри архива это неебаться как важно и нужно.
Аноним 09/03/17 Чтв 23:47:47  950231
>>947610 (OP)
В общем весь тред будет засран упоротыми фанатами из /s/, я тебе отпишу по теме и скрою.

Хаффман это по сути такой способ записать последовательность чисел таким образом, чтобы читая последовательно биты можно было выделить из потока отдельные числа (которые могут быть разной битовой длины). Собственно становится ясно, что наиболее часто употребляемые числа нужно выражать как можно более короткими битовыми кодами. Но в то же время чем короче сам словарь чисел, тем в целом короче и битовые коды. Получается такой компромисс - либо проебаться на длинных кодах, либо кодировать очень много коротких чисел.

Скорее всего, если у тебя времени всего день к примеру, тебе имеет смысл перепробовать кучу разных архиваторов и найти наиболее подходящий. Этот же метод, скорее всего, даже победит около полугода твоих личных исследований и экспериментов с выделением наиболее подходящих словарей и построением алгоритмов. Но, так как задача у тебя не написать универсальный архиватор, а сделать архиватор исключительно для книжного текста, не исключено что при должном упорстве (если конечно никто ещё не выполнял подобных исследований) ты переплюнешь лучшие универсальные архиваторы по степени сжатия. Всё из-за того что ты будешь исследовать закономерности в текстах на естественном языке и сможешь найти там дополнительные регулярности, к примеру: устойчивые сочетания слов, места где запятая ставится по правилам (а значит можно её вырезать из потока, а при распаковке снова проставлять по правилам), большие буквы в начале предложения можно делать мелкими, итд. Задача интересная.

Но я всё-таки не знаю насчёт 130 миллионов книг. Давай прикинем. Каждая более-менее большая книга это под мегабайт текста. Допустим ты сожмёшь их до 200кбайт. Это 24,2 терабайта текста. Тебе придётся купить массив самых вместительных хардов, порядка 10-15 штук 2-3 терабайтных. В остальном это может быть действительно самый обычный компьютер, разве что мать должна быть навороченной, с кучей портов под харды, либо с выделенной PCIe платой.

В общем да, Александрийскую библиотеку можно создать прямо у себя в комнате.
Аноним 10/03/17 Птн 06:44:43  950343
>>950217
Действительно, файлы не нужны, лучше ждать три часа пока распакуется весь 100 ГБ архив чтобы достать один файл.
Аноним 10/03/17 Птн 07:05:43  950346
Вы малолетние уебаны и абсолютно не понимаете смысла tar.
Tar появился во времена когда нгмд и нжмд были еще не распостранены. И хранение проводилось на ленточных накопителях. У ленточных накопителей нет произвольного доступа к медиа. А лишь последовательное. Потому архив и создавался так. Один большой файл в котором сохраняются файлы со структурой директорий.
По сути tar просто обьединяет много файлов в один. Потоковое сжатие gzip позволило более эффективно использовать место. В tar и поныне есть команды управления драйвами типа перемотать ленту на начало и тп.

Но малолетним даунам лишь бы попиздеть.
Да сейчас когда носители с произвольным доступом повсюду, концепции tar устарели. Но в свое время они были адекватны задачам.
Аноним 10/03/17 Птн 07:06:04  950347
>>947610 (OP)
ОП придумал метод сжатия Бабушкина. Дай угадаю. Тебе 14 лет.
Аноним 10/03/17 Птн 15:38:23  950600
>>950343
Долбоёб, использующий говнософт под вендой. Нормальное ПО может извлечь один файл из tar.gz.
Аноним 10/03/17 Птн 17:42:33  950689
>>950600
А теперь ты читаешь http://www.gnu.org/software/tar/manual/html_node/Standard.html

И понимаешь почему я ссу тебе в еблет как тупорылому школотрону

Если же ты конченый дебил то поясню. Информация о файле хранится в заголовке перед файлом. Общей таблицы где описаны файлы архива как например у 7зипа нет. То есть для извлечения одного файла который находится в конце придется все равно просмотреть весь архив последовательно.

От ос и софта это не зависит

950346-кун
Аноним 23/03/17 Чтв 23:25:17  959823
>>947653
Нет, зависит от алфавита

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 44 | 2 | 18
Назад Вверх Каталог Обновить

Топ тредов
Избранное