2007. december 10., hétfő

Féléves összefoglaló

A múlt héten elkészült az írásbeli összefoglaló a féléves munkámról, melyben számot adok arról, hogy mennyit foglalkoztam a témámmal. Tételesen felsorolom az elolvasott dokumentáció mennyiségét. A befektetett munka mennyiségét ismertetem és, hogy hány oldal leírást, dokumentációt készítettem. A beszámolóban röviden ismertetem is a feldolgozott témát.
A dokumentáció az alábbi linken érhető el:
Féléves írásbeli beszámoló.

2007. november 29., csütörtök

Végleges dokumentum verziók

Mint már korábban látható volt, az általam eddig megírt összes dokumentációt folyamatosan javítom, hogy ne tartalmazzanak hibákat és a lehető legkönnyebben érthetőek legyenek. Most, a félév vége felé ezek a doksik elnyerték végső formájukat (és tartalmukat). Az alább felsorolva lehet őket megtekinteni:
TimesTen Introduction 2.1
TimesTen Installation
TimesTen kiegészítések a telepítéshez
TimesTen Cache Connect to Oracle 2.0

2007. november 26., hétfő

Cache Connect to Oracle

Elkészültem egy átfogó irodalomfeldolgozással, melyben a TimesTen cache-ként való működését írom le. Ebben kitérek az összes működési módra, lehetőségekre, beállításokra. Ez nem azt jelenti, hogy ebből a leírásból bárki képes lenne felkonfigurálni egy ilyen cache adatbázist, de átfogó képet kaphat az, aki elolvassa ezt az irományt. Törekedtem arra, hogy mindenki számára érthető legyen amiről írok, persze alapvető műszaki - informatikai ismeretekre szükség van a téma megértéséhez.
A féléves munkám utolsó dolgozata ez. Ezek után az írásbeli anyagot fogom összeállítani az elkészült dokumentációkból, majd egy szóbeli prezentációt is előkészítek.
TimesTen Cache Connect to Oracle

2007. november 18., vasárnap

Bevezetés 2.0

Korábban már írtam egy összefoglalót, melyben a TimesTen alapvető funkcióiról és működéséről volt szó(TimesTen intro). Konzulensem, Marton József segítségével javításokat végeztem benne. Megjegyzései felhívták a figyelmemet apró hibákra, félreértésekre. Sok hasznos tanáccsal is ellátott, melyekkel javíthattam a dokumentáció érthetőségén és átláthatóságán. A dokumentum második kiadása itt található: TimesTen intro 2.0

2007. november 11., vasárnap

Első próbálkozás a Cache Connect to Oracle -el

Mint korábban írtam, ezentúl speciálisan a Cache Connect to Oracle opcióval fogok foglalkozni, ennek lehetőségeivel.
Első lépésként a hivatalos doksiban(cache connect 13.oldal) lévő egyszerű Quick Start-tal kezdtem, ami lépésenként leírja egy csak olvasható Cache Group létrehozását, és annak beállításait. Ez a legegyszerűtt használata a Cache Connect funkciónak, mely annyit tesz, hogy egy Oracle adatbázis egy tábláját beilleszti(lemásolja) a memóriába és aktiválja az Autorefresh Cache Group funkciót, ami figyeli az Oracle adatbázisban lévő erre a táblára vonatkozó változásokat. Ha történt ilyen, akkor azt közli a TimesTen Cache Group-pal és ott is végrehajtja a változtatást. Ez egyenlőre csak egyirányú kapcsolat. Mivel a Cache Group-unk csak olvasható, ezért a TimesTen Cache Group-unkhoz nem fordulhatunk csak olvasással járó SQL queryvel. Lehetőség van azonban írással járó kéréssel is fordulni a TimesTen Cache Group-hoz. Ezt a funkciót Passthrough-nak hívják. Ez egy "ál írás" funkció, ettől nem lesz írható közvetlenül a Cache Group-unk. A technika lényege, hogy a közvetlenül a TimesTen Cache Group-hoz intézett SQL query, ami módosítási, létrehozási parancsot tartalmaz (pl.: UPDATE, INSERT), azokat a query-ket átirányitja az Oracle adatbázishoz,hogy ott hajtsák végre őket, majd ezután az Autorefresh funkció automatikusan visszaküldi a táblában lévő változásokat. Külső szemlélőként azonban úgy tűnik, mintha közvetlenül hajtotta volna végre a queryt.



Sárecz Lajos hívta fel a figyelmemet, hogy az Oracle SQL Developerhez kiadtak egy TimesTen Extension -t. Természetesen letöltöttem és feltelepítettem a programot és a kiegészítést is. Nem bántam meg. Miután beállítottam a Cache Connect-et ezzel egyszerűen le tudtam ellenőrizni, hogy valóban jól működik-e. Amit a leghasznosabbnak találtam benne, az az SQL-t értelmező és futtató környezet volt. Ez számomra kiváltotta az SQL PLus-t, melyben szerintem jóval nehézkesebb a query-k szerkesztése.

