Archive for the ‘SQL Server’ Category

  • CUBE

A csoportosító sorokon kívül még minden megadott csoport és alcsoport szerinti összegző sort ad az eredményhez. A csoportosító tulajdonság NULL értékként szerepel az eredménysorban. Az így kapott ún. kocka dimenziója attól függ, hogy hány csoportosító operandust használunk.

SELECT EmployeeID AS Alkalmazott, ShipVia AS Szállító, SUM(Freight) [Szállítmány Összes]
FROM Orders
WHERE EmployeeID < 3
GROUP BY EmployeeID, ShipVia WITH CUBE

  • ROLLUP

Hasonló összesítésre használható, mint a CUBE, azzal a különbséggel, hogy nem készül el az összes lehetséges összegző sor, hanem csak a hierarchia szerint alacsony szinttől növekedve a csúcsig a csoportosító feltételek megadott sorrendje szerint.

SELECT EmployeeID AS Alkalmazott, ShipVia AS Szállító, SUM(Freight) [Szállítmány Összes]
FROM Orders
WHERE EmployeeID < 3
GROUP BY EmployeeID, ShipVia WITH ROLLUP

Fontos tudnivaló! DISTINCT kulcsszó nem használható együtt a CUBE és ROLLUP paraméterekkel. Együttes használatuk esetén hibaüzenetet kapunk.
Zavaró lehet, ha a lekérdezett adatok között NULL érték található, hiszen a csoportosító sorokat is NULL-ként kapjuk vissza. A megkülönböztetésre használjuk a GROUPING függvényt, amelynek paramétere az adott oszlop, és visszaadott értéke 1, ha az adott sort a CUBE vagy ROLLUP funkció adta az eredményhez, és 0, ha NULL érték van az eredményben.

SELECT CASE WHEN (GROUPING(TitleOfCourtesy) = 1) THEN ‘ALL’ ELSE ISNULL(TitleOfCourtesy, ‘UNKNOWN’)
END AS TitleOfCourtesy,
CASE WHEN (GROUPING(City) = 1) THEN ‘ALL’
ELSE ISNULL(City, ‘UNKNOWN’) END AS City,
COUNT(*)
FROM Employees
GROUP BY TitleOfCourtesy, City WITH CUBE

Forrás: http://www.softwareonline.hu/Article/View.aspx?id=3705

“.. egy SQL Serverre épülő megoldás adattárházakhoz. A vállalat a szoftvert közvetlenül nem dobja piacra, szervergyártók vásárolhatják meg és saját gépeikre telepítve komplett megoldásként kínálhatják az ügyfeleknek. A PDW mögé felsorakoztak a legnagyobb hardvercégek, beleértve a HP-t, a az IBM-et, és a Bullt.

A legújabb trendeknek megfelelően tehát a PDW is egy tömeghardverekre épülő, szervereket, tárolókat, hálózati eszközöket és szoftvereket előre integráló, a gyártó által összeállított és tesztelt rendszer, amelyet csak le kell szállítani és üzembe helyezni az ügyfélnél. Hasonló elgondolás mentén épül fel az Oracle Exadata és a piac egyik újonca, az EMC Data Computing Appliance is. Utóbbival közös vonása a PDW-nek, hogy a technológiai alapokhoz felvásárlás révén jutott a Microsoft, mégpedig a DatAllegro bekebelezésével.

Az Ultra Shared Nothing architektúrát még Linuxra és Ingres adatbázisra fejlesztette ki a DATAllegro, amelyet 2008-ban felvásárolt a Microsoft, ezt követően tértek át SQL Server használatára. A SQL Server 2008 R2 Parallel Data Warehouse MPP (massively parallel processing) architektúrára épül, a tervezők szerint ez a megközelítés sokkal inkább alkalmas adattárházak futtatására mint az SMP (symmetric multi-processing), amelyen az OLTP feladatok érzik jól magukat. Míg az online tranzakciókezelés jellemzően “scale-up” probléma, az adattárház inkább “scale-out”.

A Microsoft SQL Server 2008 R2 Parallel Data Warehouse kettő vagy több rackben foglal helyet,   az egyik rackben van az irányító intelligencia, itt történik az adatok betöltése, a lekérdezések kezelése, a node-ok felügyelete, valamint az adatok mentése. A másik rackben vannak azok a szerverek és tárolók, amelyek az adatokat tartalmazzák és amelyek a lekérdezéseket ténylegesen végrehajtják. A lekérdezéseket végrehajtó szerverek és a tárolószerverek egyaránt SQL Server 2008 R2-t futtató kétutas, négymagos x86-os kiszolgálók. A compute node-okat Infiniband kapcsolja össze, a tárolók FC hálózatra csatlakoznak. Minden compute node-hoz egy tároló node tartozik. A Microsoft állítása szerint akár petabájtos méretig is skálázható a Parallel Data Warehouse, ehhez a felhasznált szerverek típusától függően elég sok rackre is szükség lehet.

A compute és storage node-okon kívül a rendszerben van még backup node, ez az adatok mentéséért és visszaállításáért felel, a “landing zone” tárolja a betöltésre szánt adatokat és a lekérdezések eredményeit, emellett van még legalább egy menedzsment-node, amely a rendszer tartományvezérlője, ezen keresztül történik a patchek telepítése, illetve ez tárolja az összes csomópont lemezképét (image), hogy például meghibásodást követő hardvercsere esetén valamelyik csomópontot újra kell telepíteni. A Parallel Data Warehouse lényege az irányító intelligencia, az MPP működést felügyelő szoftver, ez gondoskodik a lekérdezések optimalizálásáról, a végrehajtás ellenőrzéséről, a metaadatok és a sémák kezeléséről, valamint természetesen az adatok elosztásáról, particionálásról és replikálásról a csomópontok között annak érdekében, hogy az adattárház a lehető legnagyobb teljesítménnyel tudjon működni.

A SQL Server 2008 R2 Parallel Data Warehouse elérhetőségét hivatalosan tegnapelőtt jelentette be a Microsoft, de a hardvergyártók által kínált, előre integrált rendszerek valószínűleg csak hetek múlva lesznek elérhetők. Elsőként a HP szállítja majd HP Enterprise Data Warehouse Appliancerendszerét, amelynek ára két rackes konfiguráció esetén 900 ezer dollár, azonban ez még nem tartalmazza a szoftverlicenceket és a támogatást. Piaci elemzők szerint a PDW-alapú adattárházak végül a konkurensekhez hasonló áron érkeznek, miközben képességek terén érezhető lemaradásban vannak például analitika vagy az in-memory végrehajtás terén – a Microsoft fegyvere a a versenytársakkal szemben a SQL Server széles körű elterjedtsége lehet, illetve az, hogy a PDW-t több gyártó is forgalmazhatja, amelyek egymással versenyezve valószínűleg egy idő után lejjebb fogják szorítani az árat.”

Forrás: Bodnár Ádám (HWSW – főszerkesztő)

A Microsoft kiadta az egyelőre Denali kódnév alatt fejlesztett, következő generációs SQL Server első technológiai előzetesét. A szoftver a megbízhatóság és rendelkezésre állás, felügyelhetőség, illetve az üzleti intelligencia támogatása terén szolgál elsősorban újdonságokkal.

” ..elrajtolt a következő generációs SQL Server első technológiai előzetese, amelyet az MSDN- és TechNet-előfizetők máris letölthetnek a vállalat weboldaláról.

Rendelkezésre állás, teljesítmény

Mivel a fejlesztés még viszonylag korai szakaszban tart, nincs végleges lista az újdonságokról, amelyek a Denaliba kerülnek. A fejlődés irányvonalait, illetve egy-két konkrét technológiát azonban már látni lehet. A Denali egyik fontos újdonsága az AlwaysOn, amely a rendelkezésre állást növelő technológiák ernyője. A SQL Server jelenleg is kínál tükrözést, fürtözést és logmásolást (log shipping), az új SQL Serverbe viszont már egy olyan megoldás kerül be, amely mindhárom lehetőséget egyszerre kínálja, ezzel nem csak a rendelkezésre állás növelhető, hanem az adatbázis skálázhatóságát is javítja. Az új SQL Server már hivatalosan támogatott lesz Server Core telepítéseken, ezzel szintén az üzemidőt lehet javítani: a Server Core egy “lecsupaszított” Windows Server, csak a szükséges komponensekkel, ezért kevesebb hibajavítás érinti és ritkábban kell újraindítani.

