Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

[EN/PL] www.sqlgeek.pl

[EN] I’ve just moved to the new blog. All old posts will remain untouched here at zine.net.pl. The new address is given below.

[PL] Przeniosłem się na nowy blog. Wszystkie dotychczasowe notki pozostają tu, na zine.net.pl. Nowy adres znajdziesz poniżej.

www.sqlgeek.pl

opublikowano przez brejk | 0 komentarzy
Filed under: ,

[PL] AD MMIX – podsumowanie

Kończy się rok 2009. Jak co roku postanowiłem więc podsumować te ostatnie trzysta parę dni i zdradzić choć część moich planów na rok nadchodzący.

Było…

Styczeń stał pod znakiem nominacji MVP dla kilku dobrych znajomych: Marcina Goła, Szymona Kobalczyka i Damiana Widery. Życzę im renominacji w styczniu 2010. Chłopaki nadal aktywnie działają w społecznościach i zapewne w przyszłym roku też będą działać.

Pierwsze trzy miesiące 2009 roku spędziłem na projekcie. Wiele się nauczyłem, wielu problemom stawiłem czoła, o niektórych nawet zablogowałem :-)

W marcu ukazała się moja pierwsza książka (pierwsza papierowa, bo wcześniej udało mi się napisać kilka e-booków dla studentów studiów internetowych na Politechnice Warszawskiej). Duże przeżycie, a jeszcze większym jest rozdawanie autografów tym, którzy tę książkę zakupili ;-) Tym wszystkim, którzy przeczytali "Serwer SQL 2008. Administracja i programwoanie", dziękuję. Jeżeli macie jakieś uwagi czy komentarze do tej książki nie wahajcie się nimi ze mną podzielić. Według mnie książka wyszła całkiem dobrze (jak na pierwszy raz – mój i Damiana).

Marzec to także konferencja Communities to Communities 2009. Bardzo udana konferencja, dodajmy. Trzy ścieżki, bardzo wysoki poziom prezentacji. Po prostu chwała tym, którzy to wydarzenie doprowadzili do szczęśliwego finału (tym razem moja rola w organizacji C2C była bardzo skromna). Po cichu liczę, że idea C2C przetrwa i w tym roku konferencja doczeka się trzeciej edycji.

Pierwsze cztery miesiące 2009 roku to także pomoc w ogranizacji European PASS Conference 2009 w Dusseldorfie. Byłem odpowiedzialny za kontakty z liderami grup SQL-owych w Europie. Godziny spędzone na telefonie i Skype. Rozmowy o cenach, marketingu (fuj!), negocjacje. Kawał ciężkiej (chyba potrzebnej) roboty. Ale dzięki temu mogłem wysłać jedną osobę na konferencję za darmo (Dagmara ma sporo do opowiadania). W 2010 roku już nie będę w gronie organizatorów. Za to wysłałem abstrakt sesji i czekam, a może się uda i pojadę po raz drugi na tę konferencję jako prelegent (po raz pierwszy byłem w 2008 roku).

W maju zorganizowałem konkurs "Co to za query?". Konkurs spotkał się z ciepłym przyjęciem około 20 zainteresowanych osób (dzięki za wspólną zabawę – i ja się wtedy sporo nauczyłem). Na pewno nie był to ostatni konkurs przeze mnie zorganizowany! Stay tuned ;-)

Także w maju byłem prelegentem na krakowskim CodeCamp 2009. Udało mi się nawet moją sesją o procedurach składowanych zdobyć publiczność (to bardzo fajne uczucie, zostać ocenionym najwyżej, gdy na tej samej konferencji w roli prelegenta występują takie tuzy, jak Maciek Pilecki czy Tomek Kopacz).

W lipcu nadeszła doskonała wiadomość – Marek Adamczuk – mój przyjaciel i człowiek, od którego wiele się nauczyłem, został SQL Server MVP (a przy okazji ja sam zostałem renominowany i dalej cieszę się możliwością bycia w naprawdę wyjątkowym gronie SQL-owych MVP). Kawał dobrej roboty, panie dziejku! :-) Liczę, że w 2010 roku zobaczymy niejedną sesję Marka. A warto wspomnieć, że sesje te stoją zawsze na bardzo dobrym poziomie.

Wrzesień to był początek jesiennego sezonu konferencyjnego – zaczęło się od 24Hours of PASS, a potem był MTS 2009. Ciekawe, że MTS 2009 mi się podobał. A czytałem różne opinie i wiem, że nie wszyscy byli zadowoleni. Tak to już z tymi konferencjami jest... Co nie zmienia faktu, że na MTS 2010 na 99% będę :-) Po cichu liczę, że tym razem uda mi się awansować do grona prelegentów ;-)

Na przełomie września i października ukazała się druga książka, w której zanotowałem swój drobny udział – SQL Server MVP Deep Dives. Książka jest znakomitym dowodem na to, że ludzie zaangażowani w społeczności IT mogą coś zrobić dla świata (np. dla dzieci poszkodowanych przez konflikty zbrojne). Oby więcej takich inicjatyw!

W październiku cieszyłem się z kolejnych nominacji do tytułu MVP dla zasłużonych osób. Paula Januszkiewicz i Łukasz Foks zdecydowanie zasłużyli na wyróżnienie, bo w tej chwili są jednymi z najaktywniejszych liderów polskich społeczności Microsoft. Paula dodatkowo w tym roku zanotowała świetny występ (x2) na TechEd Europe 2009 (a Łukasz cieszył się w Berlinie z wygranej nagrody w postaci okazałego quada). Szacuneczek!

Listopad to czas TechEd Europe 2009 i SQLDay 2009. Obie konferencje były moim zdaniem udane, choć TechEd z roku na rok robi na mnie coraz mniejsze wrażenie. Na SQLDay udało się nam z Markiem Adamczukiem zrobić najlepszą sesję konferencji (w zasadzie to Marek zrobił całą robotę, a ja w roli "slide monkey" jedynie spijałem śmietankę ;-)). Najważniejsze, że udało się zorganizować w kraju ciekawe wydarzenie dla światka SQL-owego. Za rok znów to zrobimy!

Pod koniec roku zostałem zaproszony do grona ekspertów portalu WSS.pl. Jako stały bywalec mam wspierać redakcję opiniami na temat nowych funkcjonalności i mam uczestniczyć w rozwoju portalu. Żadnego przymusu, po prostu – wspieram portal, który jest wg mnie bardzo potrzebny, bo dzięki niemu integruje się społeczność IT skupiona wokół technologii Microsoft. I tyle.

Czy to już wszystko, co działo się w tym roku? Pewnie, że nie! :-) Wypadałoby wspomnieć o paru pozytywnych (rozpoczęcie budowy domu, prowadzenie zajęć na trzech warszawskich uczelniach, 11 spotkań Virtual Study Group 70-432 czy objęcie roli wice-prezesa europejskiej komórki GITCA) i negatywnych (niedoszła konferencja TechFest) wydarzeniach. Ale na to nie starczy mi w tym miejscu weny twórczej. Chyba wpadłem już w świąteczny błogi nastrój i myślę tylko o tym, by usiąść z bliskimi mi osobami do wigilijnego stołu. A społeczności i cały ten zgiełk zostawiam na moment w pojemniczku ze sprawami mniej istotnymi :-) No offense ;-)

Będzie…

Jaki będzie rok 2010? Dla mnie to będzie rok zmian. Na początek – zmieniam adres bloga. Od nowego roku zapraszam na www.sqlgeek.pl. Nadal będę pisał o SQL-u i bazach danych. Może nieco więcej po angielsku, ale i teksty po polsku się znajdą (głównie te dotyczące społeczności IT w Polsce). Na pewno pojawi się sporo kodów źródłowych (zamierzam zrobić sekcję z co ciekawszymi skryptami, jakie uda mi się napisać lub podejrzeć od innych).

W tym miejscu chciałbym ogromnie podziękować Michałowi Grzegorzewskiemu. To Michał zaprosił mnie na Zine. Na Zine było super (i nadal jest za sprawą kilku naprawdę świetnych blogujących – choćby Marka Powichrowskiego). Teraz chcę spróbować powalczyć samemu. Zobaczymy, co z tego wyjdzie. Ale zawsze będę pamiętał, że blogowanie z prawdziwego zdarzenia zacząłem właśnie tu.

Zapewne w przyszłym roku pochłonie mnie budowa domu. W końcu nieczęsto stawia się dom dla swojej rodziny… Dlatego może się okazać, że moja aktywność na polu społeczności IT będzie mniejsza. Są w życiu priorytety i prioryteciki :-) Trzymajcie kciuki, żeby ściany były proste, więźba solidna, a tynk trwały ;-)

Co więcej? Po cichu liczę, że uda mi się być prelegentem na co najmniej jednej konferencji zagranicznej. To zawsze wspaniała przygoda i okazja, by podszlifować język angielski. Ale nie łudzę się. Wiem, że są o wiele lepsi ode mnie prelegenci i jeszcze sporo się muszę nauczyć. Będę jednak próbował swoich sił. Kto wie, może się uda.

A tymczasem...

Wszystkim czytającym mojego bloga życzę spokojnych i radosnych Świąt Bożego Narodzenia. Chwil wytchnienia od codziennej gonitwy. Nie ma nic cenniejszego niż takie momenty, w których można odłożyć broń (czytaj – laptopa) i oddać się tak przyziemnym czynnościom, jak domowe porządki, gotowanie 12 potraw dla gości, czy ubieranie drzewka :-)

Z kolei w Nowym Roku 2010 życzę wytrwałości w dążeniu do bycia lepszym człowiekiem, trwania w noworocznych postanowieniach i samych sukcesów na każdym polu.

Trzymajcie się i do siego roku!

opublikowano przez brejk | 2 komentarzy
Filed under:

