Головна

Скальлінг

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

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

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

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

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

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

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

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


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

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

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

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

Голоси

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

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

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

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

  • В основному, я раджу налаштувати CompositeERDDAP™ ( Р на схемі) , яка є регулярнимERDDAP™крім того, що він просто обслуговує дані з іншихERDDAPй Архітектура сітки призначена для перемикання якнайбільше робіт (Використання процесора, використання пам'яті, використання пропускної здатності) від CompositeERDDAP™до іншої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подавати дані в CompositeERDDAPй Якщо віддалений сервер є іншим типомDAPсервер, наприклад, THREDDS,Hyrax, або GrADS, використанняEDDGridВідDap.

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

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

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

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

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

  • Через композитERDDAP™має інформацію в пам'яті про всі дані, вона може швидко реагувати на запити на списки даних (повнотекстові пошуки, пошук категорій, список всіх даних) , і запити для форми доступу до даних окремих даних, зробіть форму Графа абоWMSКонтакти Це всі невеликі, динамічно сформовані, HTML-сторінки на основі інформації, яка проводиться в пам'яті. Так відгуки дуже швидко.
  • Оскільки запити на фактичні дані швидко перенаправлені на іншіERDDAPs, композитERDDAP™може швидко реагувати на запити на фактичні дані без використання будь-якого часу процесора, пам'яті або пропускної здатності.
  • Переміщення якомога більше роботи (CPU, пам'ять, пропускна здатність) від CompositeERDDAP™до іншоїERDDAPs, композит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й (принаймні) дзеркальні копії даних, які користуються великим попитом. Таке налаштування також забезпечує відмову та резервну копію даних (через копіювання) й У цьому випадку краще, якщо композитнийERDDAPs має різні URL-адреси.

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

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

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

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

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

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

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

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

Помилки

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

  • Є лопець запитів на один набір даних (наприклад, всі студенти класу одночасно запитують аналогічні дані) ? Тільки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 на місяць. (Так, ці розрахунки базуються на підштовхуванні системи до її лімітів, що не добре, тому що це призводить до дуже неоднорідних відповідей. Але ці розрахунки корисні для планування та балансування деталей системи.) Ми можемо самі зателефонувати одержувачу і узгодити зручний для вас час. Ви можете легко і відносно дешево побудувати сітку з десятками серверів, що працюють на десятки серверівERDDAPs, які здатні швидко перекачувати багато даних, але дуже вигідно швидкий підключення до Інтернету буде дуже дорогим. Рішення:

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

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

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

Поза «69»

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


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

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

  • Швидкий оновлення Важко зберегти локальні дані Увійти (наприклад, за 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™Щоб зробити список, щоб додати підтримку послуг з rsyncERDDAP (ймовірно, досить складне завдання) , так що будь-який клієнт може використовувати 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 і розподілені дані практично) , сподіваюся, є достатні інструменти і варіанти, щоб ви можете знайти прийнятний рішення для вашої конкретної ситуації.