Старая версия xmlhack.ru


[Книги по XML]  FictionBook.lib снова в строю
  26.12.03 Паращенко Олег

Снова работает FictionBook.lib, библиотека текстов на основе XML-формата FictionBook 2, предназначенного для хранения и обработки художественных книг.

Доработка сайта продолжается, но в данный момент библиотека предоставляет несколько уникальных сервисов (начиная с автоматического размещения книг пользователями и заканчивая продуманной системой рейтингов и «подобий»). Поступившие в библиотеку книги автоматически форматируются в txt, isilo, prc, fb2, html, rtf, fb2, rb и oeb, размещаются в соответствующем месте библиотеки и становятся доступны всем пользователям. Администрирование и прочие фичи ничего специфического в себе не имеют, но имеют место быть :).

Библиотека сделана на основе mod_perl, PostgreSQL, LibXML+LibXSLT. Проверка поступающих документов на соответствие схеме реализована с xerces-c. Для повышения быстродействия и снижения требований к ресурсам (экономия памяти, которую mod_perl в купе с LibXSLT кушают порядочно) используется squid. Так же ведутся работы по внедрению библиотеки на партнерские сайты. XSL (и не только) позволяет приспособить одно ядро к различным структурам подачи материала относительно безболезненно и изящно.

Узким местом движка является доступ к БД (из-за комплексных запросов и статистического рассчета рейтингов), немного процессорного времени съедают и xslt-преобразования, остальное можно в рассчет не брать. Это, конечно, весьма относительно, так как в библиотеке реализован интеллектуальный кэш и подавляющее большинство запросов обслуживаются с диска, несмотря на то, что пользователи с разным уровнем доступа видят библиотеку несколько по-разному.

В итоге узким местом стал канал (freenet, подключение 10mbs).