[PL] Indeksy XML w SQL Server 2008 od środka

Jakiś czas temu pisałem o moich "zabawach" z typem danych XML w SQL Server. Od tamtego czasu minęło kilka miesięcy, w czasie których moja styczność z typem danych XML była dość znikoma. Ale ostatnio XML wrócił w kręgi moich zainteresowań, bo - po pierwsze – zajmowałem się rozgryzaniem grafów zakleszczeń (deadlock graphs), a po drugie przeprowadziłem w firmie serię szkoleń z używania typu danych XML w SQL Server. Przy okazji wziąłem na warsztat indeksy XML oraz tematy związane z wydajnością zapytań XQuery. Część moich obserwacji spróbuję zatem przelać na elektroniczny papier :-)

A więc masz sporo XML-a?

I chcesz, żeby zapytania odwołujące się do poszczególnych węzłów dokumentów XML-owych działały szybko i sprawnie? Zatem indeksy XML są dla Ciebie :-) Niezależnie od scenariusza: a) mało dużych dokumentów, b) dużo małych dokumentów, c) dużo dużych dokumentów – założenie indeksów XML może okazać się strzałem w dziesiątkę.

Zacznijmy od tego, że wygenerujemy sporo dokumentów XML (na potrzeby testów założyłem sobie bazę o nazwie XMLTest – rozmiar początkowy bazy ustawiłem na kilkadziesiąt megabajtów, żeby uniknąć niepotrzebnego automatycznego rozrostu).

USE XMLTest;
GO
IF OBJECT_ID('dbo.XMLTable', 'U') IS NOT NULL
DROP TABLE dbo.XMLTable;
GO
CREATE TABLE dbo.XMLTable (
XMLTableID int IDENTITY(1,1) NOT NULL PRIMARY KEY,
XMLColumn xml NOT NULL
);
GO
INSERT INTO dbo.XMLTable (XMLColumn)
SELECT
(
SELECT
o2.[object_id] AS '@id',
o2.name AS 'name',
o2.type_desc AS 'type'
FROM sys.all_objects AS o2
WHERE o2.[object_id] = o1.[object_id]
FOR XML PATH('object'), TYPE
)
FROM sys.all_objects AS o1;
GO
SELECT * FROM dbo.XMLTable;
GO

Po wykonaniu powyższego kodu w bazie XMLTest mamy tabelę dbo.XMLTable zawierającą jakieś 1980 wierszy (lub więcej). W przypadku bazy, na której pracuję, wierszy w tabeli było jakieś 130 tysięcy :-)

Zawartość tabeli przedstawia się mniej więcej tak:

image

Czyli w dokumentach XML są trzymane metadane obiektów bazodanowych (tabel, procedur etc.) na zasadzie – jeden wiersz w tabeli – jeden obiekt z bazy danych.

Główny indeks XML

Zabawę zaczynamy od utworzenia indeksu głównego XML (PRIMARY XML INDEX).

CREATE PRIMARY XML INDEX IX_XML_Primary 
ON dbo.XMLTable (XMLColumn);
GO

Kod prawie jak przy tworzeniu zwykłego indeksu. Wykonanie go może chwilę potrwać. W tle SQL Server zakłada wewnętrzną tabelę. Zdobycie jej nazwy to chwila:

SELECT TOP 1 * FROM sys.internal_tables ORDER BY create_date DESC;

I mamy coś a la xml_index_nodes_2105058535_256000 (oczywiście, nazwa tabeli wewnętrznej jest dość przypadkowa). Tabele te znajdują się w schemacie sys (schema_id = 4 w widoku sys.internal_tables). Próba ognia:

SELECT * FROM sys.xml_index_nodes_2105058535_256000;

kończy się zwróceniem przez SQL Server komunikatu

Msg 208, Level 16, State 1, Line 1
Invalid object name 'sys.xml_index_nodes_2105058535_256000'.

Ale sama tabela istnieje, bo udaje się wykonać:

EXEC sp_help 'sys.xml_index_nodes_2105058535_256000';
GO
EXEC sp_helpindex 'sys.xml_index_nodes_2105058535_256000';
GO

Wyniki:

image

A zatem powstaje tabela o zadanej z góry strukturze (prawie niezależnej od struktury tabeli, w której tworzymy indeks XML).

Nowa tabela jest klastrowana indeksem o nazwie identycznej z nazwą naszego świeżo utworzonego indeksu głównego XML. Indeks główny XML został założony na kolumnach pk1 i id. Pierwsza z nich, jak można się domyślać, przechowuje wartości z kolumny XMLTableID (z kolumny klucza głównego – jeżeli klucz główny oryginalnej tabeli jest złożony, w utworzonej tabeli wewnętrznej pojawią się kolumny o nazwach pk1, pk2, pk3 itd.). Druga przechowuje identyfikator węzła w zakresie pojedynczego dokumentu XML (taki identyfikator węzła w dokumencie XML).

Sam indeks główny XML jeszcze niczego nam praktycznie nie oferuje (nie udało mi się skonstruować przykładu, w którym sam indeks główny XML przyspieszałby wykonywanie zapytania). Stanowi jednak punkt wyjścia do utworzenia kolejnych indeksów XML. Ważna uwaga – indeksu głównego XML nie da się założyć, jeżeli w tabeli nie ma klucza głównego. Ciekawostka – jeżeli chcemy tworzyć indeksy XML, klucz główny tabeli nie może być "szerszy" niż 15 kolumn (bo indeks w tabeli wewnętrznej, jak w każdej tabeli, można założyć na maksymalnie 16 kolumnach, a musi się w nim zmieścić kolumna id).

Spróbujmy podejrzeć, jak wygląda tabela wewnętrzna. W tym celu należy połączyć się z SQL Serverem za pomocą połączenia DAC. Ja użyję do tego trybu SQLCMD Mode (tryb ten włącza się w Management Studio w menu Query) i dyrektywy :CONNECT służącej do nawiązania tymczasowego połączenia ze wskazanym serwerem.

:CONNECT Admin:0809-001
USE XMLTest;
SELECT * FROM sys.xml_index_nodes_2105058535_256000;
GO

Wynik:

image

A więc dla każdego dokumentu XML powstało w tym przypadku 7 wierszy w tabeli wewnętrznej (w sumie dla 1980 wierszy z tabeli dbo.XMLTable dostałem 13860 wierszy w tabeli wewnętrznej). A jeżeli dokumenty XML będą bardziej złożone, liczba wierszy w tabeli wewnętrznej pójdzie w miliony.

Najbardziej oczywista jest zawartość kolumn value (wartości atrybutów i zawartość tekstowa elementów) oraz pk1 (wartości z kolumny klucza głównego tabeli XMLTable). Patrząc na nid możemy dowiedzieć się, który wiersz odpowiada atrybutowi w dokumencie XML (wartość ujemna w kolumnie nid), a który elementowi (wartość dodatnia w kolumnie nid). Wyjątkiem od tej reguły wydają się być deklaracje przestrzeni nazw (namespace’ów), dla których wartości nid są dodatnie.

Pierwsza myśl, jaka mi przyszła do głowy, to że w tabeli jest aż 5 kolumn zawierających same wartości NULL. Nie wiem dokładnie, jakie jest przeznaczenie tych kolumn (choć mogę się domyślać, że w tagname powinny znaleźć się nazwy elementów – tagów z dokumentu XML), ani dlaczego nie są używane, ale testowałem różne warianty dokumentów XML (z przestrzeniami nazw, z prefiksami kolumn) i nigdy nie zauważyłem w tych kolumnach niczego poza NULLami. "For future use"???

Druga myśl – te binaria w kolumnie id to zapewne sławny ORDPATH. A ponieważ hierarchie kojarzą mi się od ponad roku z typem danych hierarchyid, nie mogłem sobie odmówić próby:

:CONNECT Admin:0809-001
USE XMLTest;
SELECT CAST(id AS hierarchyid).ToString(), *
FROM sys.xml_index_nodes_2105058535_256000;
GO

Wynik: dwa wiersze (z hierarchyid w pierwszej kolumnie!) oraz komunikat:

Msg 6522, Level 16, State 2, Line 2
A .NET Framework error occurred during execution of user-defined routine or aggregate "hierarchyid":
Microsoft.SqlServer.Types.HierarchyIdException: 24000: SqlHierarchyId operation failed because HierarchyId object was constructed from an invalid binary string.
Microsoft.SqlServer.Types.HierarchyIdException:
   at Microsoft.SqlServer.Types.OrdPath.ExtractComponent(UInt16& bitOffset, SComponent& component, levelType& type)
   at Microsoft.SqlServer.Types.OrdPath.ToString()
   at Microsoft.SqlServer.Types.SqlHierarchyId.ToString()

Skoro wywrotka nastąpiła na wierszu odpowiadającym atrybutowi, postanowiłem odfiltrować atrybuty:

:CONNECT Admin:0809-001
USE XMLTest;
SELECT CAST(id AS hierarchyid).ToString(), *
FROM sys.xml_index_nodes_2105058535_256000
WHERE nid > 0;
GO

Tym razem wynik jest taki:

image

A więc jednak ORDPATH (albo przynajmniej "prawie", bo nadal nie umiem rozszyfrować, jakimi ścieżkami zostały opatrzone atrybuty) :-)

W kolumnie hid trzymane jest zahaszowane id (jest prawdobodobne, że w haszu została także umieszczona nazwa elementu / atrybutu).

Pozostałe indeksy XML

Mając założony główny indeks XML pora założyć pozostałe indeksy - indeksy secondary (wolę tego słowa nie tłumaczyć ;-)).

