Adatbáziskezelő

Fórumok

Sziasztok!

Kinek mi a véleménye arról, hogy most melyik adatbáziskezelő alapos tanulmányozásába érdemes belefogni.
Az igazi az lenne, ha tapasztalatokból táplálkozó érvek/ellenérvek felsorakoztatására kerülne sor a topikban tanácsadás céljából :)

Köszönettel: eReL

Hozzászólások

Egyértelműen Oracle-re szavaznék.
InterBase és open változataira nem szívesen -> három évet dolgoztam velük és nem lettek a kedvenceim.
MySql-re nem adnám a voksomat, mert egyszerűbb lekérdezéseken kívűl semmit nem tudsz benne csinálni. Igaz, a válaszideje alacsony -> NAGYON gyors! :o|

Itt biztos, hogy beléd fognak kötni a mysql-el kapcsolatos véleményed miatt. :)
DE:
Ha jól értesz Oracle-hez, Magyarországon, vagy bárhol máshol nem lesz gond munkát találnod. Ez az egyik -ha nem A - legelterjedtebb adatbáziskezelő rendszer a közepes/nagy cégeknél, vagy bárhol ahol komolyabb adatbázis van.
Ráadásul az Oracle az egyik - vagy AZ - etalon a kereskedelmi adatbázisok terén.

Először is adatbázis elmélettel kell foglalkoznod. Addig felesleges akármelyik adatbázis kezelővel foglalkoznod. A matematikai alapokkal kell tisztában lenned. Egy adatbázis kezelő nem egy felhasználói program. (De tényleg!)
Tisztában kell lenned az SQL nyelvi elemekkel, működéssel. (Ansi-Sql szabványok, stb.)
Ezek után megismerhetsz egy adatbázis kezelőt, de különbséget kell tenned: Adminisztrátor akarsz-e lenni vagy fejlesztő. -> Amennyiben fejlesztő, nem kell tudnod, hogy telepítesz pl.: Solaris alá egyet, ugyanis nem egyszerű feladat, ha az előtt még nem csináltad.
Ha Oracle-t akarsz tanulni, regisztráció után ingyenesen letölthető. Ráadásul van egy Lite verziója, ami 4Gb-s adatbázisig ingyenes - akár üzleti felhasználásra is. Szörnyen hangzik, de javaslom win alá telepítsd, mert oda nagyon egyszerű. . . ;o)
Ha esetleg mégsem oracle-t választasz, javaslom, hogy olyan eszközt keress, amiben nem csak lekérdezéseket, nézeteket definiálhatsz, hanem tárolt eljárásokat, eseményvezérelt eljárásokat is definiálhatsz.
Néhány szó a MySql ellen:
- Nincs benne se trigger, se stored proc.
- A külső kulcsok definiálása fakultatív -> nincs is benne referencia integritás védelem . . .
(Legalábbis az egy éve használt verzióban).
- Egy vacak beágyazott lekérdezést nem tudsz végrehajtani benne. -> gyakorlatilag egy egyszerű
szelekcióra alkalmas.
Ellenben:
- Iszonyat gyors -> akár gigászi méretű adatbázissal is jól boldogul (szelekció és DML műveletekkel egyaránt.)

Tapasztalatod is van róla? Úgy értem használtad már és megfelelően működött. Csak azért, mert pl. Interbase 6.5-nél egy adott tárolt eljáráson belül két egymásba ágyazott ciklusnál a másodikban megfogalmazott parancsokat nem értékelte ki. Igaz, se patch, se semmi nem volt az adatábzis szerveren. -> Linux alatt futott.

suti, a legalapabb mű, amit az otn.oracle.com-ról regisztráció után le kell töltened, a legfrissebb adatbázisverzióhoz tartozó Concepts Guide.
Alapmű, ebből tudod meg, mi is az az Oracle. Minden, értsd MINDEN megtalálható benne, amire az Oracle adatbázis önmagában képes. De csak röviden, tehát azt nem ebből tudod meg, hogy hogy kell vmit megcsinálni, csak azt írja le, miket lehet megcsinálni, milyen belső szerkezet mire való, miért jó, miért van úgy. Amolyan merre-hány-méter...
Kb. 1300 oldal, szóval nem egynapos olvasmány, de ha komolyan gondolja vki az Oracle használatát, ezzel kell kezdeni. Jómagam 9 éve tolom ezt az ipart, és a főverziók megjelenésekor ezt újra és újra átnézem. Sajna sokan a szakmában nem teszik meg ugyanezt... :)

