Или я потоки себе неудачно подобрал, или знать стал больше, но в этом году основной смысл мероприятия, для меня, оказался в общении.Ну и еще в 50% скидке на AgileEE, полученной в лотерее анкет :-D
Очень приятно было видеть людей, с которыми знаком только по подобным мероприятиям :)
Презентации со всех потоков:
http://www.slideshare.net/event/agile-base-camp-kiev/slideshows
Краткие заметки по ит-шным темам, с которыми я сталкиваюсь. Чаще это вопросы работы с СУБД и прикладной разработки.
понедельник, 18 апреля 2011 г.
среда, 16 марта 2011 г.
Предварительные данные по Firebird 3
Основные цели
- честная поддержка многопоточной мультипроцессорности с разделяемым кешем
- рефакторинг архитектуры для последующих версий
Гарантированно будет масштабируемый кеш страниц с межпоточными и межпроцессными блокировками
Поддержка разных версий ODS - в плагинах. А процесс лиснера уже будет подгружать нужную для базы реализацию движка.
Изменения в одс - флаг наличия мусора на странице, что ускорит его сборку.
Более подробный формат вывода плана выполнения запроса.
Стоимостной оптимизатор - гистограмма распределения данных, возможность автоматического сбора статистики, подробная информация по таблицам и индексам (кол-во записей страниц и т.п.)
SQL
- честная поддержка многопоточной мультипроцессорности с разделяемым кешем
- рефакторинг архитектуры для последующих версий
Гарантированно будет масштабируемый кеш страниц с межпоточными и межпроцессными блокировками
Поддержка разных версий ODS - в плагинах. А процесс лиснера уже будет подгружать нужную для базы реализацию движка.
Изменения в одс - флаг наличия мусора на странице, что ускорит его сборку.
Более подробный формат вывода плана выполнения запроса.
Стоимостной оптимизатор - гистограмма распределения данных, возможность автоматического сбора статистики, подробная информация по таблицам и индексам (кол-во записей страниц и т.п.)
SQL
- Внешние процедуры функции и триггеры
- PSQL функции
- Пакеты аля Оракл
- DDL триггеры
- Оконные(аналитические) функции
- Двунаправленные курсоры в PSQL
- Парметризированные исключения
- Аутентификация во внешних плагинах
- Шифрование траффика
- Юзеры в базе
- Шифрование на уровне страниц
- Группы пользователей
- Права на DDL
четверг, 24 февраля 2011 г.
Ограничение на количество генераторов в Firebird
24.02.2011 12:30, Vadim Mescheryakov пишет:
>
> Все работает норм. Конечно новые генераторы не создаются с той же частотой
> что и документы вводятся,
> Но по каждому виду дока, по каждому субъекту хозяйствования, раз в месяц
> создаются (нумерация в пределах месяца).
> Работает.
После создания 32К генераторов система может встать, там внутренний ID -
SMALLINT. И бекап-рестор не поможет, IIRC.
--
Дмитрий Еманов
пятница, 18 февраля 2011 г.
Файловый кеш Win64 и Firebird
На одном из наших серверов, после перехода на Win 2008 R2 64, стала забиваться память, на 100%, файловым кешем. Молча и стремительно. Топик обсуждения нашей ситуации.
Решилась проблема помещением в автозапуск арийской утилитки
http://www.uwe-sieber.de/ntcacheset_e.html, которая просто дергает системную фукнцию, которая задает граничный размер кеша.
Но проблема это была не только наша, проскочило вот вчера в новостях (Firebird slow? Well, maybe it is Windows fault.) решение от самой MS http://support.microsoft.com/kb/976618/en-us
Понять логику того, почему это ограничение не устанавливается самой OS, пока не получилось.
Решилась проблема помещением в автозапуск арийской утилитки
http://www.uwe-sieber.de/ntcacheset_e.html, которая просто дергает системную фукнцию, которая задает граничный размер кеша.
Но проблема это была не только наша, проскочило вот вчера в новостях (Firebird slow? Well, maybe it is Windows fault.) решение от самой MS http://support.microsoft.com/kb/976618/en-us
Понять логику того, почему это ограничение не устанавливается самой OS, пока не получилось.
понедельник, 14 февраля 2011 г.
От чего зависит скорость сетевой карты?
Выходит что чаще всего - от драйверов. И ведь можно на голову стать, пытаясь выяснять в чем проблема, при настройке системы...
http://blog.not-a-kernel-guy.com/2011/02/13/990
http://blog.not-a-kernel-guy.com/2011/02/13/990
...
Пропускная способность выросла до 17 MByte/sec при полной загрузке процессора.
...
Приходящие пакеты отдавались NDIS-у не в том порядке, в каком они были приняты. С точки зрения TCP/IP это выглядело как потери пакетов. Драйвер протокола постоянно запрашивал повторную передачу «потерянных» пакетов, генерируя больший, чем нужно, траффик и сужая ширину TCP окна до минимума. Стоило поменять порядок пакетов в списке (три строчки в коде), скорость одного соединения выросла свыше 30 MByte/sec.
воскресенье, 13 февраля 2011 г.
У Delphi будет новый VCL?
Встретилась в блоге Ника Ходжеса интересная новость - разработчик http://www.ksdev.com/ вместе со своими наработками (VGScene, DXScene, or ImageFX) переходит в Embarcadero.
Похоже, после стольких лет, у Delphi наконец появится какой-то вариант векторного UI фреймворка.
Похоже, после стольких лет, у Delphi наконец появится какой-то вариант векторного UI фреймворка.
пятница, 21 января 2011 г.
Как правильно заблокировать окно от перерисовки
Иногда это может понадобиться, если что-то активно добавляется, открывается и т.п.
Типичный способ, рекомендуемый первым, это вызов LockWindowUpdate. Что есть в корне неверно - в Майкрософт не очень удобно выбрали название функции.
http://www.transl-gunsmoker.ru/2010/12/lockwindowupdate_29.html
http://msdn.microsoft.com/en-us/library/dd145034%28v=vs.85%29.aspx
Правильный пример:
Хитрость в том, что работает только RedrawWindow, а Invalidate нет.
UPD
На практике оказало не все так весело - окно просто прячется, а не перестает отрисовываться. У нас решилось точечным применением, только к изменяемым элементам - панелям, таб сетам и т.п.
Типичный способ, рекомендуемый первым, это вызов LockWindowUpdate. Что есть в корне неверно - в Майкрософт не очень удобно выбрали название функции.
http://www.transl-gunsmoker.ru/2010/12/lockwindowupdate_29.html
http://msdn.microsoft.com/en-us/library/dd145034%28v=vs.85%29.aspx
Правильный пример:
procedure SetWindowLock(AHandle: THandle); begin SendMessage(AHandle, WM_SETREDRAW, 0, 0); end; procedure EndWindowLock(AHandle: THandle); begin SendMessage(AHandle, WM_SETREDRAW, 1, 0); RedrawWindow(AHandle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN); end;
Хитрость в том, что работает только RedrawWindow, а Invalidate нет.
UPD
На практике оказало не все так весело - окно просто прячется, а не перестает отрисовываться. У нас решилось точечным применением, только к изменяемым элементам - панелям, таб сетам и т.п.
Подписаться на:
Сообщения (Atom)