CREATE XML INDEX IX_XML_Path
ON dbo.XMLTable (XMLColumn)
USING XML INDEX IX_XML_Primary
FOR PATH;
GO
CREATE XML INDEX IX_XML_Value
ON dbo.XMLTable (XMLColumn)
USING XML INDEX IX_XML_Primary
FOR VALUE;
GO
CREATE XML INDEX IX_XML_Property
ON dbo.XMLTable (XMLColumn)
USING XML INDEX IX_XML_Primary
FOR PROPERTY;
GO

Po założeniu trzech nowych indeksów XML (każdy innego typu) oglądam, jak teraz jest indeksowana tabela wewnętrzna:

EXEC sp_helpindex 'sys.xml_index_nodes_2105058535_256000';
GO

image

Mamy więc indeksy secondary następujących typów:

  • PATH – tu kluczem indeksu w tabeli wewnętrznej są kolumny hid i value, a co za tym idzie taki indeks może być pomocny, gdy próbujemy optymalizować zapytania, w których szukamy dobrze określonych ścieżek i znamy wartości węzłów tekstowych, np.
SELECT 
x.XMLTableID,
T.c.value('@object_id','int') AS object_id
FROM dbo.XMLTable AS x
CROSS APPLY x.XMLColumn.nodes('/object') AS T(c)
WHERE T.c.exist('name/text()[. = "objects"]') = 1;

  • VALUE – tu kluczem są kolumny value i hid, a zatem taki indeks może się przydać, gdy szukamy określonych wartości w nieprecyzyjnie określonych ścieżkach w dokumencie XML, np.
SELECT 
x.XMLTableID,
T.c.value('(name/text())[1]','sysname') AS name
FROM dbo.XMLTable AS x
CROSS APPLY x.XMLColumn.nodes('/object') AS T(c)
WHERE T.c.exist('//type/text()[. = "VIEW"]') = 1;

  • PROPERTY – tu kluczem są kolumny pk1 (pk2, pk3,…), hid i value, co oznacza, że indeks ten przydaje się, gdy wyszukiwanie w tabeli oryginalnej odbywa się po kolumnie klucza głównego, ale z dokumentów XML wydobywane są konkretne węzły.

Ważne, jak pytamy

Warto zapamiętać parę reguł, jeżeli chcemy rzeczywiście wykorzystywać indeksy XML do optymalizacji naszych zapytań. Oto niektóre z tych reguł:

  1. Ścieżki w filtrach XPath powinny być jak najdłuższe, np.

    JakisElement/@JakisAtrybut[. = "120"]

    zamiast
    JakisElement[@JakisAtrybut = "120"]

  2. Jak najmniej dowolności – unikamy ścieżek typu //JakisElement czy ../../CosDwaPoziomyWyzej.
  3. Jeżeli nie ma narzuconego schematu dokumentu XML (nie ma XML SCHEMA COLLECTION, które pilnuje zawartości wstawianych dokumentów XML), należy pilnować, by wartości w filtrach były ujęte w cudzysłowy/apostrofy (czyli aby były wartościami tekstowymi), np.

    JakisElement/@JakisAtrybut[. = "120"]

    zamiast

    JakisElement/@JakisAtrybut[. = 120]
  4. Unikamy filtrów "w środku" ścieżki, np.

    JakisElement1[@JakisAtrybut1 = "123"]/JakisElement2/JakisElement3[@JakisAtrybut = "120"]

Takich reguł zapewne można znaleźć więcej. Wychodzą na jaw na ogół wtedy, gdy nie możemy osiągnąć przyzwoitej optymalizacji za pomocą indeksów. Testy, testy, testy :-)

Suma sumarum

Indeksy XML to żadna magia - ot, zwykłe B+-Tree ;-) Nawet sam Microsoft traktuje je jak pospolite indeksy, bo informacje o nich są zwracane przy odpytywaniu widoku sys.indexes (choć jest dedykowany widok sys.xml_indexes, który wyświetla metadane tylko indeksów XML). Wiedząc, co się dzieje "w bebechach", można sobie łatwiej wyobrazić, jaki wpływ może mieć utworzenie indeksów XML na wydajność. I, co ważne, można lepiej rozumieć plany wykonania zapytań, które wykorzystują metody typu danych XML i przeszukują / przetwarzają dokumenty XML przechowywane w bazie danych.

Polecam zabawę w małego odkrywcę. Sprawdź, jaki wpływ na wydajność i strukturę (?) indeksów XML może mieć na przykład dodanie kolekcji schematów. Zobacz, jak w indeksach XML trzymane są informacje o przestrzeniach nazw i prefiksach elementów.

Podobny "research" można zrobić dla indeksów na typach przestrzennych (geometry i geography). Rączki na klawiatury i dajcie znać, jak coś ciekawego Wam wyjdzie w doświadczeniach.

PS1. Plik z kodem przedstawionym w tej notce można pobrać poniżej.
PS2. Spróbujcie odpytywać tabele wewnętrzne założone pod indeksy XML w bazie AdventureWorks2008. U mnie dostałem wyjątek w SSMS (niepoprawny format tekstu???) ;-)
PS3. Podczas testów udało mi się osiągnąć maksymalny poziom zagnieżdżenia węzłów w dokumencie XML w SQL Server 2008. Otrzymałem przez to taki komunikat:

Msg 6335, Level 16, State 102, Line 1
XML datatype instance has too many levels of nested nodes. Maximum allowed depth is 128 levels.

[EDIT]

Nietypowane wartości atrybutów

Marek Powichrowski, spec od XML-a, stwierdził, że w testach nie wyszła mu żadna różnica a propos punktu 3 z paragrafu "Ważne, jak pytamy" (test robiłem dawno temu na SQL Server 2005). Przeprowadziłem więc taki test jeszcze raz i oto wynik.

Tabela miała około 130 tysięcy wierszy, a dokumenty XML były takie, jak w powyższej notce (metadane obiektów z bazy danych). Zapytania do testów:

-- Zapytanie 1 - "złe"
DECLARE @t datetime = GETDATE();
SELECT
x.XMLTableID,
T.c.value('(name/text())[1]','sysname') AS name,
T.c.value('@id','int') AS id
FROM dbo.XMLTable AS x
CROSS APPLY x.XMLColumn.nodes('/object') AS T(c)
WHERE T.c.exist('./@id[. = 546135905]') = 1;
SELECT DATEDIFF(ms, @t, GETDATE());
GO
-- Zapytanie 2 - "dobre"
DECLARE @t datetime = GETDATE();
SELECT
x.XMLTableID,
T.c.value('(name/text())[1]','sysname') AS name,
T.c.value('@id','int') AS id
FROM dbo.XMLTable AS x
CROSS APPLY x.XMLColumn.nodes('/object') AS T(c)
WHERE T.c.exist('./@id[. = "546135905"]') = 1;
SELECT DATEDIFF(ms, @t, GETDATE());

I teraz czasy:
  • Bez indeksów XML
    • zapytanie 1 – 3200 ms
    • zapytanie 2 – 2200 ms
  • Tylko z indeksem PRIMARY
    • zapytanie 1 – 3900 ms
    • zapytanie 2 – 800 ms
  • Z indeksami SECONDARY
    • zapytanie 1 – 1180 ms (a czasem gorzej – około 2 sekund)
    • zapytanie 2 – 180 ms

Wyniki były powtarzalne dla różnych wartości @id. Różnice, moim zdaniem, są widoczne gołym okiem.

opublikowano przez brejk | 10 komentarzy
Attachment(s): XMLIndexes.txt

[PL] SQLDay 2009 – ze wspomnień prelegenta

W zeszłą sobotę, 28 listopada, wybraliśmy się czteroosobową paczką do Wrocławia na konferencję SQLDay 2009. Konferencja ta była kontynuacją ubiegłorocznego wydarzenia SQL Server Energy Launch. W ubiegłym roku świętowaliśmy rocznicę powstania Polskiej Grupy Użytkowników SQL Server (PLSSUG). W tym roku grupie "stuknęły" już dwa lata.

Wyjazd z Warszawy o 3 rano, powrót o 23:30. Niezły maraton. Dwa razy zaliczony McDonalds :D

Ale co tam, było warto. Ludzie i wiedza – po to jechałem do Wrocławia. "Ludzie od SQL-a" ciągle mnie zaskakują (zawsze pozytywnie!). Na 170 zarejestrowanych na darmowe wydarzenie osób pojawiło się około 130 (bardzo dobra frekwencja). Sala praktycznie pełna. Atmosfera sprzyjająca networkingowi. Poznałem parę osób, które znałem dotąd jedynie "wirtualnie" (tu pozdrowienia dla Daniela – danmc). Podyskutowaliśmy o wielu ciekawych problemach SQL-owych (@@TRANCOUNT, schedulery, atrybuty planów wykonania). Dowiedziałem się (dziękuję Maćkowi Pileckiemu), że parameter sniffing to nie zjawisko związane z przekazywaniem parametrów procedury przez zmienne :-) Mnóstwo korzyści.

Wraz z Markiem Adamczukiem pokazaliśmy sesję pt. "Najlepsze praktyki przy pracy z procedurami składowanymi". Jako że musieliśmy się podzielić rolami, zostałem "slide monkey" ;-) Marek był w swoim żywiole. Rzucał charakterystycznymi dla siebie wstawkami humorystycznymi, szalał w kodzie. Uważam, że prezentacja wyszła nam całkiem nieźle, choć przyznam, że ręce mnie świerzbiły i miałem ochotę Markowi zabrać laptopa i robić dema :D Ale umowa to umowa ;-)

Strasznie się cieszę, że nasza sesja została dobrze odebrana (zostaliśmy ocenieni najlepiej ze wszystkich prelegentów, a sama sesja zebrała również najlepsze noty). Staraliśmy się pokazać to, co niby większość osób wie, ale nikt nigdy nie pokazywał dowodów wprost na potwierdzenie prezentowanych tez (np. pomiar konsumowanej przez SSMS pamięci przy stosowaniu i braku SET NOCOUNT ON). Szkoda, że Marek nie pokazał końcówki dema z obsługą transakcyjności w procedurach (ale może kiedyś na innej konferencji po prostu zrobi prezentacje o transakcjach). Ale i tak, jestem zadowolony z naszego występu.

