Головна

Скальлінг

ERDDAP™ - Важкі навантаження, Сітки, кластери, федерації та хмарні обчислення

 

ERDDAP :

ERDDAP™ є веб-додатком та веб-службою, яка об'єднує наукові дані з різних локальних та віддалених джерел і пропонує простий, послідовний спосіб завантаження підсетів даних у спільних форматах файлів і робить графіки та карти. Ця сторінка обговорює питання, пов'язані з важкою ERDDAP™ Використання навантажень та вивчення можливостей для боротьби з надзвичайно важкими навантаженнями через сітки, кластери, федерації та хмарні обчислення.

У червні 2009 року було написано оригінальну версію. Немає суттєвих змін. Останнє оновлення 2019-04-15.

ЗАМОВИТИ

Зміст цієї веб-сторінки Боб Симони особисті думки і не обов'язково відображають будь-яку позицію Уряду або уряду National Oceanic and Atmospheric Administration й Розрахунок спрощені, але я думаю, висновки правильні. Чи можу я використовувати несправну логіку або зробити помилку в моїх обчисленнях? Якщо так, несправність шахти самостійно. Будь ласка, надсилайте електронну пошту з виправленням erd dot data at noaa dot gov й  


Важкі навантаження / обмеження

При важкому використанні автономний ERDDAP™ буде протипоказано (від більшості, ймовірно,) від:

Дистанційне джерело смуга

  1. Дистанційна пропускна здатність джерела даних — Навіть з ефективним підключенням (наприклад, через OPeNDAP ) , якщо джерело даних віддалених даних має дуже високу пропускну здатність підключення до Інтернету, ERDDAP «Відповіді будуть обмежені як швидко ERDDAP™ може отримувати дані з джерела даних. Рішення для копіювання даних ERDDAP 's жорсткий диск, можливо, з EDDGrid Партнерство або EDDTableКопі й  

ERDDAP Статус на сервери

  1. Немовля ERDDAP 's server має дуже високу пропускну здатність підключення до Інтернету, ERDDAP «Відповіді будуть обмежені як швидко ERDDAP™ може отримати дані з джерел даних і як швидко ERDDAP™ може повернути дані клієнтам. Єдине рішення для швидкого підключення до Інтернету.  

Навігація

  1. Якщо є багато одночасних запитів, ERDDAP™ може випускати пам'ять і тимчасово відмовитися від нових запитів. ( ERDDAP™ має декілька механізмів, щоб уникнути цього і мінімізувати наслідки, якщо це відбувається.) Так чим більше пам'яті в сервері краще. На 32-розрядному сервері 4+ ГБ дуже хороший, 2 ГБ океї, менше не рекомендується. На 64-розрядному сервері ви можете практично повністю уникнути проблеми, отримавши багато пам'яті. Дивитися \-Xmx і -Xms налаштування для ERDDAP /Томкат. Анжела ERDDAP™ отримувати важке використання на комп'ютері з 64-розрядним сервером з 8 Гб пам'яті і -Xmx встановлюється до 4000М рідко, якщо коли-небудь, обмежений пам'яті.  

Had Drive Bandwidth

  1. Доступ до даних, що зберігаються на жорсткому диску сервера, значно швидше, ніж доступ до віддалених даних. Навіть так, якщо ERDDAP™ Сервер має дуже високу пропускну здатність Інтернет-з'єднання, це можливо, що доступ до даних на жорсткому диску буде пляшка. Для більш швидкого використання (Наприклад, 10 000 р.) магнітні жорсткі диски або SSD диски (якщо це має значення) й Ще одним рішенням є зберігання різних даних на різних дисках, так що кумулятивна тверда пропускна здатність диска значно вище.  

Too Багато Files Cached

  1. Занадто багато файлів в пердят Каталог — ERDDAP™ кешує всі зображення, але тільки кешує дані для певних типів запитів даних. Доступно для каталогу кеш-пам'яті для запису даних, щоб мати велику кількість файлів тимчасово. Якщо файл знаходиться в кеші (Дуже дякую!) й<пердят Мінуси і гт; в Налаштування.xml Дозволяє встановити, як довго файл може бути в кеші, перш ніж він видаляється. Налаштування меншого числа дозволить мінімізувати цю проблему.  

Процесор

  1. Тільки два речі займають багато часу процесора:
    • NetCDF 4 і HDF 5 тепер підтримує внутрішню компресію даних. Декомпресування великого компресу NetCDF 4 / 4 / 4 / 4 / 4 / 4 / 5 / 6 / 6 / 4 / 5 / 6 / 6 / 4 / 5 / 6 / 4 / 5 / 6 / 6 / 6 / 5 / 6 / 6 / 6 / 5 / 6 / 6 / 6 / 5 / 6 / 5 / 6 / 6 / 6 / 6 / 6 / 5 / 6 / 6 / 5 / 6 / 6 / 5 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 4 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 4 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / 6 / HDF 5 файлів даних можна приймати 10 або більше секунд. (Це не несправність виконання. Це природа стиснення.) Таким чином, багаторазові одночасні запити на дані з даними, що зберігаються в стиснених файлах, можуть покласти на будь-який сервер. Якщо це проблема, то рішення для зберігання популярних даних в некомпресованих файлах або отримання сервера з процесором з більшою кількістю ядер.
    • Виготовлення графіків (включаючи карти) : грубо 0.2 - 1 другий за графік. Отже, якщо було багато одночасних унікальних запитів для графіків ( WMS Клієнти часто роблять 6 одночасних запитів!) , може бути обмеженням процесора. Коли багато користувачів працюють WMS Клієнти, це стає проблемою.  

Кілька ідентичних ERDDAP s з балансуванням навантаження?

Питання часто приходить: "Щоб боротися з важкими навантаженнями, я можу встановити кілька ідентичних ERDDAP з балансуванням навантаження? Це цікаве питання, оскільки воно швидко потрапляє в ядро ERDDAP - дизайн. Швидка відповідь «не». Я знаю, що це розчарування відповідь, але є пара прямих причин і деякі більші фундаментальні причини, чому я розроблений ERDDAP™ використовувати інший підхід (федерація ERDDAP s, описаний в об'ємі цього документа) , що я вірю краще рішення.

