Szerző: Budai Péter

2006. június 28. 12:45

Mi lesz veled, WinFS?

A Microsoft programmenedzsere, Quentin Clark saját fejlesztőcsoportjának blogján tudatta a világgal múlt hét pénteken, hogy az, amit eddig WinFS-ként ismertünk, gyakorlatilag nincs többé.

[HWSW] A Microsoft programmenedzsere, Quentin Clark saját fejlesztőcsoportjának blogján tudatta a világgal múlt hét pénteken, hogy az, amit eddig WinFS-ként ismertünk, gyakorlatilag nincs többé.

Meghalt a WinFS?

Ez nem jelenti azt, hogy örökre búcsút kellene vennünk a relációs fájlrendszertől, csak azt, hogy különálló szoftverként, bővítményként a WinFS nem lesz elérhető. Eredetileg a WinFS a Windows Vista részeként érkezett volna, azonban a Longhorn "Reset" idején, 2004 nyarán hivatalosan is bejelentette a vállalat, hogy az új generációs fájlrendszer és adatplatform nem lesz az új operációs rendszer része.

A WinFS első bétája 2005 vége óta elérhető, és az idei, nyári TechEd konferencián is számtalan előadás foglalkozott a WinFS felépítésével, használatával, céljaival. A WinFS második bétája a nyár közepén-végén érkezett volna, azonban ez most már biztosan elmarad. Az új koncepció szerint a WinFS technológiáit három részre szedik szét: az első, legnagyobb rész bekerül a "Katmai" kódnéven fejlesztett, új SQL Serverbe, a második fele az új generációs, programozóknak szánt adatplatformot erősíti, míg a harmadik rész, maga a fájlrendszer csak később, a Windows Vista utáni operációs rendszerek egyikében bukkan fel.

A WinFS valójában a Microsoft új generációs adatplatform célkitűzéseinek egyik eszköze, ami lényegesen túlmutat egy fájlrendszeren. Maga a relációs-szekvenciális hibrid fájlrendszer teljesen bizonytalan, hogy mikor lesz elérhető asztali operációs rendszerben, de elképzelhető, hogy a Windows Vista utáni, "Fiji" kódnevű kiadás már tartalmazni fogja. Az ezzel kapcsolatos fejlesztéseket a Project Orange keretében végzik, ami magában foglalja a korábbi NTFS-WinFS fájlrendszert, és a köré épülő felhasználói felületet, ami az állományok kapcsolatainak karbantartására lesz alkalmas.

Hogyan működött eddig a WinFS?

A WinFS valójában az SQL-ből is ismert relációs megközelítést kívánta ötvözni az NTFS fájlrendszer szekvenciális felépítésével, tehát nem szakított volna az NTFS-sel, hanem arra épült volna. Ennek az az oka, hogy az NTFS már bizonyítottan a legalkalmasabb technológia Windows alatt a stream-alapú, szekvenciális adatok kezelésére, olvasására, írására, viszont indexelésre teljesen alkalmatlan, erre a célra vették volna igénybe az SQL Server relációs és indexelő képességeit.

A WinFS az indexelést és a relációkat kihasználva képes lett volna arra, hogy fájljaink közt tetszőleges relációkat, viszonyrendszert alakítsunk ki. Igaz, ez egyszerű meta tagek megadásával is részben megvalósítható, mint ahogy azt a Vistában láthatjuk, és a rendszerezésük is megoldható alternatív megoldásokkal, amire szintén jó példa a Vistában a virtuális könyvtárak és keresési könyvtárak megvalósítási módja.

A WinFS technológia a fejlesztőknek azt nyújtaná, hogy egy fájl programon keresztül történő megnyitásakor annak valamennyi lényeges adatát -- a fájl típusának függvényében, például képnél annak méretét, tömörítését, valamint a meta tageket -- elérhetővé és könnyen módosíthatóvá teszi. A fejlesztők a WinFS API-kon keresztül a relációk feltérképezésére és azok felhasználására is képesek lettek volna.

Mi újat várhatunk a Vistától és a Longhorn Servertől?

