slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Использование блобов PowerPoint Presentation
Download Presentation
Использование блобов

Loading in 2 Seconds...

play fullscreen
1 / 30
viho

Использование блобов - PowerPoint PPT Presentation

0 Views
Download Presentation
Использование блобов
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Использование блобов В этом модуле: Что такое хранилище блобов? Как получить доступ к хранилищу блобов? Что такое диск Azure?

  2. BLOB Binary Large OBject

  3. Нужен разделённый доступ В масштабируемом окружении данные должны быть в разных местах. Балансировщик нагрузки не «липкий». Web -роль Хранилище Web -роль LB Web -роль

  4. Блобы в Azure & размер • Размер блоба – до 1Тб. • Неограниченное количество контейнеров и блобов. • Контейнеры можно создавать/уничтожать в реальном времени.

  5. Аккаунт Контейнер • Блоб • Страницы/ • Блоки Адресация блоба http://<account>.blob.core.windows.net/<container>/<blobname> • PIC01.JPG • Блок/страница • images • VID1.AVI • PIC02.JPG • contoso Блок/страница • videos

  6. Контейнеры • Аналогично папке верхнего уровня • Может содержать до 100Тб файлов • Может содержать только блобы Каждый контейнер имеет права доступа: • Приватные • По умолчанию, для доступа нужен ключ аккаунта • Полное публичное чтение • Публичное только чтение

  7. Контейнеры блобов • Много контейнеров на аккаунт • Специальный контейнер $root • Контейнер блобов • Контейнер содержит множество блобов • Определение доступа на уровне контейнера • Привязывание метаданных к контейнеру • Список блобов в контейнере • Включая метаданные блобов и MD5 • Нет поисковых запросов типа WHERE MetadataValue = ? • Пропускная способность блобов • Эффективно в случае одной партиции • Цель – 60Мб/сек на блоб

  8. Работа с контейнерами

  9. Работа с блобами

  10. Загрузка блоба • Альтернативы • UploadFile • UploadText • UploadFromStream

  11. Скачивание блоба • Альтернативы • DownloadText • DownloadByteArray • DownloadToFile

  12. Контейнер & метаданные блоба • Простой словарь. • Для сохранения в хранилище нужно • вызвать SetMetadata().

  13. Снапшоты • Создаёт read-only версию блоба

  14. Два типа блобов • Блочный блоб • Для потоковых нагрузок • Каждый блоб – последовательность блоков • Каждый блок определяется Block ID • Размер ограничен 200Гб на блоб • Оптимистичный параллелизм через ETags • Страничный блоб • Для операций случайного чтения и записи • Каждый блоб – массив страниц • Каждая страница определяется отступом от начала блоба • Размер ограничен 1Тб на блоб • Оптимистичный или пессимистичный (блокировка) параллелизм через Leases

  15. Загрузка блочного блоба Блоб blobName = “TheBlob.wmv”; PutBlock(blobName, blockId1, block1Bits); PutBlock(blobName, blockId2, block2Bits); ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); 10 GB Movie Block Id 2 Block Id N Block Id 1 Block Id 3 • Преимущества • Эффективная постоянная запись и повторы • Параллельная загрузка блоков без учета порядка Хранилище Windows Azure TheBlob.wmv TheBlob.wmv

  16. Страничный блоб– случайные чтения/запись • Создайте MyBlob • Укажите размер блоба = 10 Гб. • Оплата только за страницы с данными • Фиксированный размер страницы = 512 байт • Операции случайного доступа • PutPage[512, 2048) • PutPage[0, 1024) • ClearPage[512, 1536) • PutPage[2048,2560) • GetPageRange[0, 4096) возвращает диапазоны [0,512) , [1536,2560) • GetBlob[1000, 2048) возвращает • Все 0 для первых 536 байт • Следующие 512 байт – данные из [1536,2048) 0 512 1024 1536 2048 Адресное пространство 2560 10 Гб

  17. Shared Access Signatures • Гибкие права доступа к блобам и контейнерам • Простейший путь выдачи доступа пользователю на загрузку файлов в блобовый аккаунт • Подписка URL ключом хранилища, разрешение повышенных привилегий • Отзыв • Используйте короткие периоды, после которых производите повторную выдачу • Используйте политику уровня контейнера, которую можно удалить

  18. Привязка к контейнеру Доступ на чтение на 10 минут Пример Доступ на запись на 10 минут Привязка к URI

  19. Сеть доставки данных (CDN) • Сценарий • Для часто запрашиваемых блобов • Доступно из любой точки мира • Сеть доставка данных Windows Azure (CDN) предоставляет доставку данных с высокой пропускной способностью • 20+ узлов по всему миру (США, Европа, Азия, Австралия, Южная Америка), количество продолжает увеличиваться • Один и тот же пользовательский опыт использования вне зависимости от удаления от места расположения аккаунта хранилища • Стоимость • Узлы в США 15ц/Гб + 1ц/10,000 транз. • Остальные узлы 20ц/Гб + 1ц/10,000 транз. • Трафик узел хранилищаузел CDN по обычной цене

  20. Доставка, Масштабирование и Производительность БОЛЕЕ 3 ТЕРАБИТ В СЕКУНДУ ПРОПУСКОЙ СПОСОБНОСТИ ИЗ 20+ УЗЛОВ ПО ВСЕМУ МИРУ С ДОСТУПНОСТЬЮ 99.95% ВРЕМЕНИ. СЕРВИС CDN АВТОМАТИЧЕСКИ МАСШТАБИРУЕТСЯ БЕЗ УЧАСТИЯ ПОЛЬЗОВАТЕЛЯ. БОЛЕЕ 3 ЛЕТ – ВНУТРИ MICROSOFT, ТЕПЕРЬ ДОСТУПНО И КЛИЕНТАМ WINDOWS AZURE.

  21. Как это работает? http://civ5.blob.core.windows.net/demo/civ5demo.exe Публичный контейнер блобов Узел CDN 1 ! http://<guid>.vo.msecnd.net/demo/civ5demo.exe

  22. Диски Windows Azure • Долговечные NTFS-тома, используемые экземплярами в Windows Azure • Используйте существующие NTFS API для доступа к примонтированному по сети диску • Используйте System.IO из .NET • Преимущества • Более простой перенос приложений в «облако», используя NTFS • Долговечность и сохранение данных • Диск Windows Azure – страничный блобв NTFS VHD • Подключайте страничный блоб по сети как диск NTFS • Локальный кэш для операций чтения на экземпляре • Все «смытые» и небуферизованные записи на диск сохраняются в страничный блоб

  23. Возможности диска Windows Azure • Диск Windows Azure –страничный блоб, форматированный как том NTFS VHD • Размер диска – до 1Тб • Страничный блоб может быть примонтирован: • К одному экземпляру в один момент времени для чтения/записи • К многим экземплярам, используя read-only снапшоты • Экземпляр может динамически монтировать до 16 дисков • Remote Access через стандартный BlobUI • Нельзя удаленно монтировать диск. • Можно загружать VHD в страничный блоб, используя интерфейс блоба, и затем монтировать его как диск • Можно скачивать VHD как локальный файл и монтировать локально

  24. Как работают диски Windows Azure ВМ Приложение Диск X: ОС Лиз Локальный кэш Сервис блобов Windows Azure DemoBlob Диск – форматированный страничный блоб, хранящийся в сервисе блобов При монтировании получается лизинг При монтировании указывается объем локального кэша на локальном хранилище «Смытые»/небуферизованные операции записи NTFS сохраняются в хранилище блобов перед возвращением в приложение Операции чтения могут происходить либо с локального кэша, либо с хранилища блобов (минуя кэш)

  25. Пример клиентской библиотеки диска CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("CloudStorageAccount"); //Инициализация локального кэша для монтируемых на экземпляр дисков CloudDrive.InitializeCache(localCacheDir, cacheSizeInMB); //Создание «облачного» диска (страничного блоба) CloudDrive drive = account.CreateCloudDrive(pageBlobUri); drive.Create(1000 /* sizeInMB */); //Монтирование подключенного по сети диска к локальной файловой системе stringpathOnLocalFS = drive.Mount(cacheSizeInMB, DriveMountOptions.None); //Использование NTFS API для операций чтения/записи на диск … //Создание снапшота диска при монтировании для резервирования Uri snapshotUri = drive.Snapshot(); //Размонтирование диска drive.Unmount();

  26. Failover с дисками • Необходимо выполнить команду NTFS Flush для сохранения данных • Используйте System.IO.Stream.Flush() • Диски чтения/записи защищены лизингом • 1-минутное истечение лизинга • Управляются Windows Azure OS Driver • Размонтируются при выполнении RoleEntryPoint.OnStop • При ошибке • Лизинг истекает через одну минуту • Диск перемонтируется на новый экземпляр

  27. Руководство • Управляйте строками подключения/ключами в cscfg • Не распространяйте ключи, «оборачивайте» их в сервис • Планируйте стратегию создания аккаунтов и контейнеров • К аккаунту хранилища можно привязать домен

  28. Гостевая книга в Windows Azure с использованием блобов демонстрация

  29. Q & A соображения?

  30. Изучая хранилище Windows Azure C:\WAPTK\Labs\ExploringWindowsAzureStorageVS2010 Сделайте упражнение 2. Время на лабораторную