Wielkie słowa uznania należą się członkom PLSSUG z Wrocławia. Zwłaszcza tym kilku osobom z Tobiaszem Koprowskim na czele. Wspaniała robota. Organizacja konferencji – pierwsza klasa. Myślę, że nawet brak tej nieszczęsnej pizzy nikomu nie przeszkadzał. W sumie chyba nie spotkaliśmy się tam na lunch ;-)

Co mogę dodać. Gratulacje dla wszystkich uczestników – dzięki, że chciało się Wam słuchać o SQL Serverze zamiast balować na andrzejkowych imprezach. Gratulacje dla prelegentów (szczególnie dla mojego współprelegenta – Marka, po raz kolejny totalny odlot) za naprawdę ciekawe sesje (świetne podsumowanie znajdziecie na blogu Tobiasza). Gratulacje dla Grzesia Stoleckiego – świeżo upieczonego prezesa PLSSUG. Oby pod Grzesiowymi rządami grupa realizowała najambitniejsze plany.

Do zobaczenia za rok. Bo nie wątpię, że w listopadzie 2010 znów spotkamy się na konferencji SQLDay. Gdzie tym razem? Czas pokaże. Ja już nie mogę się doczekać.

opublikowano przez brejk | 8 komentarzy

[PL] Kolacje w różnych wariantach

Dzisiaj spędziłem kilka chwil analizując problem, jaki pojawił się w jednym z wątków na portalu WSS.pl. Cała rzecz rozbijała się o użycie funkcji DATABASEPROPERTYEX, która jako wynik zwraca wartość typu sql_variant. I tu był cały szkopuł. Skąd biorą się informacje o właściwościach baz danych? Może z bazy master? A jaką kolację (nieoficjalne spolszczenie angielskiego "collation") ma baza master? Oczywiście, kolację serwera (wybieramy ją podczas instalacji). A zatem, jeśli mamy kolację Polish_CI_AS na serwerze, to wartość typu sql_variant zwracana przez DATABASEPROPERTYEX zakonotuje sobie kolację Polish_CI_AS właśnie (taki już urok typu sql_variant – gdy wrzucamy doń tekst, zapamiętuje się też jego kolacja). Jak to sprawdzić? Oto mały test:

USE master;
GO
IF EXISTS (SELECT * FROM sys.databases WHERE name = N'test')
DROP DATABASE test;
GO
CREATE DATABASE test;
GO
USE test;
GO
SELECT
SQL_VARIANT_PROPERTY(DATABASEPROPERTYEX(DB_NAME(), 'Collation'), 'Collation') AS KolacjaZapamietana,
CASE
WHEN N'Polish_CI_AS' = DATABASEPROPERTYEX(DB_NAME(), 'Collation') THEN 1
ELSE 0
END AS TestRownosci;
GO

Serwer ma kolację Polish_CI_AS. Test równości pokazuje, że kolacja bazy bieżącej to Polish_CI_AS. Funkcja SQL_VARIANT_PROPERTY pokazuje, że sql_variant zapamiętał kolację tę samą. Nic dziwnego, skoro tylką jedną kolacją operujemy :-)

A teraz trochę trudniej:

USE master;
GO
IF EXISTS (SELECT * FROM sys.databases WHERE name = N'test')
DROP DATABASE test;
GO
CREATE DATABASE test COLLATE Polish_BIN;
GO
USE test;
GO
SELECT
SQL_VARIANT_PROPERTY(DATABASEPROPERTYEX(DB_NAME(), 'Collation'), 'Collation') AS KolacjaZapamietana,
CASE
WHEN N'Polish_BIN' = DATABASEPROPERTYEX(DB_NAME(), 'Collation') THEN 1
ELSE 0
END AS TestRownosci;
GO

Tym razem kolacja bazy jest inna niż kolacja serwera. I co się dzieje? Test równości mówi, że kolacja bazy wcale nie jest Polish_BIN (choć jest właśnie taka bez wątpienia!). I co się okazuje. Ano okazuje się, że sql_variant zwracany przez funkcję DATABASEPROPERTYEX zapamiętał... Polish_CI_AS, czyli kolację serwera!

I teraz pytanie, czy wiedząc, że jest tak, jak powyżej napisałem, możemy domyśleć się, jak to się dzieje, że powyższe testy równości dają takie wyniki, jakie dają? Tak!!! Odpowiedzią są dwa rozdziały Books Online (BOL):

http://msdn.microsoft.com/en-us/library/ms190309.aspx - Data Type Precedence

http://msdn.microsoft.com/en-us/library/ms181071.aspxUsing sql_variant Data

Z pierwszego z powyższych rozdziałów dowiadujemy się, że sql_variant jest prawie najwyżej w hierarchii typów SQL Servera. A to oznacza, że w przypadku porównywania wartości typu sql_variant do wartości typu nvarchar (jak to ma miejsce powyżej) ta druga wartość rzutowana jest na sql_variant i dopiero następuje porównanie. A porównanie dwóch wartości typu sql_variant to już nie bułka z masłem dla SQL Servera, o czym można przeczytać w drugim z podanych przeze mnie powyżej rozdziałów BOL (warto spojrzeć, ile parametrów jest tam porównywanych, jeśli wartości pochodzą od typów tekstowych!).

Chciałoby się powiedzieć, czytajcie dokumentację (RTFM) :-) A ja bym powiedział raczej – uwaga na to, co zwraca funkcja (jakiego typu dane). Bo przecież proste rzutowanie na nvarchar załatwia sprawę problemów z sql_variant w przypadku użycia funkcji DATABASEPROPERTYEX, co pokazał Marek Adamczuk we wspomnianym wątku na WSS.pl.

Osobne podziękowania dla Maćka Pileckiego, z którym dyskusja ożywiła mój umysł i zachęciła mnie do ponownego przyjrzenia się problemowi. Problemowi, który okazuje się niekoniecznie trudny, a jednak pokazuje, jak bardzo trzeba uważać operując funkcjami (zawsze trzeba znać typ zwracany) oraz że nie powinniśmy ufać niejawnym konwersjom.

Zdecydowanie polecam też wszystkim obejrzenie nagrania sesji Marka Adamczuka o kolacjach z wczorajszego spotkania Virtual Study Group 70-432. Nagranie powinno niebawem ukazać się na portalu VirtualStudy.pl. Kolacje są tematem niełatwym i można się w nich pogubić dość skutecznie.

opublikowano przez brejk | 6 komentarzy

[PL/EN] TechEd Europe 2009 Post Mortem

[PL]

Konferencja TechEd Erope 2009 jest już przeszłością. Byłem tam w Berlinie i postanowiłem podzielić się swoimi wrażeniami i wspomnieniami.

Organizacja

W tym roku TechEd Europe odbył się w stolicy Niemiec, Berlinie. Centrum konferencyjne Messe Berlin okazało się ogromne (pierwszego dnia udało mi się obejść je dookoła i doświadczyć, jak jest ogromne). Ale tak musiało być, skoro w konferencji wzięło udział około 7000 uczestników (zarówno programistów, jak i IT prosów). Centrum jest naturalnie podzielone na duże części i organizatorzy postanowili to wykorzystać, by oddzielić poszczególne strefy konferencji. I tak mieliśmy osobną strefę labów, osobną strefę TLC (Technical Learning Center), osobną strefę Exhibition Hall (z tzw. Community Lounge pośrodku), osobną strefę na potrzeby lunchy i wreszcie osobną strefę sal wykładowych na potrzeby sesji.

W praktyce okazało się, że choć sale wykładowe były spore, na wiele sesji nie można było się dostać z braku miejsc. Na przykład – nie udało mi się wejść na sesję Pauli Januszkiewicz (dwukrotnie, bo sesja była powtórzona w piątek). Jednak problem ten nie wynikał z wielkości sal, a raczej z faktu, że uczestnicy nie musieli deklarować przed konferencją, w jakich sesjach wezmą udział. Przydałby się jednak system rodem z MTS 2009...

Ogólnie oceniam, że miejsce zostało dobrze dobrane, a ekipa techniczna działała bardzo sprawnie (tu duże podziękowania dla Neila Palmera za jego nieocenioną pomoc w strefie Community Lounge).

Tradycyjnie już można było zauważyć, że w czasie TechEd’ów możliwe jest jednoczesne spożywanie lunchu przez kilka tysięcy ludzi (na siedząco i bez kolejek) :-)

Ciekawostką jest, że dramatycznie spadła liczba MCT obsługujących laboratoria. Czyżby cięcia w budżecie? ;-)

Społeczności

W tym roku większość czasu na TechEd Europe spędziłem w Community Lounge, czyli w miejscu, gdzie spotykali się ludzie z różnych społeczności skupionych wokół technologii Microsoft. Moim zadaniem była popularyzacja organizacji takich jak Global IT Community Association (GITCA, dawniej Culminis) czy Ineta wśród ludzi zaangażowanych w społeczności. Czas dzieliłem pomiędzy rozmowy z ludźmi ze społeczności i organizowanie konkursu Guitar Hero (tak tak, był taki konkurs, a wygrała go niesamowita "bogini rocka" Freena z Holandii). A więc tak, można powiedzieć, że byłem tam w pracy!

Przy okazji padłem jedną z wielu "ofiar" Karen Young z programu MVP, która przeprowadziła ze mną krótki wywiad (zamieszczam poniżej).

[EN]

The TechEd Erupe 2009 conference is a past now. I was there in Berlin, and I decided to share my experiences and memories.

The organization