A teljesítményt fokozni hivatott további újdonság, hogy a korábban a PowerPivot által használt, az adatokat a memóriában tároló, oszlopalapú VertiPaq tárolómotor más feladatokra is alkalmazható lesz a SQL Server Analysis Servicesben, amivel jelentősen csökkenhet az adatok helyigénye és a Column-Based Query Accelerator révén akár ötvenszeresére is emelkedhet egyes lekérdezések sebessége a Microsoft szerint – ez elsősorban üzleti intelligencia és adattárház felhasználásnál számít.

Üzleti intelligencia

Üzleti intelligencia területén további újdonságokkal szolgál a Denali, elsősorban a SQL Server Integration Services révén, amely a SQL Server 2005 óta csak ráncfelvarrásokon esett keresztül, most azonban teljesen megújul. A legfontosabb fejlesztések között említhető a Data Quality Services megjelenése, amely elsősorban adattisztításra szolgál, a Data Impact és a Linage segítségével pedig felderíthető, hogy milyen rendszerek függenek az adatoktól, illetve hogy maguk az adatok honnan származnak, milyen rendszerek állnak mögöttük.

Egyelőre Crescent kódnéven fejlesztik a SQL Server adatvizualizációs képességeit. A cél, hogy “önkiszolgáló” üzleti intelligencia képességekkel bővüljön az adatbázis a SQL Server Reporting Services képességeinek bővítése révén. A Crescent révén a felhasználók programozás nélkül, grafikus felületen, drag and drop módszerrel hozhatnak létre látványos adatvizualizációkat, animációkat, grafikonokat. A Crescent a fejlesztőcsapat blogja szerint azonban nem került bele a SQL Server Denali első technológiai előzetesébe, legkorábban 2011 első felében találkozhatnak vele a tesztelők.

Fejlesztői újdonságok

Fejlesztői szempontból fontos előrelépés a Juneau kódnevű projekt, amely egy új fejlesztői plugin a Visual Studióhoz. A Microsoft azt ígéri, a Juneau-val a programozók számára eltűnnek a különbségek a telepített SQL Server és a felhőben futó SQL Azure adatbázis között, ezzel az alkalmazások számára megteremtődik a valódi átjárhatóság. A cél az, hogy teljesen egyformán lehessen és kelljen SQL Serverre és SQL Azure-re fejleszteni és a különbségek minél hamarabb eltűnjenek. Példa: ha Data Definition Language-ben adja meg valaki a logfájlok helyét, az alkalmazás nem működik SQL Azure-ön, mivel az maga gondoskodik a logok tárolásáról.

A Microsoft egyelőre nem kommunikálta hivatalosan, mikor érkezik a végleges verzió, de tekintettel arra, hogy a SQL Server 2008 R2 alig fél éve rajtolt el, a Denali 2011 végén vagy 2012-ben várható. A végleges verzió kiadása előtt több béta is érkezik a szoftverből, de hogy pontosan mennyi, azt egyelőre nem tudni. A vállalat álláspontja szerint annyi előzetest adnak ki a termékből, amennyit szükségesnek látnak.”

Forrás: Bodnár Ádám (HWSW)

“Egyre jellemzőbb trend, hogy a már meglévő relációs adatbázisok funkcionalitását kibővítik multidimenzionális tárolási lehetőségekkel. Ez lehetőséget ad olyan hibrid architektúrák felépítésére, melyeket alapvetően relációs módszerekkel építünk annak jól skálázható és robosztus tulajdonságai miatt, de kiegészítésként a gyakran használt nézetekre, adatokra építünk multidimenzionális kockákat is, a jóval gyorsabb lekérdezési sebesség miatt.
Az Oracle bár még néhány évig támogatja az Express termékcsaládját, hosszú távon ő is a relációs adatbáziskezelőjébe való beolvasztással tervez. Ugyancsak megjelent a Microsoft SQL Server-ében a multidimenzionális tárolást használó Analysis Services, és a DB2 relációs adatkezelőjébe a 8.1-es változattól ugyancsak beolvasztottak egy MOLAP szervert.
Az architektúra térnyerését jelzi például az eddig kizárólag relációs technikára és relációs adatbáziskezelőkre építkező SAP Business Information Warehouse adattárház terméke, ahol is a 3.0-ás változattól (2002), amennyiben az alatta lévő adatbáziskezelő MSSQL Server Analysis Services, már szintén képes a multidimenzionális tárolási technika alkalmazására.”

Forrás:  Sidló Csaba István (http://scs.web.elte.hu/Work/DW/adattarhazak.htm)