Lehet-e Oracle adatbáziskezelőt Frugalware 0.5-re telepíteni, vkinek sikerült-e már. Ha igen, hogyan?

_____
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Valamennyi Oracle termék letölthető, csak felhasználhatóságát korlátozzák. Általában addig ingyenes, amíg az alkalmázás prototípusát fejleszted. Amikor üzembe állítod, akkor kell fizetni.
Az XE teljes értékű adatbázis azokkal a megkötésekkel, hogy többprocesszoros gépen csak az egyik cpu-t fogja használni, valamint 4GB a felső limit. Szinten mindent tud, mint amit a 10g, van egy jó kis webes admin felülete, egy kis szenvedéssel még Designer-t (az Oracle integrált tervező-fejlesztő rendszere) is fel lehet rá rakni.
A Lite már fizetős adatbázis és a hordozhatóságra hegyezték ki, meg mintha az rémlene, hogy nincs PL/SQL támogatás, de lehet, hogy rosszul emlékszem.
Szóval ha Oracle-re adod a fejed, akkor XE: Linuxon is elég könnyű telepíteni, rpm-ben is lehet tölteni. Fejlesztőeszközként a szintén ingyenes SQL Developer-t ajánlom (JDK kell csak hozzá), de az ember azért ne olyan elvárásokkal indítsa el, mint egy TOAD-ot.

A békásból (TOAD) van free is, http://www.toadsoft.com/ és a free verziót (aktuális-1 talán...) töltsd le. A másik irány a www.quest.com, ott is lehet evalt letölteni TOAD-ból.

Ami tény: A DB fejlesztői- és admin szempontból sem "kispályás" cucc, és a TOAD is ehez igazodik, ergo rengeteg feature van belelapátolva, de nagyon kézre esnek a dolgok benne. Előtte természetesen egy Oracle kliens is kell alá a winre, érdemes valamelyik régebbit(!) föltolni (8i vagy 9 pl.), mert a 10-es tapasztalatom szerint nem hajlandó 7-es ill. 8-as Oracle-verziókhoz konnektálni.

Ja, az Oracle 8.0.5 még ment karakteres installal, az újabbak viszont Java-s, grafikus telepítővel vannak meg((áldva)|(verve))...

PostgreSQL

    szabványkövető
    nagy kommünityi
    sok nyelven/API-n át nyaggathatod, plusz még SP-t is írhatsz bennük (php -n ma még igen) :D
    skálázható
    cluster (M-M,M-S)/load-balance
    (online)backup/replication/restore
    sok platform (fordíthatsz egyet magadnak, ezt csak az IB6 és a Firebird mondhatja el :) - ok, van még...)
    BSD liszenc/licenc/lincence/licensz
    se db,se sor,se cpu,se kapcsolat limit :) (max a hardver szab határt)
    Ora,MSSQL,IB,FB kiváltására sok példát találhatsz a neten... :D
    etc.

ő le van maradva 1-1 stable release-zel, de alapos és tanulságos kezdésnek :)
vs Mysql 1 éves, de tanulságos
vs Oracle MySql Db2 M$SQL még nem elvult,de jó :)
blog egy ORA elfogulttól (Oracle 10g vs PostgreSQL 8 vs MySQL 5) 1 éves

PostrgeSQL.

Azert, mert egyszeruen jo, gyors es koveti a szabvanyt. (vagy legalabbis igyekszik valamennyire).

--
Live Free or Die
UNIX

amikor szóba került hogy adatbázis, pontosan mit is szeretnél?

így ebben a formában összehasonlíthatatlanok az adatbáziskezelők.

Igen, tudom, hogy adott esetben egyik, egy másik célra pedig esetlegesen egy másik adatbáziskezelő használható jobban.
Én mégis általánosságban szeretnék érdeklődni, mert mostanában szeretném elkezdeni ezirányú önképzésemet (az egyetem egy kis lökést persze adott :) ).