This year TechEd Europe was in Berlin, the capital city of Germany. The Messe Berlin confernce center appeared to be huuuge (on the very first day I walked around this center and I experienced how big it is). But it had to be this way because the total number of the attendees was around 7000 (both developers and IT professionals). The center is divided into several big areas and the organizers decided to use this fact to separate the zones of the event. And so we had a separate hands-on labs zone, a separate TLC zone (Technical Learning Center), a separate Exhibition Hall zone (with Community Lounge located in the very center of it), a separate lunch zone and – last but not least – the sessions zone.

In practice it appeared that I couldn’t get to some sessions because of no free sits. For example I didn’t manage to get to the session of Paula Januszkiewicz (twice, because it was repeated on Friday). The problem was that before the conference the attendees didn’t have to declare which sessions they would attend.

Generally, I think the place was good for this kind of event, and the technical crew worked very effectively (many thanks to Neil Palmer for his priceless help with everything related to the Community Lounge).

As always I noticed that somehow there is no problem during the TechEd events to organize lunch for several tousands people properly (everybody can eat sitting) and avoid queues :-)

Interesting fact – the number of MCT working as HOL Proctors decreased dramatically. Cost-cutting? ;-)

The communities

This year I spent most of my time during the TechEd Europe event at the Community Lounge, a place where people from Microsoft communities were meeting. My task was to make the organizations like Global IT Community Association (GITCA, formerly Culminis) and Ineta more popular in the community. My time was divided between talking to the communtiy members and organizing the Guitar Hero contest (yeah, there was such a contest and the winner was the amazing "goddess of rock" Freena from Netherlands).

By the way, I became one of the "victims" of Karen Young from the MVP Program. She made a short interview with me (see below).

Spędzając czas w Community Lounge byłem świadkiem kilku rund konkursu Speaker Idol, w którym zwyciężyła Maral Topalian z Libanu (gratulacje!). Warto dodać, że Maral startowała w tym konkursie po raz trzeci z rzędu. Godna pochwały konsekwencja.

Wiedza

Niestety, w tym roku nie udało mi się zobaczyć wielu sesji, a te, na których byłem, nie spełniły moich oczekiwań. W ogóle zauważyłem, że mam chyba coraz większe wymagania w stosunku do prelegentów i coraz trudniej sprostać moim oczekiwaniom ;-) Ale i tak polecam każdemu TechEd jako źródło wiedzy, bo tylu specjalistów w jednym miejscu spotyka się naprawdę rzadko.

Warto nadmienić, że polscy prelegenci (Paula Januszkiewicz, Maciej Pilecki i Rafał Łukawiecki) wypadli bardzo dobrze, a wspomniani dwaj panowie zdominowali ponoć TOP 5 najlepszych sesji.

Wspomnienie

Tym razem postanowiłem zmontować ze zdjęć krótki filmik, który myślę, że oddaje klimat tego, co działo się podczas TechEd Europe 2009. Miłego oglądania.

Dziękuję panom "Honor & Wisdom" oraz "New Born Child" za wspólne wycieczki po Berlinie i podzielenie się zdjęciami ;-)

Being in the Community Lounge I watched several rounds of the Speaker Idol contest won by Maral Topalian from Lebanon (congratulations!). Interesting that Maral started for the third time in a row in the Speaker Idol contest. Commendable consistency.

The knowledge

Unfortunately, this year I didn’t attend many sessions and the ones I managed to attend was not as good as I expected. In general, I noticed that my expectations for the speakers raise every year and it’s getting harder to meet them ;-) Anyway, I still recommend TechEd as a source of knowledge because it’s really hard to meet so many experts in one place in one time.

It’s worth mentioning that the Polish speakers ((Paula Januszkiewicz, Maciej Pilecki and Rafał Łukawiecki) did a great job. The gentlemen I mentioned apparently had three sessions in TOP 5.

The memory

This time I decided to make a short movie from my photos. I think this movie reflects the climate of the TechEd Europe 2009 event. Enjoy.

Many thanks to gentlemen "Honor & Wisdom" and "New Born Child" for common tours of Berlin and sharing their photos with me.

HOPE TO SEE YOU ALL NEXT YEAR!!!

[PL] 40. spotkanie PLSSUG Warszawa

40spotkanie

 

W imieniu swoim oraz prelegentów zapraszam wszystkich chętnych na 40. spotkanie warszawskiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG). Spotkanie rozpocznie się w czwartek, 5 listopada, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A).

Wstęp na spotkanie wolny.

Tym razem będzie coś dla programistów i architektów.

Pierwszą prezentację dnia poprowadzi Marek Adamczuk (SQL Server MVP). Marek opowie o tych cechach transakcji, o których na ogół się nie mówi, a które z punktu widzenia działania aplikacji bazodanowych są szalenie istotne. Prezentacja będzie okraszona przykładami kodu T-SQL z życia wziętymi. Ci, którzy widzieli w akcji Marka, wiedzą, że to pasjonat, który w czasie prezentacji idzie na żywioł i jego sesje zawsze są dynamiczne i pełne użytecznych wskazówek.

Drugą prezentację poprowadzi Wojtek Sawicki. Wojtek opowie o projektowaniu skomplikowanych baz danych z wykorzystaniem narzędzia PowerDesigner. Przy czym z całą pewnością nie skupi się wyłącznie na narzędziu, ale wskaże pewne kluczowe problemy powstające w trakcie projektowania baz danych i rozwiązania owych problemów. Wojtek ma za sobą lata praktyki jako programista i architekt systemów wspierających przedsiębiorstwa. Systemy te słyną ze swej złożoności, więc z całą pewnością usłyszymy wiele przydatnych porad.

Obie sesje gorąco polecam.

Szczegółowa agenda 40. spotkania PLSSUG Warszawa

Nieobowiązkowa rejestracja na 40. spotkanie PLSSUG Warszawa

Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server!

opublikowano przez brejk | 0 komentarzy

[PL] Virtual Study Group 70-432 – ucz się z nami do egzaminu

Zgodnie z zapowiedziami, jakie od dłuższego czasu pojawiały się na forum Polskiej Grupy Użytkowników SQL Server (PLSSUG), zaczynamy Virtual Study Group 70-432 (VSG432). Co to takiego? To cykl prezentacji, których celem będzie przybliżenie zagadnień, które powinien opanować każdy, kto przystępuje do egzaminu Microsoft o numerku 70-432 TS: Microsoft SQL Server 2008, Implementation and Maintenance. Celem nie będzie oczywiście przygotowanie od A do Z do wspomnianego egzaminu, a raczej pokazanie najważniejszych tematów, jakie czekają każdego zdającego w pytaniach/zadaniach na egzaminie.

Wszystkie prezentacje będą odbywały się online z użyciem technologii Live Meeting.

Aby uczestniczyć w sesjach (oglądać je na żywo), należy zainstalować klienta Live Meeting. Można go pobrać tutaj: http://office.microsoft.com/en-us/help/HA101733831033.aspx.

Kolejne spotkania VSG432 będziemy ogłaszać na witrynie PLSSUG (www.plssug.org.pl) oraz na portalu VirtualStudy.pl (www.VirtualStudy.pl).

Poniżej pełna lista planowanych tematów wraz z datami (każde spotkanie może składać się z kilku części).

 

Lp. Temat Prelegent Moderator Data
1 Instalacja SQL Server 2008 Marcin Goł Ziemek Borowski 2009-10-15
2 Konfiguracja SQL Server cz. 1 - sp_configure Marcin Goł Ziemek Borowski 2009-10-15
3 Konfiguracja SQL Server cz. 2 - SQL Server Configuration Manager (+ SQL Browser) Paweł Potasiński Ziemek Borowski 2009-10-15
4 Database Mail - konfiguracja i zastosowania Ziemek Borowski Paweł Potasiński 2009-10-19
5 Joby, alerty, operatorzy - konfiguracja, monitorowanie Damian Widera Paweł Potasiński 2009-10-19
6 Problemy z jobami (historia wykonywania, proxy, credentials) Stefan Konopnicki Paweł Potasiński 2009-10-19
7 Backup/restore Marcin Goł Damian Widera 2009-10-21
8 Maintenance plany Beata Zalewa Damian Widera 2009-10-21
9 Zarządzanie bazami danych (pliki, grupy plików, opcje plików, recovery model, attach/detach)  Marcin Goł Damian Widera 2009-10-21
10 Integralność baz danych (DBCC CHECKDB i jego opcje, śledzenie suspect pages) Marcin Goł Damian Widera 2009-10-21
11 Login, user, rola - kluczowe pojęcia w zarządzaniu bezpieczeństwem Stefan Konopnicki Marcin Goł 2009-10-26
12 Uprawnienia na poziomie instancji (w tym cross-database ownership chaining, impersonation, fixed server roles) Marek Adamczuk Marcin Goł 2009-10-26
13 Uprawnienia na poziomie baz danych (w tym ownership chains, schematy, uprawnienia do wykonywania operacji na obiektach, fixed database roles) Marek Adamczuk Marcin Goł 2009-10-26
14 Policy-Based Management Łukasz Grala Tobiasz Koprowski 2009-10-28
15 Audytowanie instancji (błędy logowania, logi serwera, C2, logon trigger, DDL trigger, event notifications) Marek Adamczuk Tobiasz Koprowski 2009-10-28
16 Transparent Data Encryption + Kryptografia Damian Widera Tobiasz Koprowski 2009-10-28
17 Kompresja danych (także kompresja backupów) Marcin Goł Paweł Potasiński 2009-11-04
18 Resource Governor Damian Widera Paweł Potasiński 2009-11-04
19 Performance Studio Damian Widera Paweł Potasiński 2009-11-04
20 Full-text indexing Łukasz Grala Stefan Konopnicki 2009-11-16
21 Indeksy (w tym indeksy przestrzennne, indeksy XML, defragmentacja) Hubert Kobierzewski Stefan Konopnicki 2009-11-16
22 Kolacje (serwera, bazy, kolumny, klauzula COLLATE) Marek Adamczuk Stefan Konopnicki 2009-11-16
23 Problemy z lockami (blokowanie, deadlocki, omówienie DMVs) Łukasz Grala Tobiasz Koprowski 2009-11-18
24 SQL Server Profiler + Perfmon Łukasz Grala Tobiasz Koprowski 2009-11-18
25 Database Tuning Advisor Łukasz Grala Tobiasz Koprowski 2009-11-18
26 High Availability (klaster, mirroring, log shipping) Ziemek Borowski Beata Zalewa 2009-11-23
27 Replikacja Marcin Goł / Radek Kępa Tobiasz Koprowski 2009-11-25
28 Import i eksport danych (BCP, BULK INSERT, OPENROWSET, GUI) Beata Zalewa Ziemek Borowski 2009-11-30

Sam jestem ciekaw, jak nam to wyjdzie. Ale już dzisiaj zachęcam wszystkich, którzy zamierzają uczestniczyć w spotkaniach na żywo, do założenia sobie konta na www.VirtualStudy.pl. Dzięki temu będziecie mogli dyskutować z prelegentami i moderatorami spotkań po ich zakończeniu.

Do zobaczenia na sesjach Live Meeting!

opublikowano przez brejk | 7 komentarzy

[PL] Teched Europe 2009 – geek lives here

Ha! Udało się i znów (po roku przerwy) pojadę na Teched Europe! Będzie to mój czwarty (2005, 2006, 2007, 2009) udział w europejskiej edycji tej konferencji. W tym roku impreza zapowiada się o tyle ciekawie, że nie ma podziału na programistów i IT prosów. Jest jeden wielki event – zapewne zaplanowany na jakieś 5 tysięcy ludzi. Ot, taki większy MTS :-)

 

No właśnie, a propos MTS 2009... Ci, co byli na MTS 2009 w zasadzie poczuli ducha techedowego. Dlaczego? Oto, jakie sesje między innymi znalazły się w agendzie berlińskiej konferencji:

image

Fajnie? Była tam nawet druga sesja Marka, którą też na MTS pokazał. A zatem widzieliśmy na MTS te same prezentacje, które obejrzą ludzie na konferencji za ponad 2 tysiące EURO! A co tam, posłodzę jeszcze raz (ale to już naprawdę ostatni raz w tym roku!) polskiemu oddziałowi MS - dobra robota z tym dobieraniem sesji :-)

Może Berlin to nie to samo, co Barcelona, może w listopadzie w tej części Europy pogoda nie powala, nieważne. Ważne, że znów będzie okazja spotkać znajomych (i nieznajomych!) z branży IT z całego świata. Zdecydowanie ten aspekt konferencji jest dla mnie najważniejszy.

Jeżeli wybierasz się na Teched Europe 2009, daj znać (pawelp[at]plssug[dot]org[dot]pl)! Może wybierzemy się na zwiedzanie Berlina, na oglądanie uroczystości z okazji rocznicy zburzenia muru berlińskiego czy na jakąś imprezę (a tych na ogół na Teched nie brakuje). A może po prostu zamienimy parę słów przy stoisku Culminisa, gdzie spędzę w tym roku trochę czasu integrując się z liderami społeczności IT z całego starego kontynentu? Do zobaczenia w listopadzie w Messe Berlin!

opublikowano przez brejk | 1 komentarzy

[PL] MTS 2009 oczami uczestnika

To były dwa dni pełne wrażeń! Konferencja Microsoft Technology Summit 2009 dobiegła końca. Jak wypadła w porównaniu z poprzednimi edycjami? Czy sesje stały na dobrym poziomie? Czy było dość kawy i jedzenia? Czy organizatorzy podołali co roku większym oczekiwaniom uczestników?

Te i inne pytania znalazły pewnie tyle odpowiedzi, ilu było uczestników tego wyjątkowego wydarzenia. Wyjątkowego, bo jak inaczej nazwać konferencję, na której kilkudziesięciu prelegentów prezentuje najnowsze technologie przed trzema tysiącami słuchaczy?

Gdyby ktoś mnie zapytał, jak oceniam MTS 2009 w dwóch słowach, odpowiedziałbym niczym Steve Ballmer: "AWESOME, BABY!".

Dlaczego tak mi się tegoroczny MTS podobał? Moje dwa cele co roku na MTS są niezmienne: po pierwsze - spotkać wyjątkowych ludzi o zainteresowaniach zbliżonych do moich i po drugie – wysłuchać ciekawych prezentacji prowadzonych przez znakomitych prelegentów. I okazało się, że moje oczekiwania zostały spełnione!

Zacząłem z samego rana we wtorek 29 września. Wchodzę do PKiN, "pik, pik" i po rejestracji – to lubię. Żadnych zbędnych formalności – tylko wręczenie przewodnika i bilecików na obiadki.

Sesja generalna

017 Na śniadanko – sesja generalna. Do Sali Kongresowej wchodziłem z pewną taką nieśmiałością mając w pamięci niezbyt udaną sesję generalną z MTS 2008 (dość rzec, że wytrzymałem wówczas 10 minut). I proszę, można zrobić fajną sesję generalną? Można! Pan Dariusz Piotrowski powinien dostać wyłączność na prowadzenie podobnych sesji. Wypadł znakomicie, jakby się w życiu nie rozstawał z mikrofonem. Brawo. Brawo za to, że nawet po słabszych momentach w wykonaniu dwóch kolegów pokazujących na dużym stresie "ficzery" Windows 7 błyskawicznie olśnił mnie Mariusz Jarzębowski. Brawo za wizję i za jasne przesłanie - "hej, Microsoft nie upadł, co prawda odczuwamy kryzys, ale dalej inwestujemy w rozwój i research". Wyszedlem z sesji generalnej pełen nadziei, że idzie ku lepszemu (to jak, za 10 lat na MTS wszystko będzie ładne i dotykowe?) ;-)

How Windows Storage Is Changing:  Everything's Going VHD! | Mark Minasi

Pierwszą sesją, jaką zobaczyłem na MTS 2009, była prezentacja Marka Minasiego o VHD w Windows 7. Po raz pierwszy widziałem Marka w akcji i muszę powiedzieć, że żadne opowieści nie oddadzą tego, co dzieje się na jego sesjach. Ten człowiek jest niewiarygodny w roli prelegenta. Wszędzie go pełno. Mówi tak, że w zasadzie temat jest nieistotny. Po prostu magnetyzm Marka powoduje, że słucha się go mega-przyjemnie. Przy okazji jest autentycznie zabawny, co nie jest wcale proste. Jego żart o zarobkach administratorów Linuksa czy stwierdzenie, że poczułby się "powerful", gdyby Microsoft wycofał pewną funkcjonalność, by zrobić mu na złość, były przednie i śmiałem się szczerze. A przy okazji dowiedziałem się nieco o tych słynnych wirtualnych dyskach w Windows 7 i chyba nawet zacznę ich używać! Ocena sesji: 10/10 (bo Mark wprowadził mnie w dobry nastrój i zaostrzył apetyt na następne sesje)

Półfinał konkursu Speaker Idol

W przerwie na lunch przypadła mi w udziale rola prowadzącego półfinał konkursu Speaker Idol. Choć po raz pierwszy zostałem "wodzirejem", dałem z siebie wszystko i zawody odbyły się szybko i sprawnie. Szacunek z mojej strony dla osób, które zgłosiły się do konkursu. Już w półfinale spory tłum uczestników konferencji słuchał 5-minutowych prezentacji 10 półfinalistów. Niektórzy konkursowicze wypadli naprawdę znakomicie (m.in. Jacek Pytowski i Tomek Wiśniewski, których prezentacje zostały ocenione najwyżej przez jury konkuru). Takie wydarzenia, jak ten konkurs, pamięta się przez lata. Myślę, że jedynym mankamentem był dość krótki czas, w którym musieliśmy się "zmieścić" (nieco ponad godzina na 10 prezentacji i oceny jury, to ciut mało).

Windows 7 Demo Mania | Tony Krijnen, Daniel van Soest

022 Po półfinale Speaker Idola udałem się na prezentację Windows 7 Demo Mania prowadzoną przez dwóch przemiłych (tego samego wieczora poznałem ich nieco na imprezie Community @ Night) Holendrów z Microsoft. Tony i Daniel zrobili kawał dobrej roboty. Pokazali mnóstwo nowinek w Windows 7 zapewniając przy tym ubaw po pachy. Dialog o zastosowaniach trybu prywatnego w IE zapisze się w mojej pamięci jako pokaz mistrzowskiego prowadzenia prezentacji w duecie (szacunek za to, bo wiem, jak trudno prowadzić prezentację z innym prelegentem i to jeszcze w formie dialogu). Pokaz prowadzony swobodnie na kilku maszynach wirtualnych i rzeczywistych, płynne przechodzenie między tematami, omówienie NAP i Direct Access, praca na polskim language packu (!!!!)... Długo by wymieniać to, co mi się podobało w tej sesji. Coś pięknego! I to na poziomie 200, a więc w zasadzie dla każdego. Ocena sesji: 10/10 (znakomita konwencja, błyskotliwe dialogi, zero nudy)

Visual Studio 2010 - najciekawsze cechy w praktyce | Bartosz Pampuch

