Aan het eind van dit jaar verwacht Microsoft uit te komen met Microsoft SQL Server 2005, waarvan inmiddels de derde bèta is vrijgegeven. Op de vorige week in Den Haag gehouden Microsoft DevDays – een evenement voor ontwikkelaars – was er veel aandacht voor dit SQL Server 2005. Computable sprak met software-architect Gert Drapers, die al sinds 1999 werkt aan nieuwe SQL-versies.
Toen Microsoft in 1988 begon met SQL werden er zeven man op gezet. Deze kleine ploeg maakte Sybase geschikt voor het destijds nieuwe OS/2. Sinds 1994 vaart Microsoft een geheel eigen koers met SQL, waarbij sprake is van een steeds hechtere integratie is tussen SQL en het eigen besturingssysteem Windows Server. Bij de komst van de Nederlander Drapers was het team uitgegroeid tot veertig mensen. Het team in Redmond telt nu duizend man met daarin 450 softwareontwikkelaars. Microsoft SQL Server 2005 is uitgegroeid tot een omvangrijk product. Aan het roer van SQL staat general manager Bill Baker.
Opvallend aan deze productlancering is de sterke onderlinge afhankelijkheid met het ontwikkelplatform Microsoft Visual Studio 2005, dat vaak voor programmaontwikkeling in C# wordt gebruikt. Tot nu toe is T-SQL de belangrijkste manier om gegevens in SQL te benaderen, ook vanuit een programmeeromgeving. De introductie van Visual Studio geeft wat onrust, maar Drapers wil die direct wegnemen. “Met de komst van Microsoft SQL 2005 verandert weinig aan de rol van T-SQL. Ja, het is zo dat je SQL nu ook met C# of een andere taal in Visual Studio kunt benaderen, maar dat is niet de inzet. Het gebruik is vooral bedoeld om in de programmeertaal uitbreidingen voor T-SQL te maken, bijvoorbeeld rekenintensieve functies of transformaties die je mist. Voor benaderen van data blijft T-SQL het juiste gereedschap. Het is niet de bedoeling dat je nu in C# je eigen datatypes maakt en data benadert. Het kan wel, maar het is niet de juiste weg. In C# een encryptiefunctie maken en deze in T-SQL gebruiken is een voorbeeld van gebruik zoals we dat voor ogen hebben.”
Hoge prestaties
Net als bij andere software voor Windows, worden onderdelen van SQL steeds meer in managed code uitgevoerd om veiligheid en platformonafhankelijkheid te vergroten. Niet direct de processor, maar de CLR (Common Language Runtime – red.) controleert managed code software in een Windows-besturingssysteem en voorziet in functies. Drapers legt uit: “Het CLR-team heeft veel input van ons gekregen. Vrijwel alle nieuwe hosting api’s (programmeerfunctionaliteit) die je in CLR 2.0 vindt zijn voor SQL toegevoegd, zodat geheugengebruik en processen in managed code efficiënt en eigenlijk onder beheer van SQL kunnen vallen. Je wilt niet dat de CLR zomaar beslist een SQL-proces te stoppen, omdat er te weinig geheugen is. Nu trekt de CLR bij ons aan de bel, zodat we processen in SQL netjes kunnen stoppen als dat nodig is.” Microsoft mikt hier op hoge prestaties. “Vaak zie ik bij Oracle, IBM en de Borland Database Engine (BDE) dat de CLR out-of-process wordt gebruikt. Dat is minder efficiënt, wij gebruiken de CLR in-process.”, aldus Drapers.
Wijzigingen
Het beheer en de tools van SQL 2005 zijn totaal gewijzigd. Drapers zegt hierover: “De MMC (Microsoft Management Console) was niet goed genoeg. We hebben uiteindelijk voor Visual Studio gekozen als omgeving voor ontwerp, beheer en analyse. Wat betreft beheer was het achter de schermen een beetje een rommeltje geworden met DMO (Database Management Object), we gebruiken nu uitsluitend de nieuwe, rijkere SMO (SQL Management Objects). De uniforme aanpak heeft het voordeel dat nu alles scriptable is. Verder zijn in beheer alle schermen ‘modal’ geworden zodat niets het scherm blokkeert, je kunt altijd verder werken. We kunnen de beheerschermen ook in zeer kleine stapjes opdelen, maar in 2005 zie je dat nog niet. Je kunt bijvoorbeeld een tape operator alleen dat laten ziet waar hij recht op heeft, een DBA ziet in dezelfde beheertool dan hele andere schermen.”
Een gratis versie van SQL komt ook beschikbaar. Drapers stelt: “We waren erg onduidelijk tegen ontwikkelaars bij de licenties rond de huidige gratis MSDE-database. Daarnaast gaan we stoppen met de Jet-database. De SQL-Express-versie van SQL Server 2005 is bedoeld om dit op te lossen. De enige beperking nu is één processor, 4 GB geheugen en 4 GB data per database in SQL 2005 Express. Het aantal databases is niet beperkt. Het gratis product is dus niet zo zeer gemaakt als een aanval op MySQL”
BI en datawarehouse
Opvallend nieuw is de rijke BI- en datawarehouse-functionaliteit. Drapers zegt hierover: “Ik denk dat SAS en Informatica ons kunnen vrezen. We hebben BI vooral erg simpel gemaakt, we hebben goed gekeken hoe gebruikers met BI omgaan en geloven dat ons product makkelijk te gebruiken is voor een groot publiek. SAS en Informatica zijn moeilijk te bedienen en vereisen veel specialisatie; wij maken het eenvoudig, zonder dat dit ten koste gaat van de functionaliteit.” Over het inlezen van data zegt hij: “Er is veel werk gemaakt van het ETL-proces (extract, transform & load – red.). Het werkt nu sterk visueel, achter de schermen werken processen parallel en snel. We kunnen zeer hoge prestaties halen. De concurrentie is hier over het algemeen traag.”< BR>