_____
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

Hát, ha esetleg később nagyobb cégeknél szeretnél elhelyezkedni, mint adatbázis adminisztrátor (dba), akkor mindenképpen Oracle vagy db2.

Ha fejleszteni szeretnél, akkor kezdj my-, vagy pgsql-el, utána érdemes az Oracle-t. Sajnos fejlesztőkkel kapcsolatos tapasztalatom, hogy a mySQL-en betanult emberke azt hiszi magárol, hogy ért az adatbázisokhoz, nekiesik Oracle-nek, és iszonyatos baromságokat képes elkövetni.

Látásmódot tanulj, ne API-kat,GUI-t,config-file-okat, scripteket. Ekkor "átállhatsz" kis áldozattal.

Erre mind jó.

Aztán majd az élet úgyis megtaníttatja az utóbbiakat veled, illetve tudod hol találd. Ha nem, tudod kit kérj meg hogy megtalálja/csinálja helyetted. :D

PG-t a _szabványkövetése_ miatt javaslom és a _stabilitása_ miatt.

Piacra ORA, jó, de pénzes a tanfolyam, a vizsga és a rutin sok hajszálba kerül... :)
Hobbira, szerelemre, sztem PG! foreva! :D

Azért a heves Online agytáp melett ajánlanám, hogy a hagyományos irodalmat is forgassátok, mert sokkal jobban lehet úgy haladni, ha egy szakavatott szerző vezet végig egy anyagon, aki közben az elméleti alapokat is definiálja. És akkor senki nem esik abba a hibába bele hogy megpróbál párhuzamot felállítani az Oracle, és a MySQL között.

Csak néhány címszót emelnék ki ami egy mai modern adatbázis kezelőt jelemmzi: Szekvenciális állománystruktúrák; binális, logaritmikus keresés; Peterson féle keresés; logikai szekvenciális állomány struktúrák; hirarchikus állománystruktúrák; Belső- és külső mutatós eljárások; Bináris fák; b-fák; Hálós állománystruktúrák; Nem konzekutív állománystruktúrák; sűrű indexeleés; ritka indexelés; indexszekvenciális szervezés; szininmok; QBE; SQL; 4GL; DQL uatsítások; DML utasítások; végrehajtható szegmensek; explicit kurzorok; öszetett adattípusok; kivételek; objektum orientált szemlélet; öröklődés; vezérlési szerkezetek; osztott adatbázisok stb...

Gondolom sok "MySQL szeakértőnek" a fenti címszavak ismeretlenek, az SELECT, INSERT, DELETE utasításon kívűl nem sok mindent használnak a gyakorlatban. A MySQL még sok alap SQL szerkezetet sem implementáltak, és azt bárki észreveheti ha egy furmányosabb haveing záradékot kreál, hogy bizony a adatbázis szerver szívbaj nélkül dob vissza nem megfelelő válaszokat.

Kicsit úgy érzem magam, amikor azt a kérdést hallom hogy: Oracle vagy MySQL? mint ha valaki azt kérdezné meg hogy: Suzuki vagy Catterpillar? Erre nem lehet válaszolni csak visszakérdezni: Mit szeretnél? Bevásárolni járni vagy utat aszfaltozni?

Arra hogy a weboldalon 2-300 termék árát, leírását stb. dinamikusan megjeleníthessük, a MySQL megfelel, de egy komplexebb ecommerce aplikációt nem lehet ráépíteni. Nyilván aki tud Oracle-ül az tud MySQL-ül is de fordítva ez nem igaz...

Ajánlani tudom a következő magyar nyelvű irodalmakat mindenkinek:
- Adatbázis kezelés az ORACLE rendszerben (Kende Mária, Kotsis Domonkos, Nagy István) Kiadó Panem (panem.hu) Ára: 4990Ft
- Sql kézikönyv (Computer Books) Ára volt anno 1188Ft

És külföldiek:
- Koch, George és Loney, Kevin: Oracle 8i Reference Guide
- Michael Abbey, Ian Abramson, Michael Corey: Oracle8i Handbook

Azt hiszem az utolsó kettő is kapható már magyarul is.