"Niemożliwe, same świetne sesje?!" – pomyślałem, gdy udałem się na kolejną prezentację. Bartosz Pampuch, no co ja mogę o człowieku napisać :-) Przemiły chłopak, szef R&D w Comarch, gość, który ma unikalny dar zjednywania sobie publiki i czuje się w roli prelegenta, jak ryba w wodzie. Tym razem wiedziałem, że temat jest nieco obok zainteresowań Bartka i byłem ciekaw, jak sobie poradzi w nowej sytuacji. A miał sobie nie poradzić? :-) Początek – i wszystko jasne. Zamiast pierwszego slajdu i agendy – film. I to nie byle jaki! Profesjonalna animacja wprowadza słuchaczy w nastrój sesji i sprawia, że sala już czeka na "mięsko". I po chwili nadchodzi grad informacji o nowościach w Visual Studio 2010 podany w takiej formie, że nikt nie ma wątpliwości, że prelegent jest najwyższej próby. Takich sesji mogę słuchać w dowolnej ilości. Nie będąc ekspertem w temacie .NET, wątków, zadań równoległych i w ogóle programowania obiektowego, dokładnie wiem, co autor miał na myśli, tfu, prelegent chciał przekazać :-) Ocena sesji: 10/10 (słodzę? ale takich ludzi trzeba rozpuszczać w cukrze! przecież na koniec publika biła Bartkowi brawo trzy razy!)

Sesja Bartka była ostatnią, jaką widziałem pierwszego dnia konferencji. Co prawda spędziłem jeszcze 10 minut słuchając Pawła Terleckiego mówiącego o Gemini, ale to było zdecydowanie za mało, by wypowiadać się na temat jego prezentacji.

Potem przyszedł czas na imprezę Community @ Night. Nie ma to jak dobra zabawa w doborowym towarzystwie przy piwie, XBoxach i pogaduchach o blogach (Bloggers Underground # 2.5) społecznościach, technologiach i życiu. Było super.

User Experience and design technologies – What’s New and Cool? | Michael Koester

W środę rano na szczęście nie czułem oznak zmęczenia po wieczornym imprezowaniu i pełen dobrych myśli udałem się na sesję o Silverlight, WPF i Blend. Michael Koester miał doskonałe notowania po ubiegłorocznej edycji konferencji. Toteż poprzeczkę stawiałem mu wysoko. Myślałem, że demonstracje powalą mnie pięknymi i animowanymi interfejsami użytkownika. Hmmm... Było nieźle, ale... Ale uważam, że pokazywanie na takiej sesji przydługiego tutoriala wziętego z bloga prelegenta to nie jest to, co tygryski lubią najbardziej. Miejscami traciłem wątek, gdy Michael wykonywał różne operacje w niezbyt widocznym i prostym interfejsie Blenda. Muszę przyznać, że udało mu się mnie zatrzymać na tej sesji czymś innym niż efekty specjalne. A mianowicie bardzo przypadła mi do gustu pasja, z jaką Michael opowiadał o technologiach bogatego interfejsu użytkownika. W sumie sesja porządna, ale bez fajerwerków. Ocena sesji: 7.5/10 (za pasję, za odnośnik do bloga Szymona Kobalczyka, za podanie paru trików a propos realizacji multi-touch)

12 Tips to Secure Your Windows Systems Revisited:  How Vista, Server 2008 and Windows 7 Change the Game | Mark Minasi

Druga sesja dnia i druga sesja Marka, jaką widziałem na tej konferencji. I po raz drugi zrobił na mnie piorunujące wrażenie. Są tacy ludzie, którzy mają niemal wytatuowane na czole PRE-LE-GENT. Mark Minasi jest bez wątpienia jednym z nich. Temat o bezpieczeństwie, teoretycznie o jakichś tipsach, a tymczasem prelegent jak gdyby nigdy nic opowiada zabawne historie, z których jednak każda pasuje jak ulał do tematu i – co ważne – prowadzi do puenty, nie zawsze oczywistej. Każda wypowiedź Marka jest przemyślana i celowa. Każdy żart komponuje się efektownie z prezentowaną wiedzą. Czapki z głów. Dotąd myślałem, że nie do pobicia jest warsztat prezenterski Rafała Łukawieckiego. Po MTS 2009 myślę, że Mark Minasi jest co najmniej tak samo dobry, a nawet jego styl odpowiada mi bardziej (większy fun!). Ocena sesji: 10/10 (tak dobrze wybrałem sesje, czy może jestem nieobiektywny???)

SQL Server 2005/2008 Database Maintenance – Practical tips and tricks for all SQL Server databases | Kimberly L. Tripp

029Przed ostatnią sesją zrobiłem sobie długą przerwę i postanowiłem odpuścić sobie prezentację Artura Jedynaka (zmęczenie dało o sobie znać, a chciałem bardzo pójść na choć jedną sesję o SQL Server). Spędziłem za to owocnie ponad 1,5 godziny na dyskusji o Programie MVP z Alessandro Teglia (MVP Lead).

Jako jedyną sesję o SQL Server na MTS 2009 wybrałem sobie prezentację Kimberly L. Tripp o praktycznych tips and tricks dla administratorów baz danych. Kimberly i jej męża, Paula S. Randala, znam osobiście z konferencji TechEd oraz z epizodów na lotniskach :-) Co można powiedzieć o Kimberly? Ktoś kiedyś nazwał ją "SQL Goddess". W zasadzie to całkiem dobrze oddaje jej charakterystykę. I co zrobiła "bogini" na MTS 2009? W ciągu 75 minut omówiła 10 całkiem sporych tematów. Nie zaprezentowała żadnego dema, ale – o dziwo! – wcale mi to nie przeszkadzało! Muszę przyznać, że namawiałem sporo osób, by wybrały się na choć jedną prezentację Kimberly i po tej sesji stwierdziłem, że dobrze, że namawiałem! Klasa prelegent. Ocena sesji: 10/10 (powalająca ilość wiedzy w pigułce, bezcenne linki do blogów Kimberly i Paula, licznych KB i whitepaperów, kilkadziesiąt sekund oklasków na koniec sesji mówi samo za siebie)

Koniec

Zakończenie MTS 2009 wypadło mniej okazale niż rozpoczęcie, ale to normalna sprawa. Ludzie uciekają na pociągi, samoloty, unikają korków na drogach. Stąd mniejsze zainteresowanie sesją końcową oraz finałem konkursu Speaker Idol. Zwycięzcą Speaker Idola został Tomek Wiśniewski, który najlepiej poradził sobie ze stresem, podbił jury konkursu i zasłużył, by w przyszłym roku poprowadzić sesję na MTS 2010. Gratulacje!

Post mortem

No i co tu napisać na koniec? Szkoda, że już po wszystkim? Do zobaczenia za rok? :-)

Podsumuję moje wrażenia krótko: brawa dla organizatorów i oby tak było zawsze! Sesje na wysokim poziomie, znakomita atmosfera, widoczne i wszechobecne społeczności, wyciągnięte wnioski z poprzednich lat. Nawet taki malkontent, jak ja, nie ma się do czego przyczepić. Za rok też chcę być na MTS. I polecam tę konferencję każdemu, kto chce być na bieżąco z technologiami Microsoft. Po prostu warto tam być.

Ocena konferencji MTS 2009: 10/10!!!

opublikowano przez brejk | 16 komentarzy

[PL] 39. spotkanie PLSSUG Warszawa

39spotkanie

 

W imieniu swoim oraz prelegentów zapraszam wszystkich chętnych na 39. spotkanie warszawskiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG). Spotkanie rozpocznie się w czwartek, 1 października, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A) Tak, tak, spotykamy się dzień po MTS 2009!!! :-)

Wstęp na spotkanie wolny.

Tematy są mega-interesujące, głównie dla programistów T-SQL, bo...

... pierwszą prezentację o wybranych hintach poprowadzi Krzysztof Bąk. Ci, którzy widzieli prezentację Krzyśka o Service Brokerze, wiedzą, że człowiek porządnie przygotowuje materiał do każdej prezentacji, więc i tym razem na pewno jego sesja będzie interesująca. A po nim...

... wystąpi niewątpliwie jeden z najlepszych prelegentów (jeśli nie najlepszy), jakich kiedykolwiek miała grupa PLSSUG Warszawa – Marek Adamczuk (SQL Server MVP). Marek w każdej swojej prezentacji sprzedaje tyle wiedzy, że można nią śmiało obdzielić całe konferencje. Tym razem przyjdź, jeśli chcesz wiedzieć o wieeeeele więcej o transakcjach.

Szczegółowa agenda 39. spotkania PLSSUG Warszawa

Nieobowiązkowa rejestracja na 39. spotkanie PLSSUG Warszawa

Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server!

opublikowano przez brejk | 0 komentarzy

[EN] SQL Server MVP Deep Dives e-book and pre-order are coming!

Last year a project named SQL Server MVP Book Project started. The result of this project is the "SQL Server MVP Deep Dives" title published by Manning! The book is coming as an e-book and pre-order on Amazon.com.

The title is coauthored by 53 MVPs and edited by some great names of the SQL Server world: Paul Nielsen (the originator of the whole project), Adam Machanic, Kalen Delaney, Greg Low, Kimberly Tripp and Paul Randal. The most important about this project is that none of the authors receive any money for their contributions (all proceeds are going to the charity).

The chapters are divided into five sections:

1. Database Design and Architecture
2. Database Development
3. Database Administration
4. Performance Tuning and Optimization
5. BI Development

And, wow! I’m happy to announce you can find my chapter "Utils now! Extend your productivity in SQL Server Management Studio and Query Analyzer" in Database Development section! It was a great experience to be a part of this project (and to have an opportunity to review one chapter written by Itzik Ben-Gan himself ;-)).

I’m sure the book is great with so many topics covered by so many experts. I can’t wait until I get my own copy and read all 850 pages!

PS1. Maybe we should think about some similar project locally in Polish Microsoft communities?

PS2. The real premiere of SQL Server MVP Deep Dives will probably happen at PASS Summit conference later this year. I’ll keep posting when the book is available to buy (or to get from me somehow :-)).

[PL] 24 Hours of PASS – post mortem

