Designing for Scale with Windows Azure Storage

Новый выпуск channel 9 рассказывающий про Azure Storage Tables. Это очень популярная тема, так как StorageTables скоро полностью вытеснят Azure SQL и уже поддерживают до 5000 операций в секунду из коробки. При этом, если почитать резюме ведущих разработчиков социальных сетей они гордятся какими-то 2000 операциями в секунду.
В самой телепередачи рассказано мало интересного, говорится банальное, что Ключевые поля должны быть селективными или селективными должны быть ключевые поля. Однако показана Tables Matrics Analitics , почему-то в описании не дана ссылка, которую может настроить себе любой, кто хочет отслеживать эффективность работы обращений в Azure Storage. Про аналитические возможности они заговорили, так как нет гарантий, что обращение к таблице будет обработано быстро. Иногда это может занимать секунды, поэтому пример показанный индусом про работы с миллиардами документов - в корне неправилен. Для большого объема запросов , также как и для блогов, часть документов должна подгружаться в оперативную память, для этого есть объектная модель, а обращения к таблицам или, что более привычно к SQL, должно делаться разово при инициализации. Соответственно при обращении к веб-роли, мы проверяем, что у нас в пямяти актуальные данные, что их не надо обновлять и быстренько возвращаем их пользователю. Если же пользователь делает какое-то действо, то нужно синхронизировать все инстансы через Azure Tables путем фонового обращения к таблицам. Именно фоновое, так как опять же нет никаких гарантий, что оно обработается быстро. Так например, чтобы не задерживать выдачу страницы из оперативной памяти, работа в Azure Tables в blogscloud реализована примерно таким кодом сощданием отдельного потока. Описание прокси класса SyncTimes публиковалось ранее.

Copy Source | Copy HTML
  1. Saved += (sender, args) =>
  2. {
  3.     Guid blogId = Blog.CurrentInstance.Id;
  4.     ThreadPool.QueueUserWorkItem(delegate
  5.     {
  6.         // because HttpContext is not available within this BG thread
  7.         // needed to determine the current blog instance,
  8.         // set override value here.
  9.         Blog.InstanceIdOverride = blogId;
  10.         foreach (SyncTime tableClass in SyncTimes<SyncTime>.CurrentInstance.GetAllInstances(Blog.CurrentInstance.Id.ToString()))
  11.         {
  12.             tableClass.UpdatePosts = DateTime.Now;
  13.             tableClass.UpdateDeletedPosts = DateTime.Now;
  14.             SyncTimes<SyncTime>.CurrentInstance.Update(tableClass, false);
  15.         }
  16.         SyncTimes<SyncTime>.CurrentInstance.Update(null);
  17.     });
  18. };

Метки: ,   Категории:Code


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Topbot at FeedsBurner

Мои Твиты

Twitter сентября 24, 19:17
@SielenaSemper по какой причине эта трансляция более недоступна?

Twitter сентября 23, 14:26
Разбор сериала "Конец детства" http://dlvr.it/Ppxjly https://twitter.com/f1ashr/status/911597559604420608/photo/1

Twitter сентября 22, 17:41
Спустя 18 лет в ЖЖ запустили поиск по постам http://dlvr.it/PpmtD1

Twitter сентября 22, 16:01
Интернет ищет инопланетян (экзопланеты) http://dlvr.it/PpltJF

Twitter сентября 22, 16:01
dlvrit вводит лимиты http://dlvr.it/PpltJf

Twitter сентября 22, 14:24
Iron Sky 3 - новый трейлер на 9 мая http://dlvr.it/PpkrvS https://twitter.com/f1ashr/status/911234743747805184/photo/1

Twitter сентября 22, 14:24
Про терракты в Лондоне http://dlvr.it/Ppkrv7

Twitter сентября 22, 14:24
Коломенский кремль: Альтернативная история http://dlvr.it/Ppkrrx https://twitter.com/f1ashr/status/911234723476676608/photo/1

Twitter сентября 22, 14:24
Паштет из мяса медведя с брусникой http://dlvr.it/PpkrcB https://twitter.com/f1ashr/status/911234712026234882/photo/1

Twitter сентября 22, 14:24
Рейтинг каналов и ботов Телеграмм http://dlvr.it/PpkrQw https://twitter.com/f1ashr/status/911234670553063424/photo/1

Twitter сентября 22, 14:24
Facebook опять забанил http://dlvr.it/PpkrPG

Twitter сентября 22, 14:24
Звездные войны Изгой Один http://dlvr.it/PpkrDL https://twitter.com/f1ashr/status/911234655310905344/photo/1

Twitter сентября 21, 15:26
Робот играющий в гольф http://dlvr.it/PpWS1G

Twitter сентября 21, 14:53
Мобильное приложение t30p.ru в AppStore http://dlvr.it/PpW5Qk

Twitter сентября 21, 14:53
Что будет 22 сентября? http://dlvr.it/PpW5Lb https://twitter.com/f1ashr/status/910879685042618368/photo/1

Twitter сентября 21, 14:20
Битва за Мосул в 360 с вертолета http://dlvr.it/PpVlXD https://twitter.com/f1ashr/status/910871392970608640/photo/1

Twitter сентября 21, 14:20
Очередной летающий электро-автомобиль http://dlvr.it/PpVlWl https://twitter.com/f1ashr/status/910871386507186177/photo/1

Twitter сентября 21, 14:20
Яндекс атаковал Израиль http://dlvr.it/PpVlX9

Twitter сентября 21, 14:20
Мелькает число 35 в международных новостях http://dlvr.it/PpVlWZ

Twitter сентября 21, 14:20
Информационные аккаунты в Твиттере http://dlvr.it/PpVlWF

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008