ebook img

Введение в современные мейнфреймы-основы z-OS. PDF

642 Pages·2008·11.613 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Введение в современные мейнфреймы-основы z-OS.

C M Y CM MY CY CMY K IBM International Technical Support Organization Introduction to the New Mainframe: z/OS Basics Mike Ebbers Wayne O’Brien Bill Ogden July 2006 Note: Before using this information and the product it supports, read the information in “Notices”. First Edition (July 2006) © Copyright International Business Machines Corporation 2006. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM Международная организация технической поддержки Введение в современные мэйнфреймы: основы z/OS Майк Эбберс Уэйн О'Брайен Билл Огден Москва 2007 Перед использованием данного руководства и продукта ознакомьтесь с информацией в разделе «Примечания». Перевод М. Аницкий Научный редактор Инструктор авторизованного учебного центра IBM Д. Данилов Первое издание на русском языке (2007 г.) © IBM Corporation (Корпорация International Business Machines Corporation), 2006 г. Все права защищены. Ограничение прав пользователей правительством США: использование, копирование и распространение сведений настоящего руководства ограничено условиями контракта GSA ADP Schedule с корпорацией IBM. Содержание Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii Каким образом организован материал книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Каким образом организована каждая глава . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv Мы будем рады вашим отзывам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xviii Часть 1 . Введение в z/OS и среду мэйнфрейма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Глава 1 . Введение в современные мэйнфреймы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 .1 Современные мэйнфреймы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1 .2 S/360: поворотный пункт в истории мэйнфреймов . . . . . . . . . . . . . . . . . . . . .4 1 .3 Развивающаяся архитектура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 1 .4 Мэйнфреймы среди нас . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 1 .5 Что такое мэйнфрейм? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 1 .6 Кто использует мэйнфреймы? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 1 .7 Факторы, способствующие использованию мэйнфреймов . . . . . . . . . . . . .12 1 .8 Стандартные задачи для мэйнфреймов . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 1 .9 Роли в мире мэйнфреймов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1 .10 z/OS и прочие операционные системы мэйнфреймов . . . . . . . . . . . . . . . . .28 1 .11 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 1 .12 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 1 .13 Темы для дальнейшего обсуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Глава 2 . Аппаратные системы мэйнфрейма и высокая доступность . . . . . . . . . . . . . . .35 2 .1 Введение в аппаратные системы мэйнфрейма . . . . . . . . . . . . . . . . . . . . . . .36 2 .2 Устройство ранних систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 2 .3 Устройство современных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 2 .4 Процессорные устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 2 .5 Мультипроцессоры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 2 .6 Дисковые устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 2 .7 Кластеризация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 2 .8 Что такое Parallel Sysplex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 Содержание  2 .9 Виды мэйнфрейм-систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 2 .10 Непрерывная доступность мэйнфреймов . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 2 .11 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 2 .12 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 2 .13 Темы для дальнейшего обсуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 2 .14 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Глава 3 . Общие сведения о z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 3 .1 Что такое операционная система? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 3 .2 Что такое z/OS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 3 .3 Обзор средств z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 3 .4 Виртуальная память и другие понятия мэйнфреймов . . . . . . . . . . . . . . . . . .81 3 .5 Что такое управление рабочей нагрузкой? . . . . . . . . . . . . . . . . . . . . . . . . . .101 3 .6 Ввод-вывод и управление данными . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 3 .7 Наблюдение за выполнением задач в системе . . . . . . . . . . . . . . . . . . . . . .104 3 .8 Определяющие свойства z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 3 .9 Дополнительные программные продукты для z/OS . . . . . . . . . . . . . . . . . . .114 3 .10 Промежуточное программное обеспечение для z/OS . . . . . . . . . . . . . . . . .115 3 .11 Краткое сравнение z/OS и UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 3 .12 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 3 .13 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 3 .14 Темы для дальнейшего обсуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Глава 4 . TSO/E, ISPF и UNIX: интерактивные средства z/OS . . . . . . . . . . . . . . . . . . . . . . .123 4 .1 Как происходит взаимодействие с z/OS? . . . . . . . . . . . . . . . . . . . . . . . . . . .124 4 .2 Обзор TSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 4 .3 Обзор ISPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 4 .4 Интерактивные интерфейсы z/OS UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 4 .5 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 4 .6 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 4 .7 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 Глава 5 . Работа с наборами данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 5 .1 Что такое набор данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 5 .2 Где хранятся наборы данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 5 .3 Что такое методы доступа? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 5 .4 Как используются DASD-тома? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 5 .5 Распределение набора данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 5 .6 Как назначаются имена наборов данных . . . . . . . . . . . . . . . . . . . . . . . . . . .160 5 .7 Распределение пространства на DASD-томах посредством JCL . . . . . . . . .161 i Содержание 5 .8 Форматы записи наборов данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 5 .9 Типы наборов данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 5 .10 Что такое VSAM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 5 .11 Каталоги и VTOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 5 .12 Роль DFSMS в управлении пространством . . . . . . . . . . . . . . . . . . . . . . . . . .177 5 .13 Файловые системы z/OS UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178 5 .14 Работа с файловой системой zFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 5 .15 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 5 .16 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 5 .17 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 5 .18 Вывод списка наборов данных и другие опции ISPF 3 .4 . . . . . . . . . . . . . . .187 Глава 6 . Использование JCL и SDSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189 6 .1 Что такое JCL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 6 .2 Параметры JOB, EXEC и DD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 6 .3 Диспозиция набора данных, параметр DISP . . . . . . . . . . . . . . . . . . . . . . . . .194 6 .4 Продолжение и сцепление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 6 .5 Почему z/OS использует символические имена файлов . . . . . . . . . . . . . . .197 6 .6 Зарезервированные DD-имена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 6 .7 JCL-процедуры (PROC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 6 .8 Общее представление об SDSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 6 .9 Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 6 .10 Системные библиотеки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 6 .11 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 6 .12 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 6 .13 Темы для дальнейшего обсуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 6 .14 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209 Глава 7 . Пакетная обработка и JES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217 7 .1 Что такое пакетная обработка? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 7 .2 Что такое JES? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219 7 .3 Что делает инициатор? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 7 .4 Управление заданиями и выходными данными с использованием JES и инициаторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222 7 .5 Поток заданий в системе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 7 .6 Сравнение JES2 и JES3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231 7 .7 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232 7 .8 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 7 .9 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 Содержание ii Часть 2 . Программирование приложений в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239 Глава 8 . Проектирование и разработка приложений для z/OS . . . . . . . . . . . . . . . . . . . .241 8 .1 Проектировщики и программисты приложений . . . . . . . . . . . . . . . . . . . . .242 8 .2 Проектирование приложения в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243 8 .3 Жизненный цикл разработки приложения: обзор . . . . . . . . . . . . . . . . . . . .245 8 .4 Разработка приложения на мэйнфрейме . . . . . . . . . . . . . . . . . . . . . . . . . . .249 8 .5 Перенос в рабочую среду на мэйнфрейме . . . . . . . . . . . . . . . . . . . . . . . . . .256 8 .6 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257 8 .7 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258 Глава 9 . Использование языков программирования в z/OS . . . . . . . . . . . . . . . . . . . . . .259 9 .1 Обзор языков программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260 9 .2 Выбор языка программирования в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . .261 9 .3 Использование ассемблера в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262 9 .4 Использование COBOL в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264 9 .5 Связь между JCL и программными файлами в высокоуровневых языках . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 9 .6 Использование PL/I в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 9 .7 Использование C/C++ в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274 9 .8 Использование Java в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275 9 .9 Использование CLIST в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277 9 .10 Использование REXX в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 9 .11 Компилируемые и интерпретируемые языки . . . . . . . . . . . . . . . . . . . . . . . .281 9 .12 Что такое z/OS Language Environment? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 9 .13 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289 9 .14 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290 9 .15 Темы для дальнейшего обсуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291 Глава 10 . Компиляция и компоновка программ в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . .293 10 .1 Исходный, объектный и загрузочный модули . . . . . . . . . . . . . . . . . . . . . .294 10 .2 Что такое исходные библиотеки? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294 10 .3 Компиляция программ в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 10 .4 Создание загрузочных модулей для исполняемых программ . . . . . . . . .312 10 .5 Обзор этапов от компиляции до запуска . . . . . . . . . . . . . . . . . . . . . . . . . .316 10 .6 Использование процедур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 10 .7 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318 10 .8 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319 10 .9 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319 iii Содержание Часть 3 . Оперативная рабочая нагрузка в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325 Глава 11 . Системы управления транзакциями в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . .327 11 .1 Оперативная обработка на мэйнфрейме . . . . . . . . . . . . . . . . . . . . . . . . . .328 11 .2 Пример глобальной оперативной обработки – новая большая картина .328 11 .3 Транзакционные системы мэйнфрейма . . . . . . . . . . . . . . . . . . . . . . . . . . .329 11 .4 Что такое CICS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335 11 .5 Что такое IMS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348 11 .6 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351 11 .7 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352 11 .8 Упражнение: Создание CICS-программы . . . . . . . . . . . . . . . . . . . . . . . . . .352 Глава 12 . Системы управления базами данных в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . .355 12 .1 Системы управления базами данных для мэйнфрейма . . . . . . . . . . . . . .356 12 .2 Что такое база данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356 12 .3 Для чего используются базы данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . .357 12 .4 Кто такой администратор базы данных? . . . . . . . . . . . . . . . . . . . . . . . . . .358 12 .5 Как выполняется проектирование баз данных? . . . . . . . . . . . . . . . . . . . . .360 12 .6 Что такое система управления базами данных? . . . . . . . . . . . . . . . . . . . .362 12 .7 Что такое DB2? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364 12 .8 Что такое SQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370 12 .9 Программирование приложений для DB2 . . . . . . . . . . . . . . . . . . . . . . . . .375 12 .10 Функции IMS Database Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379 12 .11 Структура подсистемы IMS Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379 12 .12 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383 12 .13 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384 12 .14 Упражнение 1 – Использование SPUFI в COBOL-программе . . . . . . . . . . .385 Глава 13 . z/OS HTTP Serer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391 13 .1 Введение в веб-задачи в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392 13 .2 Что такое z/OS HTTP Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392 13 .3 Возможности HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396 13 .4 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 13 .5 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 13 .6 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 Глава 14 . WebSphere Application Serer в z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401 14 .1 Что такое WebSphere Application Server для z/OS? . . . . . . . . . . . . . . . . . . .402 14 .2 Серверы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403 14 .3 Узлы (и агенты узлов) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403 Содержание ix

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.