Wczorajszy dzień był wymarzonym dniem dla każdego, kto pasjonuje się systemem Microsoft SQL Server. Organizacja Professional Association for SQL Server (PASS) zorganizowała wydarzenie online o nazwie 24 Hours of PASS. Dwadzieścia cztery godzinne prezentacje, znani prelegenci, SQL Server MVPs, ciekawe i zróżnicowane tematy – każdy mógł znaleźć coś dla siebie. Inna sprawa, czy tematy były na wysokim poziomie merytorycznym. Z tym bywało różnie.

Ja uczestniczyłem w 5 sesjach:

The SQL Server 2008 Vanishing Act
Prelegent:  Peter Ward
Moja subiektywna ocena: Wybrałem tę sesję z uwagi na tajemniczy tytuł. Niestety, rozczarowała mnie zarówno tematyka, jak i sama prezentacja. Tematyka była przeznaczona dla managerów lub szefów IT, co było o tyle zaskoczeniem, że spodziewałem się samego "mięska" czyli technikaliów. Ale dobrze, może być i sesja o tym, jak oszczędzać na serwerach. Tylko co w takiej prezentacji robi oklepane (pętla obiążająca CPU? było 200 razy!) demo dotyczące Resource Governora??? Zdecydowanie najsłabsza prezentacja, jaką tego dnia widziałem. Ocena: 4/10 (za podanie miejscami ciekawych statystyk)

Text Mining
Prelegent: Dejan Sarka
Moja subiektywna ocena: Dejan na starcie przeprosił za swoją wymowę. Zupełnie niepotrzebnie, dało się zrozumieć ;-) Prelegent skupił się na komponentach SSIS służących do zabaw z tekstem (odszukiwania najczęściej występujących fraz i słów). Wspominał o aspektach wydajnościowych (wskazywał m.in. blokujące komponenty). Wszystko fajnie, ale miejscami brakowało mi "kropki nad i". Przykładowo, nie dowiedziałem się w końcu, jak znaleźć częstotliwość występowania frazy "SQL Server" nie pokazując częstotliwości występowania słowa "SQL" i jednocześnie pokazując częstotliwość występowania innych słów (tego niestety pokazywany komponent nie umiał, a przydałoby się choć wspomnieć, jak takie zadania realizować). Ocena: 8/10 (w sumie ciekawa sesja, wreszcie sporo "mięska" :-))

SQLCLR or T-SQL? A Brief Survey of Performance Options
Prelegent: Adam Machanic
Moja subiektywna ocena: Na tę sesję ostrzyłem sobie ząbki. CLR ma ogromny potencjał. Od zawsze czekałem, kiedy wreszcie ktoś podejdzie do tematu po męsku, zrobi porządny research i powie "tu, tu i tu CLR jest lepszy od T-SQL". I doczekałem się! To była zdecydowanie najlepsza prezentacja, jaką widziałem w ramach 24 Hours of PASS. Adam nie molestował słuchaczy znanymi powiedzonkami w stylu "do obliczeń matematycznych użyj CLR" tylko pokazywał konkretne przypadki, kiedy CLR jest lepszy/gorszy od T-SQL. Sesja z ogromną wartością dodaną. Wykresy, z których m.in. jasno wynikało, że REPLACE w SQL Server jest wolniejszy od odpowiednika napisanego w .NET to było to, co tygryski lubią najbardziej. Ocena: 10/10 (oby wszystkie prezentacje odpowiadały na tyle pytań!)

Loading a Data Warehouse in SSIS
Prelegent: Brian Knight
Moja subiektywna ocena: Briana Knighta zna każdy, kto czytuje literaturę poświęconą SSIS (zwłaszcza książki wydawnictwa Wrox). Dlatego postanowiłem zobaczyć, co ciekawego ma do pokazania w, trudnej rzekłbym, tematyce ładowania danych do hurtowni. I nie rozczarowałem się. W prezentacji czuć było wyraźnie słabość Briana do komponentu Slowly Changing Dimension :-) Ale też sporo ciekawostek udało się prelegentowi wyciągnąć na wierzch. Dość powiedzieć, że niektóre rzeczy nawet lokalnym SSIS-owym mistrzom były nieznane. Ocena: 9/10 (fajne dema, dużo ciekawostek)

What's Simple about Simple Recovery Model
Prelegent: Kalen Delaney
Moja subiektywna ocena: Kalen przedstawiać nikomu nie trzeba. W świecie SQL Servera jest niemal wyrocznią (nie mylić z oracle ;-)). Tym razem dała przedsmak tego, co czeka szczęśliwców wybierających się na PASS Summit 2009. Sesja o logu transakcyjnym przydałaby się wszystkim, którzy mają logi większe niż pliki danych (a sądząc po postach z forum portalu WSS.pl nadal takich osób nie brakuje). Nie udało mi się dotrwać do końca, ale to, co zobaczyłem, utwierdziło mnie w dwóch przekonaniach: log transakcyjny to temat niełatwy i opanowanie tego tematu jest szalenie ważne, jeśli ktoś ma pracować z SQL Serverem "na poważnie". Ocena: N/A (ale dałbym dużo, gdybym dotrwał do końca, bo bardzo lubię sposób prezentacji Kalen)

Ogólnie oceniam 24 Hours of PASS na 10/10. Świetna sprawa taka wirtualna konferencja. Siedzisz wygodnie przed komputerem i oglądasz, ile chcesz. Zainteresowanie było spore. Na większości sesji, które widziałem, było ponad 400 słuchaczy. Można było zadać pytanie. Każda sesja była moderowana przez lidera jednej z grup należących do PASS (jedną z sesji moderował Damian Widera, prezes PLSSUG). Myślę, że po tym wydarzeniu każdy doceni potencjał Live Meetingu i wirtualnych konferencji. A może jakaś grupa w Polsce zrobi taką konferencję?

I na koniec ciekawostka. Jeden człowiek – Tom LaRock (SQLRockStar) – wytrzymał cały dzień i był na wszystkich sesjach. Szacunek dla tego Pana :-)

[EDIT] Zupełnie zapomniałem wspomnieć (dzięki pascon za przypomnienie!), że wszystkie sesje były nagrywane. Nagrania będą dostępne publicznie w listopadzie/grudniu. [/EDIT]

opublikowano przez brejk | 5 komentarzy

[PL] 38. spotkanie PLSSUG Warszawa

image

 

W imieniu swoim oraz prelegentów mam przyjemność zaprosić na 38. spotkanie warszawskiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG). Spotkanie rozpocznie się w czwartek, 3 września, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A) – wracamy na stare śmieci :-)

Wstęp na spotkanie wolny.

Tym razem zróżnicowanie tematów dość duże. Ale to chyba dobrze.

Pierwszą prezentację o Data Mining Expressions (DMX) poprowadzi Marcin Szeliga (SQL Server MVP). Marcina przedstawiać nikomu nie trzeba. Autor licznych książek o tematyce związanej z bazami danych (i nie tylko), redaktor portalu WSS.pl, lider PLSSUG Katowice, trener. Ostatnio Marcin zmienił ciut kierunek swojego rozwoju w dziedzinie baz danych – skupia się na Business Intelligence. Efekt? Książka i właśnie sesja o DMX :-)

Drugą prezentację dnia poprowadzi Krzysztof Stachyra (MCT). Krzysztof a można spotkać na forum portalu WSS.pl (nick wrkwarka). Na co dzień pracuje jako trener i konsultant. W trakcie prezentacji Krzysztof zaprezentuje urządzenie FortiDB-400, które jest nowością w obsłudze baz danych. Sesja będzie miała na celu przybliżenie nowego kierunku urządzeń do monitoringu, które wkraczają wielkim krokiem w świat administracji bazami danych.

Szczegółowa agenda 38. spotkania PLSSUG Warszawa

Nieobowiązkowa rejestracja na 38. spotkanie PLSSUG Warszawa

Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server!

opublikowano przez brejk | 0 komentarzy

[PL] Mój harmonogram na MTS 2009

Po drobnych (?) problemach technicznych udało mi się przebrnąć przez tworzenie harmonogramu na MTS 2009. Szczerze mówiąc zaproponowane w tym roku tematy jakoś mnie nie powaliły na kolana i nie ułatwiły mi wyboru. Abstrakty sesji SQL-owych, na które liczyłem najbardziej, sugerują, że będziemy świadkami samych sesji what’s new. Ale pewnie wszystkiego nie ma w abstraktach i z każdej sesji będzie jakiś "take-away". Idę zatem na sesję o Gemini (what’s new w SQL Server 2008 R2 jest wskazane) i na jedną sesję Kimberly L. Tripp (tym, którzy Kimberly nie widzieli polecam obie jej sesje, a także obie sesje Paula S. Randala). A poza tym? O dziwo sporo Windowsa :-) Dwa razy wybieram się na Marka Minasiego. Idę też na lekką sesję o Windows 7 (Demo Mania). Z polskich prelegentów wybieram tych, którzy mnie nigdy nie zawiedli zarówno warsztatem, jak i merytoryką (i oczywiście tematyką) – Bartosza Pampucha i Artura Jedynaka. Całość dopełnia leciutka (poziom 200) sesja o Silverlight/WPF/Expression prowadzona przez Michaela Kostera (z tego, co pamiętam, człowiek miał bardzo dobre notowania po MTS 2008). Poniżej zrzut ekranu z mojego harmonogramu.

image

Na koniec uwaga do organizatorów. Na przyszłość serwer i aplikację do tworzenia harmonogramów twórzcie tak, by wytrzymały szturm uczestników. Inaczej już w przedbiegach można uprzedzić ludzi do całego wydarzenia. Oby dalej było już tylko świetnie!

opublikowano przez brejk | 6 komentarzy
Filed under: , ,
Więcej wypowiedzi Następna strona »