Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

December 14, 2007 / by Zsolt Soczó

SQL Server 2008 újdonságok 6. – záró gondolatok a streaming adatokról

Láttuk az előző részben, hogy sima fájlműveletekkel tölthetjük fel a streaming adatainkat a szerverre, nem sima INSERT-tel. Ebből adódik az a kérdés, mikor ér véget a “sor” beszúrása, mikor indulhat el a streaming oszlopot tartalmazó táblára írt INSERT trigger? Nos, akkor, amikor lezárjuk a file handle-jét.

A fájlok írását a többi adattal egy tranzakcióba lehet szervezni, láttuk az előző rész példájában.

Ahogy egy relációs adatbázistól megszoktuk, ha egyszer azt mondta a COMMIT-ra, hogy rendben, akkor az adatok tényleg tartósan a diszken lesznek, és nem valahol az OS cache-ében. Még szép, ezt is várjuk tőle.

Az izolációs szintek közül csak a READ COMMITTED, azaz az alapértelmezett szint megy fájl alapú műveletek esetén, nem akartak belemenni trükkös zárolásokba, amelyeket fájlokat kellene implementálniuk. Ha valami fájt fog egy másik tranzakció, jön a DOS-os időkből is már ismert sering viola (ERROR_SHARING_VIOLATION).

Ha távolról, másik gépről írjuk a file-t, akkor nincs bufferelés a háttérben, ezét tartózkodjunk a gagyi, bájtonkénti írástól, mert piszok lassú lesz. De erről már 1960 óta lehet olvasni, nem újdonság.

A full-text index megy a filestream adatokra. Be lehet indexelni az univerzumot.

Hogyan néznek ki az adatok a fájlrendszerben? Nyilván ez implementációs részlet, de kukucskáljunk bele:

Directory of C:\test\FileStreamData\96945631-bd32-463a-bc66-aa3ced7b7ed9\
7ec9d1c3-6db1-4cd0-9d90-57f1a70c10e6

12/12/2007 12:14 AM 708,243 00000013-00000010-0040
12/12/2007 12:15 AM 696,575 00000013-00000010-0053
12/12/2007 12:15 AM 691,741 00000013-00000010-0066

Szép, valami belső id alapján nevezik el a fájlokat, ennek megfejtését későbbre hagyom, főleg, hogy ez még sokat változhat a végleges kiadásig.

Egyetlen kérdésre nem találtam még választ, hogy kihasználja-e a szerver, hogy a Windows 2008-ban tranzakcionális az NTFS, kifelé is? Érzésem szerint nem, mert akkor vagy nem menne a szerver Windows 2003-on (menni fog), vagy kétféleképpen meg kellene írni a támogatást a különböző oprendszerekre. Kétlem, hogy ekkor költséget a nyakukba vettek volna.

Az előbbi linkből egyébként látszik, hogy éles környezetben, 32 biten már NEM lesz SQL Server 2008. Így vegyen valaki 32 bites szervert. Nekem most Vistán megy, de azért, mert a developer elmegy 32 biten is, de csakis ez.

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

LEAVE A COMMENT

1 COMMENTS

  • kaz January 2, 2008

    Szia!
    Biztos vagy abban, hogy nem lesz 32 bites sql 2008, mivel a linkelt oldalon én ilyet nem olvastam, vagy csak elkerülte a figyelmem?
    Sőt a http://msdn2.microsoft.com/en-us/library/bb500469%28SQL.100%29.aspx oldalon azt írja: “SQL Server is available in 32-bit and 64-bit editions” bár az is igaz, hogy ez csak a Developer verzióra vonatkozóan írja (mivel csak ilyen release van).
    Attila