Деякі прямі причини, чому ви не можете / ви не встановлюєте кілька ідентичних ERDDAP й

  • Надані ERDDAP™ читати кожен файл даних, коли він першим стає доступним для пошуку діапазонів даних у файлі. Потім зберігає інформацію в файлі індексу. Пізніше, коли запит користувача на дані надходить, ERDDAP™ Використовуйте цей індекс, щоб дізнатися, які файли для перегляду на запитані дані. Якщо було кілька ідентичних ERDDAP s, вони будуть робити цей індекс, який було завдано зусиль. З федеративною системою описано нижче, індексація проводиться тільки один раз, по одному з ERDDAP й
  • Для деяких типів запитів користувачів (Наприклад, для .nc .png, .pdf файли) ERDDAP™ має зробити весь файл перед відправкою. Про нас ERDDAP™ кешує ці файли на короткий час. У разі ідентичного запиту (як це часто робить, особливо для зображень, де URL вбудований в веб-сторінку) й ERDDAP™ може повторно використовувати файл кешування. У системі багаторазового ідентичного ERDDAP s, ці кешовані файли не діляться, тому кожен ERDDAP™ не потрібно відтворити .nc , .png, або .pdf файли. З федеративною системою описано нижче, файли тільки зроблені один раз, по одному з ERDDAP s, і reused.
  • ERDDAP 's система підписки не встановлюється, щоб бути розділений декількома ERDDAP й Наприклад, якщо балансувальник вантажу надсилає користувача одному ERDDAP™ і користувач підписує на дані, а потім інші ERDDAP не знає про це підписку. Після цього, якщо балансувальник навантаження направляє користувачеві різним ERDDAP™ і запитує список підписок, інших ERDDAP™ не скажуть, (провідний його / він, щоб зробити дублікатську підписку на інші ERED DAP ) й З федеративною системою описано нижче, система підписки просто ручається основною, громадською, композитною ERDDAP й