A Cache Connect to Oracle technológiáról ebben a doksiban olvashatunk: Cache Connect to Oracle

AZ általam használt OracleDB verziók:
- Oracle Database 10g 10.2.0.1.0
- TimesTen 7.0.3 32-bit

2007. november 8., csütörtök

Kiegészítés a telepítéshez

A TimesTen telepítésekor nem magyaráztam meg mindent, hogy az egyes funkciók pontosan mire szolgálnak. Ennek a hiányosságnak a pótlására írom ezt a bejegyzést.

Egy TimesTen rendszer telepítését többféleképpen is el lehet végezni. Megtehetjük ROOT felhasználóként, de lehetőség van NON-ROOT -ként is telepíteni, így csökkentve a kockázatot. Nagyobb biztonságban futtathatjuk a telepítési processzeket, ha csak a szükségeseket indítjuk ROOT felhasználóként. Hozzáteszem, erre Windows platformon nincs lehetőség, de az összes többin igen.
Itt kell megemlítenem, hogy amikor létrehozunk egy Data Store-t, azt megtehetjük GroupRestrict módban is. Ami korlátozott hozzáférést tesz lehetővé a fájlokhoz és a műveleti memóriához egy felhasználói csoport részére. Ez a funkció csak ROOT –ként való telepítés után érhető el.

Megkülönböztetünk Internal Usert (belső felhasználó) és External Usert (külső felhasználó).
Az Internal User a TimesTen (és az Oracle adatbázis esetében is így van) saját felhasználója, csak azon belül érvényes. Az External User az operációs rendszer felhasználója, de implicit lehetséges az authentikációja az adatbáziskezelőben.

Access Control

A TimesTen telepítésekor eldönthetjük, hogy szükségünk van-e egy belső védelemre. Ennek segítségével lehetőségünk van megadni, hogy mely felhasználóknak és alkalmazásoknak milyen hozzáférésük van a telepített TimesTen példányunkhoz. Ezt természetesen a példány-adminisztrátor felhasználóval tudjuk beállítani. (Az Access Control a Data Store -hoz kapcsolódik, annak hozzáférését szabályozza. Mivel minden TimesTen példányhoz külön Data Store tartozik, ezért minden példányhoz külön Access Control is.)
Ezt a technológiát telepítés után is be tudjuk kapcsolni a „ttmodinstall.exe” segítségével. Arra azonban nincs mód, hogy egy példány telepítése után az Access Control -t kikapcsoljuk.
Ahhoz, hogy a TimesTent cache –ként tudjuk használni, szükség van egy belső TimesTen belső felhasználóra, mely egyeztetve van az Oracle adatbázis egy felhasználójával, melynek van elegendő hozzáférési joga a gyorsítani kívánt adatbázis komponensekhez.
Kliens – szerver módban, ha a szerveren az Access Control be van kapcsolva, akkor a szerveren az authentikációnak engedélyezve kell lennie. Máskülönben nem lehet kapcsolódni hozzá.

Forrás:
TimesTen-Documentation/install.pdf


JAVÍTÁS:
Az Access Control részben írtam, hogy:

- "
Ennek segítségével lehetőségünk van megadni, hogy mely felhasználóknak és alkalmazásoknak milyen hozzáférésük van a telepített TimesTen példányunkhoz."
Itt természetesen az alkalmazások hozzáférési jogain, az általuk a kapcsolódáshoz használt felhasználók jogait értem.

- "
Az Access Control a Data Store -hoz kapcsolódik, annak hozzáférését szabályozza."
Ez nem igaz, mert az Access Control nem a Data Store -hoz kapcsolódik, hanem a TimesTen példányhoz, és a példányhoz való hozááférést szabályozza.


Forrás:
TimesTen-Documentation/install.pdf

2007. november 4., vasárnap

TimesTen telepítés

TimesTen In-memory database installation



Letöltöttem a TimesTen legfrissebb verzióját a hivatalos oldalról:
http://www.oracle.com/technology/software/products/timesten/index.html

- TimesTen 7.0.3 32bit Windows Platform

A telepítést Windows 32-bites platformra próbáltam meg. Ehhez az automatikus telepítő nyújtott segítséget. A tömörített állomány kicsomagolása után a Setup.exe-t futtattam. Miután kitömörítette a telepítési fájlokat, elindul a telepítő, mely végigvezet a telepítési lépéseken.

Első lépésként a telepítési útvonalat adhatjuk meg. Az alapértelmezett beállítást választottam, vagyis: C:\TimesTen\tt70_32\ .

A telepítést háromféleképpen végezhetjük el.
- Kompakt (Compact) : Csak TimesTen kliens és ODBC driverek telepítése, valamint néhány példa hozzá
- Egyedi (Custom) : Egyedi igényeknek megfelelő telepítés Debug funkciókkal.
- Tipikus (Typical) : TimesTen Kliens/Szerver, dokumentációk és példák telepítése.

Ezek közül az egyedit választottam.

A következő képen megadhatjuk, hogy mely komponenseket szeretnénk telepíteni. Ezek a következők:
- Cache Connect to Oracle
- TimesTen Data Manager
- TimesTen Data Manager Debug Libraries
- TimesTen Documentation
- TimesTen Server
- TimesTen Client