És ami fontos: hogy ezek a könyvek elméleti alapokat is adnak, vagy ha mégsem akkor van irodalom jegyzékük ahonnan beszerezhetjük azokat, és nem kell a Google téves találatait bújni egy-egy válaszért. Pár ezer forintos befeketetéssel, és persze kitartással szakértővé fejlesztheted magad az adott témában, és nem csupán egy phpMyAdmin kattintgató leszel, hanem egy olyan adatbázis szakértő aki komplexebb adatbázis rendszereket is létre fog hozni, úgy hogy az hatékony és áttekinthető marad, ergo működni fog...

Mindenkit óvnék a könnyű a "Windowst programozni", stb. színes képekkel, telerakott "egérklikkelgetős" könyvektől mert azok használhatatlanok, és borsos árúkat kifizetni a Libriben pénzkidobás. Rossz tapasztalatom, amikor megvettem a "Pentium mikroprocesszoror" architektúráról szóló könyvet, és kb 80 elméleti hibát tartalmazó hibajaegyzéket visszaküldtem a szerzőnek, akkor az nem hogy nem reagált, de következő könyvében ugyan azokat hibákat beleírta... Nyilván nem érdekelte hogy mit ad ki a kezéből.

Végezetül nem az a kérdés hogy mit tanuljál, hanem az hogy hogyan.

Elnézést kérek azoktól a webprogaramozóktól akikben egy világot döntöttem most össze az SQL tudományát illetően, de hangsúly nem a magoláson hanem a szemléletmódon van! És az nem más mint nem megoldani feladatot, hanem jól megoldani a feladatott.

Uhh, a próféta szólt belőlem: többet ezt nem teszem... :)

Köszönöm az alapos indoklást. Arról tudsz még nyilatkozni, hogy az Oracle-t fel lehet-e rakni Frugalware 0.5-re, illetve mi a véleményed a PostgresQL-ről (hol áll a Suzuki-Caterpillar összehasonlításban)?

____
Semmi sem biztos. Még az sem biztos, hogy semmi sem biztos.

"tudsz még nyilatkozni, hogy az Oracle-t fel lehet-e rakni Frugalware 0.5-re,"

Szerintem próbáld meg, aztán írd le tapasztalataidat. :)
Nem olyan ördöngős dolog, alapból Oracle-t "next,next,finish" módszerrel lehet telepíteni. Gondok leginkább kernel, ill. libc verzió miatt szoktak vele lenni. (Legalábbis régebben így volt, de már legalább 1 éve nem telepítettem linuxra Oracle-t.)

Nem férek hozzá Frugalos géphez, és ezért most nem telepítenék, de elég sokféle nem támogatott rendszerre hegesztettem már Oracle-t. Ha nekilátsz a telepítésnek, kiírja az elején, hogy milyen csomagok kellenek neki. Azoknak a Frugalware megfelelőjét mindenképp érdemes felrakni. 3.2-es gcc szintén alapkövetelmény némelyik verziónál, vhonnan szerezz.
A /etc-be tegyél be egy redhat-release file-t, hogy azt gondolja, RH-ra teszed...
Indulj neki a telepítőnek, és hajrá. Amikor az oprendszer kernel beállításokra papol, add meg neki, amit kér, a csomagoknál meg toszogasd tovább, hogy jól van az úgy.
1x csak elkezd másolni, eddig nem gond. A linkelés során (csík 83% asszem) kezdődhetnek igazán a galibák, onnan kell elkezdeni imádkozni. :)
Ha ott belefutsz vmibe, akkor kis makefile nyomozgatás.
Ha lement a linkelés, jönnek a Config Assistant-ok, azok is hajlamosak elhasalni, de ez általában hálózati beállítás, vagy Java verzió probléma, viszonylag könnyen orvosolható.

Az nem a linkelésen segít, hanem a java (a telepítő, illetve az Assistant-ok) gagyiságain. Amúgy a 10g óta ez már nem szokott gondot okozni, ez a régebbi verziókra áll inkább.
Sok szutyok van, ami még mindig érzékeny rá, pl IBM MQSeries-nek 3-4 különböző környezeti változóval kell biztosítani, hogy ne szívjon az NPTL-lel.