Soci (Soczó Zsolt) szakmai blogja

2007.12.14.

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

Filed under: Adatbázisok,SQL Server,SQL Server 2008,Szakmai élet — Soczó Zsolt @ 11:35

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.

1 Comment

  1. 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

    Comment by kaz — 2008.01.02. @ 16:00

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress