Я никогда не скрывал своего интереса к данной технологии и очень долго её ждал! И вот, буквально пол-часа назад руководитель этого проекта – Cihan Biyikoglu написал пост о том, что SQL Azure Federations доступна теперь во всех датацентрах Майкрософт - http://blogs.msdn.com/b/cbiyikoglu/archive/2011/12/12/sql-azure-federations-is-open-for-business.aspx. Не буду вдаваться в детали того, что такое Federations и как это использовать. Если в двух словах, то Federations предлагает нам модель распределённый базы данных в облаке.
[More]
Да, знаю что это уже не новость, продукт вышел 17 ноября, а кодовое имя Denali превратилось в SQL Server 2012 ещё раньше, но не могу не написать об этом событии у себя в блоге и не рассказать о том, что-же нового в RC0.
[More]
Всем привет! Вот и дошли руки до того, чтобы запостить в блог репортаж с TechEd 2011. После этого мероприятия я принял решение публиковать все отчёты с мероприятий на которых я побывал не у себя в блоге, а на сайте нашего сообщества разработчиков – UNETA. В блоге, же я буду указывать ссылку на репортажи и публиковать материалы доклада. Мой репортаж с конференции TechEd Russia 2011 находится здесь - http://uneta.ua/repots/techedrussia-2011/6. И конечно-же публикую свою презентацию
[More]
Итак, вторая половина дня началась с докладов Диего Вега (blog | twitter) про будущее Entity Framework и Вячеслава Красовского (twitter) про внутреннее устройство SQL Azure.
[More]
На самом деле разработчики SQL Azure Federations обещали что выпустят продукт к концу 2011 года, так что сюрприза особого и нет. Но на, проходящем сейчас в Сиэтле, PASS саммите официально анонсировали что SQL Azure Federations войдёт в состав SQL Azure Q4 2011 Service Release, который будет выпущен до конца этого года. Кроме Federations в этом обновлении будет увеличен лимит базы данных с 50 Гб до 150 Гб, обновится портал разработчика, и появится возможность устанавливать collation для базы данных.
[More]
В этом посте я уже не буду рассказывать о подготовке к конференции, о том как мы встречали докладчиков или проверяли аппаратуру. Пока ещё свежи воспоминания я постараюсь в деталях описать то, что происходило непосредственно на конференции, иногда показывая что-же происходило за кулисами.
Началась конференция, как и следовало с регистрации. Все сотрудники компании DCT находились на конференции и всячески помогали, за что им отдельное спасибо. Большая часть участников пришла в первые пол-часа, но участники подходили в течении всей конференции, а некоторые регистрировались прямо на месте.
[More]
Если в двух словах, то это было круто :) Очень круто! В первый раз я принимал участие в большой конференции не как участник, а как организатор. Скажу сразу, что это было нелегко, но оно того стоило. Я просто не могу передать то ощущение, которое испытываешь глядя в лица участников и понимая, что всё удалось, всё получилось как нельзя лучше и что никто не жалеет, что в выходной день он находится именно здесь, на UnetaPlus.
[More]
Друзья! Это свершилось! Выходит в свет второе издание мега-книги SQL Server MVP Deep Dives! И это не дополнение первого, а полностью новая книга. Первая книга вызвала огромный интерес в своё время благодаря своему формату (я тоже с удовольствием прочёл её). Формат второй книги остался тот-же: SQL Server MVP со всего мира объединились и каждый написал главу для этой книги.
[More]
FileTable основывается на функционале FILESTREAM, появившемся в 2008-й версии. Давайте быстро вспомним что он из себя представляет. FILESTREAM позволяет хранить файлы в базе данных, при этом сохраняя возможность потоковой работы с файлами. Таким образом мы поддерживаем ссылочную целостность базы данных и файловой системы. Более подробно можно прочитать здесь - Введение в FILESTREAM. На презентациях и в теории всё выглядит очень красиво, но на самом деле, если попробовать использовать FILESTREAM сталкиваешься со множеством ограничений, да и сам код работы с подобными файлами красотой не блещет (открываем транзакцию в БД, получаем дескриптор файла и т.д.). Одним из ограничений FILESTREAM была синхронизация БД и файловой системы. Удаление записи в базе приводило к удалению файла (тут всё ок), а вот удаление файла не приводило к удалению записи и приводило к ошибке при обращении к этой записи. Кроме этого недостатка, файлы на файловой системе получали совершенно нечитаемые имена и находились в папке, указанной при создании базы данных. На самом деле FileTable не устраняет эти недостатки FILESTREAM, но успешно позволяет абстрагироваться от них. Суммируя всё вышесказанное, FileTable это не замена, а скорее надстройка над FILESTREAM. Впрочем вы это и сами увидите по ходу изложения.
[More]
Постраничный вывод данных – это тот функционал, который встречается чуть-ли не на каждом информационном сайте, и реализация подобной выборки зачастую не так сложна. Но всё же в SQL Server, до версии Denali, не было нормальной поддержки таких сценариев. Стандартным подходом реализации постраничной выборки в SQL Server был запрос с функцией ROW_NUMBER. Суть этого подхода в том, что запрос пробегает по всем строкам набора и нумерует их от единицы до номера конечного элемента. Потом по этим номерам и делается выборка по диапазону, например мы получаем вторые 10 записей набора (2-я страница). Но у этого подхода есть один существенный минус – каждый раз, даже если вам нужно выбрать 10 первых записей из таблицы в миллион записей, запрос будет пробегать миллион записей. Чем больше данных, тем ниже перфоманс. Те кто уже боролся с подобными проблемами меня поймут. Бороться можно и нужно, но это сложно. В SQL Server Denali появляется поддержка таких выборок на уровне обработчика запросов, но всё далеко не так хорошо, как может показаться на первый взгляд. Впрочем, обо всём по-порядку.
[More]