Természetesen mindenre szükségem lesz, hogy próbálgatni tudjam a rendszert. A teljes programcsomag 114.13 MB-ot foglal a merevlemezen.

Ha ezzel megvagyunk, akkor utána meg kell adni az adattár elérési útját. Itt sem adtam meg speciális útvonalat, így maradt az alapértelmezett.

A TimesTen környezeti beállításainál lehetőség van regisztrálni a környezeti változókat, valamint itt dönthetjük el, hogy alkalmazzuk-e az Access Control-t. Én mind a kettőt kiválasztottam, hogy megvizsgálhassam a későbbiekben ezek lehetőségeit.

Ezek után meg kell adni, hogy mely Java verzió áll rendelkezésünkre a gépünkön. Nekem a JDK 1.5 van telepítve, ezért a JDK 5.0 –át választottam ki.

Végezetül még egyszer megtekinthetjük, hogy a telepítő miket, milyen beállításokkal fog telepíteni a rendszerünkre.

Elindul a fájlok másolása, de időközben egy ablak ugrik fel, és arra kér, hogy adjam meg a szerver beállításait, melyek a következők:
- Server Hostname (Localhost)
- TCP Port Number (17002)
- Stack Size (20480)
- Log Connects/Disconnects (true/true)

Úgy gondolom, hogy minden megfelelő az alapértelmezett beállításokkal.

A fájlok felmásolása végén még egy kérést szegez nekem a telepítő: Adjam meg a Daemon Webszerver Listen portját(természetesen van alapértelmezett beállítás). Itt is az alapértelmezett értéket választom: 17004.

A telepítés kész. Ezzel és a programmal kapcsolatos további információk a C:\TimesTen\tt70_32\README.HTML fájlban olvashatók.

A TimesTen In-memory Database telepítéséhez szükséges minden információ megkapunk a telepítési dokumentációban:
http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/install.pdf

2007. október 29., hétfő

Bevezetés

Már sok idő eltelt a legutóbbi bejegyzésem óta, de nem telt ez idő semmittevéssel. Próbáltam minél többet megtudni a TimesTen technológiáról. Elsődleges forrásnak a hivatalos dokumentációkat tekintettem. Ezek közül is az Introduction -t.
Írtam egy rövid összefoglalót a technológiáról. Ez csak egy rövid áttekintést ad róla, nem részletez semmit fölöslegesen. Viszont törekedtem arra, hogy bárki megértse alapjaiban a működést és ennek előnyeit.
A továbbiakban speciálisabban fogom közelíteni a témát, mégpedig az adatbázis cache-ként való működését szeretném vizsgálni.
TimesTen leírás:
TimesTen intro

2007. október 10., szerda

Önálló Labor téma

Ez a blog azért jött létre, hogy figyelemmel kísérhesse és kommentálhassa bárki a kutatási tevékenységemet a memória-adatbázisok témakörében. Ezen belül is a TimesTen Oracle technológiával fogok foglalkozni, mely számomra jelenleg még csak egy nagy feket folt, de remélhetőleg a jövőben nagyon sok mindent fogok megtudni róla. Ez a kutatás a 7-ik féléves Önálló labor című tárgy keretein belül zajlik, amely úgy működik, hogy egy általam kidolgozott ütemterv alapján haladva a konzulenseimmel folyton egyeztetve tárom fel a technolóia lehetőségeit. A félév zárásaként elő kell állnom egy közepes terjedelmű tanulmánnyal, egy írásbeli és egy szóbeli bemutatóval. Jelenleg a konzulenseim Kardkovács Zsolt(TMIT) és Marton József(DB) segítik a munkámat.

Az általam kidolgozott ütemterv:

Feladat/téma címe: Oracle 10g és 11g technológiák

Tervezett munkafázisok a félév során:
2-4. oktatási hét: Ismerkedés a technológiákkal, megbeszélések. Édeklődési kör feltárása. Személyre szabott feladat kiválasztása: Memória adatbázisok, TimesTen rendszer.
5-6. oktatási hét: Irodalom gyűjtése, megfelelő dokumentációk kiválasztása. Ismerkedés a témával.
7-8. oktatási hét: A téme megismerése. Feltárni, hogy milyen lehetőségeket rejt magában a technológia.
9-10. oktatási hét: A feltárt lehetőségek részletesebb vizsgálata.
11-12. oktatási hét: Tesztesetek készítése egy példa adatbázishoz, mellyel igazolom állításaimat.
12. oktatási hét: Írásbeli összefoglaló elkészítése és bedása a konzulensemnek.
13. oktatási hét: Tanulmány véglegesítése, utolsó konzultáció.
14. oktatási hét: Szóbeli beszámoló a tárgyfelelősnek.


A félév első négy hetében azért nem tudtam érdemleges munkát vállalni, mert a 3. és 4. héten Japánban voltam kiküldetésen. Viszont innentől kezdve kész vagyok a témámba beleásni magam.