Так, для кожного з тих проблем я міг (з великим зусиллям) інженер рішення (поділитися інформацією між ERDDAP й) , але я думаю, федерація ERDDAP s підхід (описано в об'ємі цього документа) є набагато краще загальний розчин, частково тому що він працює з іншими проблемами, які багаторазово ідентичні ERDDAP s-with-a-load-balancer підхід навіть не запускається до адреси, зокрема, децентралізованої природи джерел даних у світі.

Це найкраще прийняти простий факт, що я не дизайн ERDDAP™ бути розгорнутий як багаторазовий ідентичний ERDDAP s з балансером навантаження. Я свідомо спроектований ERDDAP™ добре працювати в межах федерації ERDDAP s, які я вірю має безліч переваг. Ймовірно, федерація ERDDAP s відмінно вирівняється з децентралізованою, розподіленою системою дата-центрів, які ми маємо в реальному світі (Подумайте про різні регіони IOOS, або різні регіони CoastWatch, або різні частини NCEI, або 100 інших центрів обробки даних NOAA , або різні НАСА ДААК, або 1000 центрів даних по всьому світу) й Замість того, щоб розповісти всі дата-центри світу, які вони повинні відмовитися від своїх зусиль і поставити всі свої дані в централізованому режимі "Додаткове озеро" (Навіть якщо це можливо, це жахлива ідея для багатьох причин -- див. різні аналізи, що показують численні переваги децентралізовані системи ) й ERDDAP Дизайнерські роботи зі світом як це. Кожен центр даних, який виробляє дані, можуть продовжувати підтримувати, вилікувати та зберігати дані (як вони повинні) і все ж, з ERDDAP™ , дані також можуть бути доступні з централізованого ERDDAP , без необхідності передачі даних до централізованого ERDDAP™ або зберігання дублікатів даних. Дійсно, надана датасета одночасно доступна з ERDDAP™ в організації, яка випускається і фактично зберігає дані (Наприклад, GoMOOS) й з ERDDAP™ на батьківській організації (IOOS центральний) й від усього NOAA ERDDAP™ й від уряду ERDDAP™ й від глобального ERDDAP™ (ЗАМОВИТИ) й і від спеціалізованих ERDDAP й (Наприклад, ERDDAP™ в установі, присвяченому дослідженню HAB) й всі необхідні миттєво і ефективно, оскільки тільки метадані передається між ERDDAP s, не дані. Найкраще, після початкового ERDDAP™ при виникненні організації, всі інші ERDDAP s можна швидко налаштувати (кілька годин роботи) з мінімальними ресурсами (один сервер, який не потребує ніяких RAID для зберігання даних, оскільки він зберігає дані локально) , і, таким чином, в дійсно мінімальній вартості. Порівняти це до вартості налаштування та підтримки централізованого центру даних з озерою даних та потребою в дійсно масивному, дійсно дорогих, підключення до Інтернету, а також присутньої проблеми централізованого центру обробки даних є єдиною точкою відмови. До мене, ERDDAP децентралізований, федерований підхід далеко, відмінна.

У випадках, коли заданий дата-центр потребує декількох ERDDAP s, щоб задовольнити високий попит, ERDDAP - дизайн повністю здатний відповідати або перевищення продуктивності багаторазово-ідентичного- ERDDAP s-with-a-load-balancer підхід. Ви завжди маєте можливість налаштування багаторазовий композитний ERDDAP й (як обговорювати нижче) , кожен з яких отримує всі дані з інших ERDDAP s, без балансування навантаження. У цьому випадку я рекомендую, що ви робите точку надання кожного з композиту ERDDAP s різне ім'я / ідентичність і при можливості їх налаштування в різних частинах світу (Наприклад, різні регіони AWS) , наприклад, ERD \_US\_East, ERD \_US\_West, ERD \_IE, ERD \_FR, ERD \_IT, так що користувачі свідомо, багаторазово, працюють з певними ERDDAP , з доданою перевагою, що видалили ризик з однієї точки провалу.  


Сітки, кластери та федерації

Під дуже важке використання, єдиний автономний ERDDAP™ перейдемо в одну або більше Контакти перераховані вище і навіть запропоновані рішення будуть недостатньо. Для таких ситуацій ERDDAP™ має функції, які легко будувати стяжки сітки (також називають кластери або федерації) з ERDDAP s, які дозволяють системі працювати дуже важко (Наприклад, для великого центру даних) й

Я за допомогою сітка як загальний термін для позначення типу комп'ютерний кластер де всі частини можуть або не можуть бути фізично розміщені в одному об'єкті, або не можуть бути центрально введені. Перевага затишних, центральних і вмонтованих сіток (кластери) є те, що вони отримують користь від економіки ваги (особливо людське навантаження) і спростить створення деталей системи праці разом. Перевага нерозташованих сіточок, нецентрових і введенні (федерації) полягає в тому, що вони розподіляють людське навантаження і вартість, і можуть забезпечити додаткову толерантність до несправностей. Розчин я пропоную нижче добре для всіх сіток, кластерів та федераційних топографій.

Основна ідея проектування скасної системи полягає в тому, щоб визначити потенційні пляшки, а потім розробити систему так, щоб частини системи можуть бути відреаговані, як потрібно для полегшення пляшок. В ідеалі кожна реплікована частина збільшує потужність цієї частини системи лінійно (ефективність масштабування) й Система не масштабована, якщо не існує масштабованого розчину для кожної пляшки. Відповідальність відрізняється від ефективності (Як швидко зробити завдання — ефективність деталей) й Скальбільність дозволяє виростити систему для обробки будь-якого рівня попиту. ККД (масштабування і деталей) визначає, скільки серверів і т.д., буде потрібно для задоволення даного рівня попиту. Ефективність дуже важлива, але завжди має ліміти. Scalability - це єдиний практичний рішення для побудови системи, яка може оброблятися дуже важке використання. В ідеалі система буде масштабованою і ефективною.

Голоси

Мета цього дизайну:

  • Щоб зробити масштабовану архітектуру (одна, яка легко посилюється, відреагуючи будь-яку частину, яка стає надмірною) й Щоб зробити ефективну систему, яка максимізує доступність та пропускну здатність даних, наданих наявними обчислювальними ресурсами. (Вартість практично завжди є проблемою.)
  • Збалансувати можливості частини системи так, щоб одна частина системи не переповнена іншої частини.
  • Щоб зробити просту архітектурну архітектуру, так що система легко встановлюється і адміністратора.
  • Щоб зробити архітектуру, яка добре працює з усіма сітчастими топографами.
  • Щоб зробити систему, яка не має витонченості і в обмежений спосіб, якщо будь-яка частина стає перезавантаженням. (Час, необхідний для копіювання великих даних, завжди обмежить здатність системи боротися з раптовим збільшенням попиту на конкретний гарнітур.)
  • (При можливості) Щоб зробити архітектуру, яка не прив'язана до будь-якої конкретної конкретної хмарні обчислення послуги або інші зовнішні послуги (бо не потрібно їх) й

Рекомендації

Наші рекомендації схема сітки / зчеплення

  • В основному, я раджу налаштувати Composite ERDDAP™ ( Р на схемі) , яка є регулярним ERDDAP™ крім того, що він просто обслуговує дані з інших ERDDAP й Архітектура сітки призначена для перемикання якнайбільше робіт (Використання процесора, використання пам'яті, використання пропускної здатності) від Composite ERDDAP™ до іншої ERDDAP й
  • ERDDAP™ має два спеціальні типи даних, EDDGrid ВідErddap і EDDTableЗ альбомуErddap , які відносяться до дані про інші ERDDAP й
  • Коли композит ERDDAP™ отримує запит на дані або зображення з цих даних, складений ERDDAP™ перенаправлення запит даних на інші ERDDAP™ сервер. Результат:
    • Це дуже ефективний (Процесор, пам'ять та пропускна здатність) , бо інакше
      1. Склад ERDDAP™ надсилання запиту даних іншим ERDDAP й
      2. Інше ERDDAP™ має отримувати дані, переформатувати та передавати дані до композиту ERDDAP й
      3. Склад ERDDAP™ отримувати дані (за допомогою додаткової пропускної здатності) , переформатувати (Використання додаткового часу процесора та пам'яті) і передавати дані користувачеві (за допомогою додаткової пропускної здатності) й За допомогою перенаправлення запиту даних та отримання іншого ERDDAP™ відправити відгук безпосередньо на користувача, композит ERDDAP™ не витрачає час на процесор, пам'ять або пропускну здатність на запити даних.
    • Переадресація прозора для користувача незалежно від програмного забезпечення клієнта (веб-переглядач або будь-який інший інструмент для командного рядка) й

Частини сітки

Деталі сітки:

Р : Для кожного джерела даних, що має високу пропускну здатність OPeNDAP сервер можна підключити безпосередньо до віддаленого сервера. Якщо віддалений сервер ERDDAP™ , використання EDDGrid ВідErddap або EDDTableЗ альбому ERDDAP подавати дані в Composite ERDDAP й Якщо віддалений сервер є іншим типом DAP сервер, наприклад, THREDDS, Hyrax , або GrADS, використання EDDGrid ВідDap.

Б : Для кожного ERDDAP джерело даних (джерело даних з яких ERDDAP може читати дані) що має сервер високої пропускної здатності, встановити інший ERDDAP™ в сітці, яка відповідає за надання даних з цього джерела даних.

  • Якщо кілька таких ERDDAP s не отримувати багато запитів для даних, ви можете консолідувати їх в одну ERDDAP й
  • Якщо ERDDAP™ для отримання даних з одного віддаленого джерела є занадто багато запитів, є спокуса додати додаткові ERDDAP s для доступу до джерела даних віддалених даних. У спеціальних випадках це може відчувати себе, але швидше за все, що це передасть джерело даних віддалених даних (що таке самовизначення) а також запобігання іншим користувачам доступу до джерела даних (не приємно) й У такому випадку розглянемо налаштування іншого ERDDAP™ для того, щоб подати інформацію про те, що одна з даних та скопіювати дані ERDDAP 's жорсткий диск (Переглянути Р ) , можливо, з EDDGrid Партнерство та/або EDDTableКопі й
  • Б сервери повинні бути загальнодоступними.

Р : Для кожного ERDDAP -надійне джерело даних, що має сервер низької пропускної здатності (або є повільним сервісом з інших причин) , врахувати налаштування іншої ERDDAP™ і зберігання копії даних, на які були ERDDAP 's жорсткий диск, можливо, з EDDGrid Партнерство та/або EDDTableКопі й Якщо кілька таких ERDDAP s не отримувати багато запитів для даних, ви можете консолідувати їх в одну ERDDAP й Р сервери повинні бути загальнодоступними.

Компонувальник ERDDAP

Р : Склад ERDDAP™ є регулярним ERDDAP™ крім того, що він просто обслуговує дані з інших ERDDAP й

  • Через композит ERDDAP™ має інформацію в пам'яті про всі дані, вона може швидко реагувати на запити на списки даних (повнотекстові пошуки, пошук категорій, список всіх даних) , і запити для форми доступу до даних окремих даних, зробіть форму Графа або WMS Контакти Це всі невеликі, динамічно сформовані, HTML-сторінки на основі інформації, яка проводиться в пам'яті. Так відгуки дуже швидко.
  • Оскільки запити на фактичні дані швидко перенаправлені на інші ERDDAP s, композит ERDDAP™ може швидко реагувати на запити на фактичні дані без використання будь-якого часу процесора, пам'яті або пропускної здатності.
  • Переміщення якомога більше роботи (CPU, пам'ять, пропускна здатність) від Composite ERDDAP™ до іншої ERDDAP s, композит ERDDAP™ може з'являтися дані з усіх даних і все ще зберігатися з великою кількістю запитів даних з великої кількості користувачів.
  • Попередні тести вказують на те, що композит ERDDAP™ може реагувати на більшість запитів в ~1ms час процесора, або 1000 запитів / секунду. Таким чином, 8-ядерний процесор повинен відповідати близько 8000 запитів/секунду. Незважаючи на те, що це можливо, для того, щоб зробити висновок про більш високу активність, яка призведе до уповільнення, тобто багато пропускної здатності. Ймовірно, що пропускна здатність центру даних буде довгою до композиту ERDDAP™ стає пляшечкою.
До сучасної макс. (час) ?

Про нас EDDGrid /TableЗ альбомуErddap в композиті ERDDAP™ тільки змінює інформацію про кожного джерела, коли джерело даних "Завантажити" і деякі зміни метаданих (Наприклад, змінна час actual\_range ) , тим самим генеруючи повідомлення про підписку. Якщо джерело даних має дані, які часто змінюються (наприклад, нові дані) і використовує "оновлення" система помітити часті зміни до основних даних, EDDGrid /TableЗ альбомуErddap не буде повідомлено про ці часті зміни до наступного набору даних "завантаження", тому EDDGrid /TableЗ альбомуErddap не буде ідеальною. Ви можете мінімізувати цю проблему, змінивши джерело даних<reloadEveryNMinutes> до меншого значення (60? 15?) так, щоб повідомлення про підписку більше, щоб розповісти EDDGrid /TableЗ альбомуErddap для оновлення його інформації про джерело даних.

Або, якщо система управління даними знає, коли джерело даних має нові дані (наприклад, через скрипт, який копіює файл даних на місце) і якщо це не дуже часто (наприклад, кожні 5 хвилин, або рідше) , є краще рішення:

  1. Не використовуйте<updateEveryNMillis> для збереження вихідних даних
  2. Набір вихідних даних<reloadEveryNMinutes> до більшого числа (1440?) й
  3. У вас є скрипт контакту з вихідним даними посилання Після копіювання нового файлу даних на місце. Це призведе до вихідних даних, які ідеально додаються до дати та викликати його для створення повідомлення про підписку, яка буде відправлена до джерела даних, які будуть надіслані на джерело. EDDGrid /TableЗ альбомуErddap Dataset. Що призведе до EDDGrid /TableЗ альбомуErddap Dataset, щоб бути ідеальною (добре, протягом 5 секунд додано нові дані) й І все, що буде зроблено ефективно (без зайвих перевантажень даних) й

Кілька композицій ERDDAP й

  • У дуже екстремальних випадках, або для толерантності до несправностей, ви можете налаштувати більше одного композиту ERDDAP й Ймовірно, що інші частини системи (неможливий, пропускна здатність центру даних) стане проблемою до композиту ERDDAP™ стає пляшечкою. Ми можемо самі зателефонувати одержувачу і узгодити зручний час і місце вручення (дзеркала) , кожен з одним композитом ERDDAP™ сервери ERDDAP й (принаймні) дзеркальні копії даних, які користуються великим попитом. Таке налаштування також забезпечує відмову та резервну копію даних (через копіювання) й У цьому випадку краще, якщо композитний ERDDAP s має різні URL-адреси.

Якщо ви дійсно хочете всі композитні ERDDAP s для того, щоб мати однакову URL-адресу, використовуйте передню кінцеву систему, яка призначає користувача лише один з композитних ERDDAP й (на основі IP-адреси) , щоб всі запити користувачів надягали лише одну з композитних ERDDAP й Існує два причини:

  • При перевантаженні основних даних та змінах метаданих (e.g., новий файл даних у сітчастому датасеті викликає зміни часу actual\_range змінити) , композитний ERDDAP s буде тимчасово злегка з синхрону, але з договірна консистенція й Як правило, вони будуть повторно синтезовані протягом 5 секунд, але іноді це буде довше. Якщо користувач здійснює автоматизовану систему, яка спирається на ERDDAP™ підписки які запускають дії, суттєві проблеми синхронізації стануть суттєвими.
  • 2+ композитний ERDDAP s кожен підтримує власний набір підписок (через синхронну проблему описану вище) й

Отже, заданий користувач повинен бути спрямований на лише одну з композитів ERDDAP щоб уникнути цих проблем. Якщо один з композитів ERDDAP s йде вниз, передня система може перенаправляти, що ERDDAP Користувачі інших ERDDAP™ до. Однак, якщо це проблема ємності, яка викликає перший композит ERDDAP™ не вдається (надмірний користувач? з атака denial-of-service ?) , це дуже ймовірно, що перенаправлення своїх користувачів іншим композитним ERDDAP s буде викликати відмова від закупорки й Таким чином, найбільш надійні налаштування повинні мати композитний ERDDAP з різними URL-адресами.

Або, можливо, краще, встановити кілька композиційних ERDDAP без балансування навантаження. У цьому випадку слід зробити точку надання кожного з ERDDAP s різне ім'я / ідентичність і при можливості їх налаштування в різних частинах світу (Наприклад, різні регіони AWS) , наприклад, ERD \_US\_East, ERD \_US\_West, ERD \_IE, ERD \_FR, ERD \_IT, так що користувачі свідомо, багаторазово працюють з певними ERDDAP й

Дані в дуже високому попиті

У самому незвичайному випадку, що один з Р й Б або Р ERDDAP s не може зберігатися з запитами через смуги або обмеження жорсткого диска, він має сенс копіювання даних (знову) на іншому сервері+hard Привід+ ERDDAP , можливо, з EDDGrid Партнерство та/або EDDTableКопі й Хоча це може здатися ідеально, щоб мати оригінальні дані, і скопійовані дані з'являються безшовно, як один набір даних в композиті ERDDAP™ , це важко, тому що два дані будуть в дещо різних штатах в різні часи (ймовірно, після того, як оригінальний отримує нові дані, але перед тим, як скопіювати дані) й Тому я рекомендую, що дані будуть надані трохи різних назв (наприклад, "... (копія #1) " і "... (Копія #2) ", або, можливо, " (Дзеркало # п ) " або " (сервер # п ) « » » » » » » » » » » » » » ») і з'являються як окремі дані в композиті ERDDAP й Користувачі використовуються для перегляду списку дзеркальні сайти на популярних сайтах для завантаження файлів, тому це не дивно або розчаровує їх. Через обмеження пропускної здатності на даній ділянці може мати сенс мати дзеркало, розташоване на іншому місці. Якщо дзеркальна копія знаходиться в різних дата-центрах, доступ до них просто композитний центр даних ERDDAP™ , різні назви (Наприклад: «Дзеркало No1») не потрібно.

RAID versus Регулярні жорсткі диски

Якщо великий набір даних або група даних не сильно використовується, це може бути сенс зберігати дані на RAID, оскільки він пропонує толерантність до несправностей і оскільки вам не потрібно переробляти потужність або пропускну здатність іншого сервера. Але якщо використовується датасет, то це може бути більше сенсу копіювання даних на іншому сервері + ERDDAP™ + жорсткий диск (схожий на Що робить Google ) замість того, щоб використовувати один сервер і RAID для зберігання декількох даних, так як ви отримуєте, щоб використовувати як сервер + HardDrive + ERDDAP s в сітці до одного з них не виходить.

Помилки

Що відбувається, якщо ...

  • Є лопець запитів на один набір даних (наприклад, всі студенти класу одночасно запитують аналогічні дані) ? Тільки ERDDAP™ подавати дані, які будуть перевантажені та уповільнювати або відхиляти запити. Склад ERDDAP™ та інші ERDDAP не вражається. Оскільки граничний фактор для заданих даних в системі жорсткий диск з даними (нема ERDDAP ) , єдиний розчин (негайний) – зробити копію даних на іншому сервері+hardDrive+ ERDDAP й
  • Анжела Р й Б або Р ERDDAP™ неспроможність (Наприклад, несправність жорстких дисків) ? Тільки дані (й) подається, ERDDAP™ впливають. Якщо дані (й) на іншому сервері+hardDrive+ ERDDAP , ефект мінімальний. Якщо проблема є несправністю жорсткого диска на рівні 5 або 6 RAID, ви просто замініть диск і маєте RAID, щоб відновити дані на диску.
  • Склад ERDDAP™ чи? Якщо ви хочете зробити систему дуже висока доступність Ви можете налаштувати багаторазовий композитний ERDDAP й (як обговорювати) , використовуючи щось схоже NGINX або Трафик для обробки балансування навантаження. Зверніть увагу, що дана композитна ERDDAP™ може обробляти дуже велику кількість запитів від великої кількості користувачів, оскільки запити для метаданих є невеликими і обробляються інформацією, яка знаходиться в пам'яті, і запити на дані (що може бути великим) перенаправлення дитини ERDDAP й

простий, масштабований

Ця система легко встановлюється і адміністратора, і легко помітна, коли будь-яка частина її стає перезавантаженням. Єдиними реальними обмеженнями для даного центру є пропускна здатність центру даних та вартість системи.

Проксимус

Зверніть увагу на приблизну смугу загальноприйнятих компонентів системи:

| Компоненти | Орієнтовна пропускна здатність (Гнітес/с) | | до | до | | пам'ять ДДР | 2.5 км | | SSD диск | 1 час | | SATA жорсткий диск | 1 час | | Gigabit Ethernet | 0 р. | | СО-12 | 0 товар(ов) - 0.00 р. | | СО-3 | 0 товар(ов) - 0.00 ₴ | | Т1 | 0 товар(ов) - 0.00 р. |

Так, один SATA жорсткий диск (0.3 Гб/с) на одному сервері ERDDAP™ може, ймовірно, насичений Gigabit Ethernet LAN (КСНУМКСГБ/с) й Gigabit Ethernet LAN (КСНУМКСГБ/с) може, ймовірно, наситити підключення OC-12 (0.06 Гб/с) й І хоча б один вихідний список OC-12 ліній вартістю близько $100,000 на місяць. (Так, ці розрахунки базуються на підштовхуванні системи до її лімітів, що не добре, тому що це призводить до дуже неоднорідних відповідей. Але ці розрахунки корисні для планування та балансування деталей системи.) Ми можемо самі зателефонувати одержувачу і узгодити зручний для вас час. Ви можете легко і відносно дешево побудувати сітку з десятками серверів, що працюють на десятки серверів ERDDAP s, які здатні швидко перекачувати багато даних, але дуже вигідно швидкий підключення до Інтернету буде дуже дорогим. Рішення:

  • Заохочувати клієнтів для запиту субсидій даних, якщо це все необхідне. Якщо клієнт потребує даних для невеликої області або при меншій роздільній здатності, то це те, що вони повинні запитати. Підставка є центральним фокусом протоколів ERDDAP™ підтримка запитів на дані.
  • Заохочування передачі стиснених даних. ERDDAP™ Компресори передача даних, якщо він знаходить "пригоди" в HTTP GET заголовок запиту. Всі веб-переглядачі використовують "пригоди" і автоматично відхиляють відповідь. Інші клієнти (Наприклад, комп'ютерні програми) щоб використовувати його явно.
  • Перемістіть сервери на ISP або іншому сайті, який пропонує порівняно менш дорогі витрати пропускної здатності.
  • Розсіювання серверів з серверами ERDDAP s до різних установ, щоб витрати були дисперговані. Ви можете зв'язатися з нами ERDDAP™ до своїх ERDDAP й

Примітка Хмарні обчислення і послуги веб-хостингу пропонують всю необхідну пропускну здатність Інтернету, але не вирішує проблеми ціни.

Для загальної інформації про проектування стяжки, високої ємності, несправності системи, див. книгу Михайла Т. Негарда Випробування й

Поза «69»

Програмні дизайнери часто намагаються використовувати хороший шаблони дизайну програмного забезпечення вирішувати проблеми. Хороші візерунки хороші, тому що вони чудово зачаровують, легко створювати і працювати з, універсальними рішеннями, які призводять до систем з хорошими властивостями. Візерунки імен не стандартизовані, тому я буду називати шаблоном, який ERDDAP™ використовує Lego шаблон. Кожен Лего (Хто ERDDAP ) - простий, невеликий, стандартний, автономний, цегла (сервер даних) з певним інтерфейсом, який дозволяє його пов'язувати з іншими легосом ( ERDDAP й) й Запчастини ERDDAP™ що робить цю систему: система підписки та прапора (що дозволяє зв'язуватися між ERDDAP й) , EDD ... Система переадресації Erddap та система RESTful запит на дані, які можуть бути використані користувачами або іншими ERDDAP й Таким чином, враховуючи два або більше лего ( ERDDAP й) , ви можете створити величезну кількість різних форм (топології мережі ERDDAP й) й Звичайно, дизайн і особливості ERDDAP™ може бути зроблено по-різному, не Lego-подібним, можливо, тільки для того, щоб забезпечити і оптимізувати одну конкретну топологію. Але ми відчуваємо, що ERDDAP «Легоподібний дизайн пропонує хороший, універсальний рішення, що дозволяє будь-яким ERDDAP™ адміністратор (або група адміністраторів) для створення різних топологій федерації. Наприклад, єдина організація може встановити три (чи більше) ERDDAP s як показано в ERDDAP™ Сітка/Клюстер Діаграма вище й Або розподілена група (IOOS? ПриватБанк НЦЕ? НВС? NOAA ? НАСГ? Даніон? НЕОН? Головна ООІ? BODC? ОВК? АРК? ВАМ?) може налаштувати один ERDDAP™ в кожній маленькій апости (тому дані можуть залишатися поруч з джерелом) а потім встановіть композит ERDDAP™ у центральному офісі з віртуальними даними (які завжди ідеально підходять) від кожної маленької апости ERDDAP й Дійсно, всі ERDDAP s, встановлених в різних установах світу, які отримують дані з інших ERDDAP s і/або надавати дані іншим ERDDAP s, сформувати гігантську мережу ERDDAP й Як класно? Так, як з Лего, можливості безмежні. Ось чому це хороший візерунок. Ось чому це хороший дизайн ERDDAP й

Різні типи запитів

Однією з реальних ускладнень цього обговорення топологій сервера даних є те, що існують різні типи запитів і різні способи оптимізації для різних типів запитів. Це в основному окреме питання (Як швидко зробити ERDDAP™ з даними відповідь на запит на дані?) з топографічної дискусії (з якими працює зв’язок між серверами даних та сервером, що має фактичні дані) й ERDDAP™ , звичайно, намагається боротися з усіма видами запитів ефективно, але обробляє деякі краще, ніж інші.

  • Багато запитів прості. Наприклад: Що таке метадані для цього набору даних? Або: Які значення виміру часу для цього сітчастого набору даних? ERDDAP™ призначений для обробки даних максимально швидко (зазвичай в<=2 мс, зберігаючи цю інформацію в пам'яті.  
  • Деякі запити помірно важко. Наприклад: Подаруйте мені цей підмножин даних (який знаходиться в одному файлі даних) й Ці запити можна використовувати відносно швидко, оскільки вони не так складно.  
  • Деякі запити важко і, таким чином, трудомісткі. Наприклад: Подаруйте мені цей підмножин даних (які можуть бути в будь-якому з файлів даних 10000 +, або можуть бути з стиснених файлів даних, які кожен приймає 10 секунд, щоб видалити) й ERDDAP™ v2.0 представила нові, швидше способи боротьби з цими запитами, можливо, дозволяючи замовчувати нитку, щоб сплетіти кілька робочих ниток, які заглушують різні підбори запиту. Але є ще один підхід до цієї проблеми ERDDAP™ ще не підтримує: субсети файлів даних для даної Dataset можуть зберігатися і аналізуватися на окремих комп'ютерах, а потім результати поєднані на оригінальному сервері. Цей підхід називається Мапа і здійснюється Гадуп , перший (?) Програма Opensource MapReduce на основі ідей з паперу Google. (Якщо вам потрібна карта ERDDAP , будь ласка, надсилайте запит на електронну пошту erd.data at noaa.gov й) Українська Великий Цікаво, що вона, здається, є імплементацією MapReduce, що застосовується до підкатування табличних даних, що є одним з ERDDAP - основні цілі. Ви можете створити ERDDAP™ датасет з Dataset BigQuery через EDDTableЗ альбомуDatabase Оскільки BigQuery можна отримати через інтерфейс JDBC.

Це мої думки.

Так, розрахунки є спрощення (і тепер злегка відхилений) , але я думаю, висновки правильні. Чи можу я використовувати логіку несправності або зробити помилку в моїх обчисленнях? Якщо так, несправність шахти самостійно. Будь ласка, надсилайте електронну пошту з виправленням erd dot data at noaa dot gov й


Хмарні обчислення

Кілька компаній пропонують послуги хмарних обчислень (Наприклад, Веб-послуги Amazon і Платформа Google Cloud ) й Веб хостинг Пропонуються простіші послуги з середини-1990-х, але послуги «cloud» значно розширили гнучкість систем і асортимент пропонованих послуг. З моменту ERDDAP™ сітка просто складається з ERDDAP й ERDDAP й Java веб-додатки, які можуть працювати в Tomcat (Найпоширеніший сервер додатків) або інші сервери додатків, повинні бути відносно простими у встановленні ERDDAP™ сітка на хмарному сервісі або сайті веб-хостингу. Переваги цих послуг:

  • Вони пропонують доступ до високошвидкісних Інтернет-з'єднань. За допомогою цих послуг можна виправдати самостійно.
  • Використовуються тільки послуги. Наприклад, ви отримаєте доступ до дуже високої пропускної здатності Інтернет-з'єднання, але ви тільки платите за фактичні дані, передані. Що дозволяє вам побудувати систему, яка рідко отримує перевантажений (навіть на піковому попиті) , не маючи плати за ємність, яка рідко використовується.
  • Вони легко помітні. Ви можете змінити типи серверів або додати стільки серверів або скільки накопичувачів, як ви хочете, менш ніж за хвилину. За допомогою цих послуг можна виправдати самостійно.
  • Ми можемо самі зателефонувати одержувачу і узгодити зручний час. За допомогою цих послуг можна виправдати самостійно.

До недоліків цих послуг відносяться:

  • Вони стягуються за свої послуги, іноді багато (в абсолютних умовах;) й Ціни вказані тут Amazon EC2 й Ці ціни (від Червень 2015) зійде. У минулому ціни були вищими, але файли даних і кількість запитів були меншими. У майбутньому ціни будуть нижчими, але файли даних і кількість запитів будуть більшими. Так зміни деталей, але ситуація залишається відносно постійним. І це не те, що служба завищена, це те, що ми використовуємо і купуємо багато сервісу.
    • Передача даних — передача даних в систему зараз безкоштовно (Я!) й Перекази даних з системи - $0.09/GB. Один SATA жорсткий диск (0.3 Гб/с) на одному сервері ERDDAP™ може, ймовірно, насичений Gigabit Ethernet LAN (КСНУМКСГБ/с) й 1 Gigabit Ethernet LAN (КСНУМКСГБ/с) може, ймовірно, наситити підключення OC-12 (0.06 Гб/с) й Якщо один підключення OC-12 може передавати ~ 150,000 GB / місяць, витрати передачі даних можуть бути як 150,000 GB @ $0.09 / Гб = $ 13,500 / місяць, що є значною вартістю. Зрозуміло, якщо у вас є десятки працьовитих ERDDAP s на хмарному сервісі, ваші щомісячні платежі передачі даних можуть бути суттєвими (до $162,000/місяць) й (Знову ж, це не те, що послуга завищеною ціною, це те, що ми використовуємо і купуємо багато сервісу.)
    • Зберігання даних — Amazon заряджає $50 / місяць на TB. (Порівняти, що для покупки 4TB підприємства виводять прямо для ~ $ 50 / TB, хоча RAID, щоб покласти його в і адміністративні витрати, додати до загальної вартості.) Так, якщо необхідно зберігати багато даних у хмарі, це може бути досить дорого (Наприклад, 100ТБ обійдеться $5000 / місяць) й Але якщо у вас є дійсно велика кількість даних, це менша проблема, ніж витрати передачі трафіку / даних. (Знову ж, це не те, що послуга завищеною ціною, це те, що ми використовуємо і купуємо багато сервісу.)
       

Підставки

  • Проблема підкріплення: Єдиний спосіб ефективного розподілу даних з файлів даних полягає в тому, щоб мати програму, яка розподіляє дані (Наприклад, ERDDAP ) працює на сервері, який має дані, що зберігаються на локальному жорсткому диску (або аналогічно швидкий доступ до SAN або локальних RAID) й Місцеві файлові системи дозволяють ERDDAP™ (і базові бібліотеки, такі як netcdf-java) Щоб запитувати певні діапазони від файлів і отримати відповіді дуже швидко. Багато типів запитів даних ERDDAP™ до файлу (немовірно сформульовані запити даних, де значення стовпа > 1 час) не може бути зроблено ефективно, якщо програма повинна запитати весь файл або великі шматки файлу з нелокальної (апошні) система зберігання даних, а потім витягти субсет. Якщо хмарний налаштування не дає ERDDAP™ швидкий доступ до байтних діапазонів файлів (як швидко, так і з локальними файлами) й ERDDAP - доступ до даних буде важкою пляшкою і негадувати інші переваги використання хмарного сервісу.

Розміщені дані

Альтернативою аналізу вищевказаних витрат (який базується на володінні даними (Наприклад, NOAA ) оплати за свої дані, що зберігаються у хмарі) прибув до 2012 року, коли Amazon (і в меншій мірі, деякі інші хмарні провайдери) Почати хостинг деякі дані у хмарі (AWS S3) безкоштовно (ймовірно, з надії, що вони можуть відновити свої витрати, якщо користувачі будуть орендовані екземпляри AWS EC2 для роботи з цими даними) й Зрозуміло, це робить хмарні обчислення в основному більш економічно ефективні, тому що час і вартість завантаження даних і хостингу тепер нульовий. З ERDDAP™ v2.0, є нові можливості для полегшення роботи ERDDAP у хмарі:

  • Тепер, EDDGrid ВідFiles або EDDTableЗ альбомуFiles dataset може бути створений з файлів даних, які віддалені та доступні через Інтернет (Наприклад, AWS S3 відро) за допомогою використання<cacheЗ альбомуUrl> і<вся в соку GB & Gt; варіанти. ERDDAP™ буде підтримувати локальний кеш даних, який використовує файли даних.
  • Тепер, якщо будь-який EDDTableЗ альбомуFiles вихідні файли стискаються (Наприклад, .tgz ) й ERDDAP™ автоматично відхиляти їх, коли він читає їх.
  • Тепер, ERDDAP™ Нитка, що відповідає заданому запиту, буде спалювати робочі нитки, щоб працювати на підрозділах запиту, якщо ви використовуєте<nThreads> варіанти. Ця паралеляція дозволяє швидше реагувати на складні запити.

Ці зміни розв’язують задачу AWS S3 не пропонуючи локальні, блок-рівневі зберігання файлів і (старі) проблема доступу до даних S3, що мають значний лаг. (Роки тому (до 2014) , що ляг був значним, але зараз набагато коротше і так не настільки значним.) Все, що означає, що налаштування ERDDAP™ в хмарі працює набагато краще.

Надія — Дуже дякую голові Арроту та його групі в оригінальному OOI зусиллях за свою роботу над створенням ERDDAP™ у хмарі та отриманих дискусіях.  


Віддалене відтворення даних

Є спільна проблема, яка пов'язана з вищезгаданим обговоренням сіток і федерацій ERDDAP s: віддалене відтворення даних. Основна проблема: провайдер даних зберігає дані, які змінюють час і користувач хоче підтримувати сучасну локальну копію цієї бази даних (для будь-якого з різних причин) й Зрозуміло, є величезна кількість варіацій цього. Деякі варіації набагато важче боротися з іншими.

  • Швидкий оновлення Важко зберегти локальні дані Увійти (наприклад, за 3 секунди) після кожного зміни до джерела, а не, наприклад, протягом декількох годин.  
  • Часті зміни Часті зміни жорсткіші для вирішення невідповідних змін. Наприклад, одноденні зміни набагато простіше, ніж зміни кожного 0,1 секунди.  
  • Невеликі зміни Невеликі зміни у вихідний файл навряд чи мають справу з абсолютно новим файлом. Це особливо правда, якщо невеликі зміни можуть бути в будь-якому місці в файлі. Невеликі зміни важко виявити і зробити його важко ізолювати дані, які повинні бути відскановані. Нові файли легко виявляти та ефективно переносити.  
  • Вхідні дані Зберігати всі дані, розміщені на сайті, важко, ніж підтримувати лише останні дані. Деякі користувачі просто потребують останніх даних (Наприклад, останні 8 днів) й  
  • Кілька Копій Підтримка декількох віддалених копій на різних сайтах важче, ніж підтримка однієї віддаленої копії. Це проблема масштабування.  

На жаль, величезна кількість варіацій можливих типів змін до вихідних даних і потреб користувачів і очікувань. Багато варіацій дуже складно вирішити. Найкраще рішення для однієї ситуації часто не найкраще рішення для іншої ситуації — це ще не універсальне рішення.

Релевант ERDDAP™ Інструменти

ERDDAP™ пропонує кілька інструментів, які можуть використовуватися в рамках системи, яка прагне підтримувати віддалену копію даних:

  • ERDDAP Р RSS (Багатий сайт резюме?) Послуги
    пропонує швидкий спосіб перевірити наявність даних на пульті дистанційного керування ERDDAP™ змінився.  
  • ERDDAP Р Послуга підписки
    є більш ефективним (до RSS ) Підхід: він негайно надішлемо електронну пошту або зв'язавшись з URL-адресою до кожного абонента, коли процес оновлення та оновлення, що призвело до зміни. Це ефективний у тому, що це відбувається як ASAP, так і не було (як з опитуванням RSS Послуги) й Користувачі можуть використовувати інші інструменти (як ІФТТ ) реагувати на повідомлення електронної пошти з системи підписки. Наприклад, користувач може підписатися на Dataset на пульті дистанційного керування ERDDAP™ і використовувати IFTTT для реагування на повідомлення електронної пошти підписки і запуску оновлення локального гарнітура даних.  
  • ERDDAP Р система прапора
    забезпечує спосіб для ERDDAP™ адміністратору, щоб розповісти дані на його / її ERDDAP перезавантажити ASAP. Форма URL-адреси прапора може легко використовуватися в скриптах. Форма URL-адреси прапора також може бути використана як дія для підписки.  
  • ERDDAP Р "files" системи
    може запропонувати доступ до вихідних файлів для даної Dataset, включаючи список каталогів Apache-style файлів ("Web Доступний складник") який має URL-адресу завантаження кожного файлу, останнє оновлення та розмір. Один недолік використання "files" система є, що вихідні файли можуть мати різні змінні імена та різні метадані, ніж дані, як це з'являється в ERDDAP й Якщо віддалено ERDDAP™ Dataset пропонує доступ до своїх вихідних файлів, що відкриває можливість для локальної системи, щоб побачити, які віддалені файли змінилися і потрібно завантажити. (Дивитися cacheЗ альбомуUrl варіант нижче, які можуть використовувати це.)
     

Рішення

Хоча існує величезна кількість варіацій до проблеми і нескінченна кількість можливих рішень, є просто функціональність базових підходів до рішень:

Користувальницькі, Брюте Силові рішення

Поясним рішенням є передача індивідуального рішення, яке, таким чином, оптимізовано для вказаної ситуації: зробити систему, яка виявляє/ідентифікує, які дані змінилися, і надсилає цю інформацію користувачеві, тому користувач може вимагати зміни даних. Ну можна зробити це, але є недоліки:

  • Користувальницькі рішення є багато роботи.
  • Користувальницькі рішення, як правило, так налаштовані на даній системі даних, і за умови, що вони не можуть бути використані.
  • Користувальницькі рішення повинні бути побудовані і підтримується вами. (Це ніколи не гарна ідея. Ми можемо самі зателефонувати одержувачу і узгодити зручний час.)

Я відчув цей підхід, тому що він практично завжди краще шукати загальні рішення, побудовані і підтримується кимось іншим, які можуть легко використовуватися в різних ситуаціях.  

Український

Український є існуючим, приголомшливо добре, загальним рішенням з метою збереження збору файлів на початковому комп'ютері в синхронізації на віддаленому комп'ютері користувача. Так працює:

  1. деякі події (Наприклад, ERDDAP™ подія системи підписки) тригери, що виконуються rsync, (or, cron працює rsync в конкретні часи щоденно на комп'ютері користувача)
  2. які контакти rsync на вихідному комп'ютері,
  3. який обчислює серію хешів для шматків кожного файлу і передає ці хеши до рsync користувача,
  4. що порівняє цю інформацію на подібну інформацію для користувача копію файлів,
  5. які потім запитують шматки файлів, які змінилися.

Враховуючи все, що це робить, rsync працює дуже швидко (Наприклад, 10 секунд плюс час передачі даних) і дуже ефективно. Є варіації rsync оптимізувати різні ситуації (наприклад, за допомогою попередньоїкалькуляції та кешування хешів кожного файлу) й

Основні слабкі сторони rsync є: він приймає деякі зусилля, щоб налаштувати (питання безпеки) ; є деякі проблеми з масштабуванням; і це не добре для зберігання даних NRT дійсно оновлення (Наприклад, ви можете використовувати rsync більш ніж за 5 хвилин) й Якщо ви можете боротися зі слабкими сторонами, або якщо вони не впливають на вашу ситуацію, rsync є відмінним, загальним рішенням для цілей, які кожен може використовуватися прямо зараз, щоб вирішити багато сценаріїв, пов'язаних з дистанційним відтворенням даних.

Є товар на ERDDAP™ Щоб зробити список, щоб додати підтримку послуг з rsync ERDDAP (ймовірно, досить складне завдання) , так що будь-який клієнт може використовувати rsync (або варіант) збереження сучасної копії даних. Якщо хтось хоче працювати над цим, будь ласка, по електронній пошті erd.data at noaa.gov й

Є інші програми, які роблять більше або менше, що робить rsync, іноді орієнтовані на повторення даних (Хоча часто на рівні файлокопії) , наприклад, Unidata Р Ім'я й

Cache від Урл

cacheЗ альбомуUrl налаштування (від ERDDAP™ в2.0) для всіх ERDDAP - типи даних, які роблять дані з файлів (в основному, всі підкласи EDDGrid Відповіді і EDDTableЗ альбомуFiles ) й пердят ВідUrl дозволяє автоматично завантажувати та зберігати локальні файли даних, копіюючи їх з віддаленого джерела через кеш Відповідні налаштування. Віддалені файли можуть бути в веб-доступному папці або списку каталогів, що пропонуються THREDDS, Hyrax , відро S3 або ERDDAP Р "files" система.

Якщо джерело віддалених файлів є дистанційним ERDDAP™ датасет, який пропонує вихідні файли через ERDDAP™ "files" система, потім можна Увійти до віддаленого набору даних і використання посилання для вашого локального гарнітура як дії для підписки. Після цього, коли всі зміни віддалених даних, він зв'яжеться з URL-адресою прапора для вашого облікового запису, який розповість, щоб перезавантажити ASAP, який виявить і завантажується змінені файли віддалених даних. Все це дуже швидко (зазвичай ~5 секунд плюс час, необхідний для завантаження змінених файлів) й Цей підхід працює чудово, якщо зміни вихідних даних є новими файлами, які періодично додаються, і коли існуючі файли ніколи не зміняться. Цей підхід не працює добре, якщо дані часто додаються всім (або більшість) з існуючих вихідних даних файлів, тому що локальні дані часто завантажують всі віддалені дані. (Це те, де потрібен rsync-подібний підхід.)

Архіви

ERDDAP™ Р Архіви є гарним рішенням, коли дані додаються часто, але старі дані ніколи не змінюються. В основному, ERDDAP™ Адміністратор може запустити АрхівADataset (можливо в скрипті, можливо, запустити cron) і вказати підмножину даних, які вони хочуть витягти (можливо в декількох файлах) і пакет в пакеті .zip або .tgz файл, щоб ви могли надсилати файл для зацікавлених осіб або груп (Наприклад, NCEI для архівування) або зробити його доступними для завантаження. Наприклад, ви можете запустити АрхівADataset щоденно о 12:10 ранку і мати це зробити .zip до 12:00 (Або, робіть це щотижневе, щомісячне, або щорічно, як це потрібно.) Оскільки упакований файл генерується в автономному режимі, не існує ніякої небезпеки часу або занадто багато даних, оскільки для стандартного пакету буде ERDDAP™ запит.  

ERDDAP™ Стандартна система запиту

ERDDAP™ - стандартна система запиту - це альтернативне рішення, коли дані додаються до даних, але старі дані ніколи не змінюються. В основному, кожен може використовувати стандартні запити для отримання даних для певного діапазону часу. Наприклад, в 12:10 ранку щоденно ви можете зробити запит на всі дані з віддалених даних з 12:00 до 12:00. Обмеження (у порівнянні з архієпископом) є ризиком часу або є занадто багато даних для одного файлу. Ви можете уникнути обмеження, зробивши більш часті запити для менших періодів часу.  

EDDTableЗ альбомуHttpGet

\[ Цей варіант ще не існує, але, здається, можливо, побудувати в найближчому майбутньому. \]
Новий EDDTableЗ альбомуHttpGet тип даних в ERDDAP™ v2.0 дозволяє використовувати інший розчин. Основні файли, що зберігаються цим типом Dataset, є важливим чином логічні файли, які записують зміни до даних. Для побудови системи, яка періодично зберігає локальні дані (або на основі тригера) запитуючи всі зміни, які були зроблені на віддалені дані з останнього запиту. Щоб бути ефективним (чи більше) ніж rsync і буде обробляти багато складних сценаріїв, але тільки працювати, якщо віддалені і локальні дані є EDDTableЗ альбомуHttpGet datasets.

Якщо хтось хоче працювати над цим, будь ласка, зв'яжіться з нами erd.data at noaa.gov й

Поширені дані

Немає рішень вище, робить велику роботу вирішення важкої варіації проблеми, оскільки повторення найближчого реального часу (НРТ) дані дуже важко, частково через всі можливі сценарії.

Є велике рішення: навіть не намагайтеся відтворити дані. замість того, щоб використовувати один авторитетний джерело (одна дата ERDDAP ) , що підтримується постачальником даних (e.g., регіональний офіс) й Всі користувачі, які хочуть отримувати дані з цього набору, завжди отримують його з джерела. Наприклад, додатки на веб-переглядачі отримують дані з запиту на URL, тому не важливо, що запит є оригінальним джерелом на віддаленому сервері (не той же сервер, який є хостингом ESM) й Багато людей порекомендували цей підхід розподілених даних протягом тривалого часу (Наприклад, Roy Mendelssohn за останні 20+ років) й ERDDAP Модель федерації (Топ 80% цього документа) ґрунтується на цьому підході. Таке рішення схоже на меч до Гордянської Ноти — все проблема йде далеко.

  • Цей розчин приголомшливо простий.
  • Цей розчин є приголомшливо ефективним, оскільки не працює, щоб зберегти відреагований набір даних (й) до дати.
  • Користувачі можуть отримувати останні дані в будь-який час (Наприклад, затримкою тільки ~0.5 секунд) й
  • Він добре масштабує і є способи поліпшення масштабування. (Переглянути обговорення на вершині 80% цього документа.)
     

Ні, це не рішення для всіх можливих ситуацій, але це чудове рішення для великої більшості. Якщо виникають проблеми / милосердя з цим рішенням в певних ситуаціях, часто варто звернутися до вирішення цих проблем або ж жити з тими слабкостями через приголомшливі переваги цього розчину. Якщо ви дійсно повинні мати локальну копію даних, то розглянемо інші рішення, які обговорюються вище.  

Висновок

Поки не існує єдиного, простого рішення, яке ідеально вирішує всі проблеми у всіх сценаріях (як rsync і розподілені дані практично) , сподіваюся, є достатні інструменти і варіанти, щоб ви можете знайти прийнятний рішення для вашої конкретної ситуації.