A fájlrendszer tekintetében azonban már a Vistában és a Longhorn Serverben is lesznek újdonságok. Igaz, a keresés megvalósítására egyelőre marad a Desktop Searchből ismert indexelő technológia, ami független a fájlrendszertől, de ezen kívül is találhatunk pár érdekes újítást. Az egyik ilyen az alacsony prioritású lemez- és I/O-műveletek támogatása lesz.

Eddig nem volt lehetőség arra, hogy a lemezműveleteket, illetve az általános I/O-műveleteket prioritással lássuk el, ezt csak programszálak szintjén lehetett megtenni, ezért az indexelő szolgáltatás gyakran a többi szoftver kárára foglalta, lassította a rendszert. Ezentúl az indexelés folyamatosan futhat, de csak akkor jut hozzá az erőforrásokhoz, ha ez nem okoz teljesítményproblémát a rendszer egészére nézve. Ez a Windows Defender, a Windows Client Protection és a töredezettség-mentesítés futását is nagyban egyszerűsíti, hatékonyságukat javítja anélkül, hogy ezt mi megéreznénk.

A Vistában az NTFS már képes ugyanúgy kezelni a fájl-linkeket is, mint ahogy azt a UNIX-alapú rendszerek esetében megszokhattuk. A merevlemezről bootolás folyamata is változik, eltűnik a boot.ini, helyette teljesen platformfüggetlen bootolási módszert dolgoztak ki a Vista fejlesztői: a Vista esetében a rendszerindításhoz szükséges valamennyi adat a Registryben lesz megtalálható.

A másik jelentős újdonság a Longhorn Serverben érkezik, ahol megjelenik a tranzakciókat is támogató T-NTFS, sőt, a tranzakciókat támogató Registry is. Ezáltal lehetővé válik, hogy egy telepítő, vagy egy tetszőleges folyamat csak akkor végezze el valamennyi módosítását a rendszeren, ha azok mind együtt sikerültek, addig a rendszer többi része lehet, hogy nem is látja ezeket.

Mi lesz a WinFS projekt részeivel?

A Microsoft új generációs adatplatformja, és részben a WinFS is sokkal inkább a fejlesztőket célozza meg -- ez már a WinFS bétájában is érezhető volt. Érdemes egy egységként kezelni azokat az új technológiákat, amiket a Microsoft ezen a téren fejleszt. Ide tartozik például az elhalt Microsoft Business Frameworkből és a .NET 2.0-ból kimaradt ObjectSpacesből átemelt objektum-relációs mapping, amit most ADO.NET Entities-nek neveztek el. Ez arra képes, hogy tetszőleges entitásokat objektumorientált kódból is képesek legyünk kényelmesen használni, mindemellett pedig a rendszer biztosítja ezen entitások relációs adatbázisban történő tárolását. Ez a technológia várhatóan a Visual Studio következő változatában, az "Orcas"-ban fog megérkezni.

Ugyancsak az Orcas részeként lehet számítani a LINQ technológiákra, amik gyakorlatilag az SQL szintaktikát viszik át a procedurális nyelvekbe, így például a C# 3.0-ba és a Visual Basic 9.0-ba. Ezzel lehetővé válik, hogy akár bármely IEnumerate-interfészt támogató objektumot, DataSeteket, de akár SQL adattáblákat és XML-adatokat is el tudjunk érni ugyanazzal a nyelvi eszközkészlettel, így a fejlesztőknek gyakorlatilag nem kell 2-3 különböző nyelvet ismerniük ezek együttes használatához.

Az előző kettőhöz kapcsolódni fog a szoftvergyár koncepció eredményeként létrejött számtalan DSL (Domain Specific Language) is, ami az adatok vizális modellezését is lehetővé teszik majd, és ide kapcsolódik a június elején bejelentett Visual Studio 2005 Team Edition for Database Professionals jövőbeni megjelenése is, ami kifejezetten adatbázis-fejlesztők számára lehet nagy segítség.

A WinFS legnagyobb része azonban a Katmai kódnéven fejlesztett, 2008 körül megjelenő Microsoft SQL Serverbe kerül, amil olyan megoldásokat fog kínálni az adatbázisszervert használóknak, amivel kinyúlhatnak a megszokott környezetükből, és a relációs programozás eszközeit sokkal távolabbra terjeszthetik ki, akár a fájlrendszerre is.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról