Oracle, MS SQL vagy MySQL
2004-04-30T18:23:20+02:00
2004-05-12T21:11:05+02:00
2022-07-27T12:27:43+02:00
  • Tehát a lényeg a feladaton múlik és nem a pénzen.


    Igen, én is így érzem, ezért kérdeztem, hogy szerintetek melyik és miért lenne megfelelőbb. Lényegében úgy nézünk ki, hogy kellene egy szerver, amit majd valamikor megvesznek, s egy egyszerűbb programot kéne rászerkeszteni.
    Nekem majd csak át kell vennem a kész művet, viszont rám hárul a rendszer karbantartása is, mert így lett kitalálva.
    Mindössze azért kérdeztem, hogy kinek milyen tapasztalatai vannak, mert már kezdem kapisgálni, hogy egyszerűbb lesz megírnom a saját karbantartó progimat, mint azzal vesződni, hogy ki, mit, mikor, hol és miért írt meg, amikor már nem lesz elérhető.

    Ha arról van szó, hogy tanulni szeretnél, akkor szerintem az InterBase-zel vagy a FireBird-del kezd.


    Most is ezeket nyúzom, mert egy InterBase a "tesztszerverem". (ah, mekkora szó! ) Sajna nincs más, viszont kell valami, amin a félkész programot tudom tesztelni, s a sajátomat is rá tudom szabni az adatbázis rendszerre.
    Mutasd a teljes hozzászólást!
  • Hi!

    Szerintem nem éppen a helyes irányban közelítitek meg a dolgot. Egy RDBMS kiválasztásánál mindig az a legfőbb szempont, hogy mire is lesz használva. Egy komolyabb céget nem fog érdekelni, hogy a MySQL-hez * user csatlakozhat, mert inkább kiad x milliót az Oracle-re. Egy MySQL-t pedig semmilyen tekintetben sem lehet összehasonlítani egy Oracle-lel. Félreértés ne essék, a MySQL vagy Postgre + PHP nagyon jó kis cégek WEB-jének, esetlegesen belső irányításának a megvalósítására, de komolyabb feladatokra - a saját tapasztalatom szerint - nem alkalmazzák.

    Tehát a lényeg a feladaton múlik és nem a pénzen. Nem szeretnék olyan munkahelyen dolgozni, ahol csak spórolás végett egy - a feladathoz még nem kiforrott - RDBMS-t kellene használni.

    Ha arról van szó, hogy tanulni szeretnél, akkor szerintem az InterBase-zel vagy a FireBird-del kezd. (Generátorok, triggerek, tárolt eljárások, függvények stb...)
    Azután - ha komolyan belementél - nem lesz 'nagy' kaland áttérni pl. az ORA-ra.

    Üdv.,

    POTD
    Mutasd a teljes hozzászólást!
  • Hali!

    Azért én kiváncsi lennék, hogy mit szól ehhe mondjuk 100 kliens.

    Én azt modom, hogy az MSDE alapjában véve munkaállomásra való, mint azt a neve is mutatja: "Desktop Engine". Nem hinném, hogy megéri trükközni. Sok usernél egy INSERT akár 20 percig is eltarthat.
    Mutasd a teljes hozzászólást!
  • Eddig rendben van, a kérdés csak az, hogy mi számít "MySql-based application"-nek!

    Idézet: "Free use for those who never copy, modify or distribute. As long as you never distribute (internally or externally) the MySQL Software in any way, you are free to use it for powering your application, irrespective of whether your application is under GPL license or not."

    Tehát, ha egy olyan alkalmazást írsz, amely a MySql-t használja adatbázis kezelőként, akkor ingyenes még akkor is ha a te alkalmazásod nem. Az egyetlen megkötés az, hogy az alkalmazásod mellé nem csatolhatod a MySql db-t, azt a vásárlónak kell külön beszereznie. (Ez a MySql álláspontja!) Ugyanez vonatkozik a MAX DB-re is.
    Mutasd a teljes hozzászólást!
  • Azért a MySql sem olyan rossz választás, tekintve, hogy tetszőleges számú felhasználó és db méret esetén is ingyenes.

    OpenSource projektekhez... amúgy fizetős.
    Ugyanez áll a MAXDB-re is.


    A mysql akkor nem ingyenes, ha penzt akarsz kerni azert, hogy mysql-t hasznalhat az illeto, vagy ha tovabb akarod fejleszteni, es penzert arulni az eredmenyt..

    Ha az illeto sajat maganak tolti le a mysql-t, akkor sem kell fizetnie, semmilyen felhasznalasra. Te pedig a mysql nelkul adhatod a cuccodat.
    Mutasd a teljes hozzászólást!
  • elolvastam, és ezt találtam:
    With the GPL license, MySQL is available free of charge. Users may download the software for free and modify, integrate and distribute it. However, GPL users must abide by the rules of the GPL, which stipulate that if a MySQL-based application is redistributed, the complete source code for this application must also be open and available for redistribution.

    félreértettem valamit, vagy nem vettem észre egy részt?
    Mutasd a teljes hozzászólást!
  • Ez nem egészen így van, olvasd el a MySql licenszpolitikáját!

    bhubert: MySql cluster-ről itt olvashatsz bővebben.
    Mutasd a teljes hozzászólást!
  • "Ezek ismereteben ezt eleg konnyen ki lehet jatszani ugy, ha gondoskodsz arrol, hogy egyszerre ne nyiss meg 5-nel tobb connection-t."


    Igen, erre én is rájöttem :)))

    Mivel több thread-ből és több alkalmazásból kommunikálok vele egyszerre, nem volt egyszerű a dolog, de megoldottam...
    Mutasd a teljes hozzászólást!
  • Ez az 5 felhasznalos korlatozas kisse erdekesen van megoldva az MSDE-ben. Az, hogy hany connection-t nyithatsz, nincs korlatozva, azonban parhuzamosan egyszerre csak 5 connection-on futhat valami. (Azok a connetcion-ok, amelyek csak nyitva vannak es varakoznak nem szamitanak.)

    Ha egyszerre tobb mint 5 connection-on kezdessz el futtatni valamit, akkor lep eletbe a korlatozas: minel tobbel leped at 5-ot, az MSDE annal tobbet varakozik, mielott valaszt adna.

    Ezek ismereteben ezt eleg konnyen ki lehet jatszani ugy, ha gondoskodsz arrol, hogy egyszerre ne nyiss meg 5-nel tobb connection-t.

    Egy web-es ASP.Net-es kornyezet eseten erre az a legegyszerubb megoldas, ha a connection pool meretet limitalod 5-re. (Vagyis a connection string-ben beallitod ezt a maximalis hatart.) Ilyenkor ha ujabb connection-t akarsz nyitni, akkor az SqlConnection megvarja, amig felszabadul egy a pool-bol, es azt adja majd vissza neked. Es kesz.

    Ha halozaton tobb windows-os kliensed van, akkor minden sql szerveres dolgot egy, a fenti modon konfiguralt web service-en keresztul kell futtatni egy lehetseges megoldaskent.

    Igy szinte ugyanazt a teljesitmenyt ki lehet hozni az MSDE-bol nagy felhasznaloszam mellett is, mint a nagy testvereibol. (Figyelembe veve persze a tobbi korlatot, mint a 2 GByte maximalis adatbazismeret, 2 vagy 4 proci maximum stb.)

    Egyebkent az MSDN-en meg pelda es teljesitmeny-statisztikak is vannak errol.
    Mutasd a teljes hozzászólást!
  • "Skálázhatóságban szerintem veri mindkét fizetős vetélytársát, beállítani/optimalizálni sokkal könnyebb (MySqlAdministrator óta pláne), dokumentációja átlátható."


    Hmmm...


    Skálázhatóság:

    - Láttál már 4 db Xeon procin MySQL-t futni, úgy hogy ebből két gép van fürtözve? Én MSSQL-t már igen...

    - Láttál már Itaniumon MySQL-t?



    Optimalizálás:


    Mivel lényegesen kisebb tudású egy MySQL lehet, hogy egyszerűbbnek tűnik. De azért nem kellene a MySqlAdministrator-t mondjuk egy Enterprise Manager-hez hasonlítani...

    De próbálj mondjuk OLAP kockákat vagy DTS-t csinálni MySQL-el...


    Mutasd a teljes hozzászólást!
  • Azért a MySql sem olyan rossz választás, tekintve, hogy tetszőleges számú felhasználó és db méret esetén is ingyenes.


    OpenSource projektekhez... amúgy fizetős.
    Ugyanez áll a MAXDB-re is.
    Mutasd a teljes hozzászólást!
  • Azért a MySql sem olyan rossz választás, tekintve, hogy tetszőleges számú felhasználó és db méret esetén is ingyenes. Tranzakciókezelés és idengenkulcs támogatás is van már benne rég, sőt, mező szinten konfigurálható biztonsági beállításokra is van lehetőség. A tárolt eljárás/trigger kombináció hiánya az egyetlen komoly hátulütője a MySql-nek, bár az 5.0-ás már legalább a tárolt eljárásokat ismeri, csak még elég kezdeti stádiumban van a fejlesztése (még csak nem is alfa). Skálázhatóságban szerintem veri mindkét fizetős vetélytársát, beállítani/optimalizálni sokkal könnyebb (MySqlAdministrator óta pláne), dokumentációja átlátható.

    Az ingyenes db-k közül viszont érdemes volna a már említett PostgreSQL és Firebird mellett a MySql MAX DB-t (leánykori nevén SAP DB-t) is megnézned.
    Mutasd a teljes hozzászólást!
  • Az Oracle otthoni tanulasi celrokra ingyenes. Ha mar fejleszteni akarsz, akkor bizony fizetni koll erte.
    Mutasd a teljes hozzászólást!

  • ...
    License Rights
    We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing a single prototype of your application, and not for any other purpose. If you use the application you develop under this license for any internal data processing or for any commercial or production purposes, or you want to use the programs for any purpose other than as permitted under this agreement, you must contact us, or an Oracle reseller, to obtain the appropriate license. We may audit your use of the programs. Program documentation may accessed online at /docs.


    Ownership and Restrictions
    We retain all ownership and intellectual property rights in the programs. The programs may be installed on one computer only, and used by one person in the operating environment identified by us. You may make one copy of the programs for backup purposes.

    You may not:
    -use the programs for your own internal data processing or for any commercial or production purposes, or use the programs for any purpose except the development of a single prototype of your application;
    -use the application you develop with the programs for any internal data processing or commercial or production purposes without securing an appropriate license from us;
    -continue to develop your application after you have used it for any internal data processing, commercial or production purpose without securing an appropriate license from us, or an Oracle reseller;
    -remove or modify any program markings or any notice of our proprietary rights;
    -make the programs available in any manner to any third party;
    -use the programs to provide third party training;
    -assign this agreement or give or transfer the programs or an interest in them to another individual or entity;
    -cause or permit reverse engineering (unless required by law for interoperability), disassembly or decompilation of the programs;
    -disclose results of any program benchmark tests without our prior consent; or,

    -use any Oracle name, trademark or logo.

    ...



    Ez a prototyping nem eskudnek meg hogy tenyleg a korlatlan fejlesztest jelenti.

    Az egy gep egy felhasznalo, az tobbemberes fejlesztesnel korlatot jelenthet.

    A fejlesztett szoftver eladasa nem tudom hogy commercial purpose-nak szamit-e. Ha igen, nem fejlesztheted tovabb a development licence-el (nincs bugfixing sem).

    Meg kene kerdezni az Oracle-t.
    Mutasd a teljes hozzászólást!

  • A fejlesztői változat használatához ezt a licensz szerződést kell elfogadni. Elolvasva számomra az derült ki, hogy fejlesztési célra szabadon használhatod.
    Mutasd a teljes hozzászólást!
  • Hátránya: Mentés/visszaállítás nagyon gyenge. Csak két azonos Oracle verzión teheted meg, és még ott is nagyon kell imádkoznod.


    én Oracle 8.1.7. dmp állományt hiba nélkül töltök be Oracle9i Release2-be, és sosem imádkoztam még ezügyben . sőt régebben töltöttünk át Oracle 7.3.4 dmp állományt 8.1.7-be, és ott se volt gond
    Mutasd a teljes hozzászólást!
  • Oracle ingyensen használható fejlesztésre (Linuxon egészen biztosan).


    Ezt szeretnem ha valami bizonyitekkal alatamasztanad, a DBA-nk ugyanis azt allitotta, hogy csak akkor ingyenes, ha kotottel az Oracle-el szerzodest hozza, az meg evi parszazezer forint, kulonben ha penzes szoftvert fejlesztel Oracle-re, akkor nem ingyenes a fejlesztoi verzio, tehat ekkor vagy szerzodes, vagy egy licenc az adatbazisra.

    Mutasd a teljes hozzászólást!
  • azt azert meg hozzatennem, hogy Oracle-hoz is van light-os verzio, a Personal Oracle. ez teljes tudasu Oracle, egy kivetellel. 1 azaz 1 db session lehet az adatbazishoz csatlakozva egyszerre.

    ez annyit tesz, hogy single-user alkalmazast lehet csak irni ra, es jobb, ha hibatlan a program, mert ha valami beragad, akkor nem tudod leloni (csak az adatbazissal egyutt), mivel ahhoz hogy egy session-t kiloj, hozza kell csatlakozni az adatbazishoz, azt meg nem tudsz meg egy peldanyban.

    viszont csak par tizezer forintba kerul a felhasznaloi licence.
    Mutasd a teljes hozzászólást!
  • Üdv!

    A 2GB tényleg limit, az 5 user meg csak úgy limit, ahogy Bhubert is leírta.

    Valószínű azért emléxel egyébként ilyenre, mert 1-2éve még nem volt ingyenes az MSDE se, de most a WinFS miatt úgy döntöttek, hogy jó lenne, ha a rendszergazdák és fejlesztők megismernék a MSSQL technológiát...

    Ivn
    Mutasd a teljes hozzászólást!
  • Jogos!
    Én emlékeztem, egy 5 useres limit-re, de most nem találom, csak a 2GB adatbázisméret maximumot.
    Miért emléxem ilyesmire?
    Mutasd a teljes hozzászólást!
  • Igen, ezért mondtam, hogy a Light Edition jobb név lenne neki :)))
    Mutasd a teljes hozzászólást!
  • Üdv!

    Az MSDE, mint nevében is benne van, nem szerver. Egygépes adatbáziskezelő. Kivitelezhető vele mondjuk egy számlázó program, de ennyi.


    No ebben viszont én nem értek egyet. Bent a cégnél 19 gép használ egy ilyen MSDE-t... tehát SERVER

    Ivn

    Hozzászólás: Bocs, nem láttam, h Bhubert is megválaszolta
    Mutasd a teljes hozzászólást!
  • "Az MSDE, mint nevében is benne van, nem szerver. Egygépes adatbáziskezelő. Kivitelezhető vele mondjuk egy számlázó program, de ennyi"


    Márpedig egy igazi SQL szerver az :) Csak van némi limitje, de attól az még szerverként funkcionál, korántsem egygépes! A teljes neve ugyan Microsoft SQL Server 2000 Desktop Engine, de szerintem a Small Business vagy Light Edition elnevezés szerencsésebb lett volna :)

    A limitáció annyi benne kb.

    - Nincs hozzá Enterprise Manager csak parancssor

    - Limitálva vannak bizonyos képességei (pl. replikáció)

    - Max 2 GB-os adatbázis

    - Limitált aktív kapcsolatszám, de ez úgy, hogy bármennyit beenged, csak a limit felett lévőket Queue-ba rakja, és később futtatja.

    - Processzor limit is van benne.


    Ezen kívűl gyakorlatilag mindenben megfelel a nagytesónak.


    Összességében annyit mondhatok róla, hogy én már használtam 10 konkurrens userrel gond nélkül, és kis forgalmú webszerveren is elmegy.



    A lényeg azon van, hogy az MS egy jól használható és a nagy testvérrel kompatibilis ingyenes eszközt akart. Ez tökéletes üzletpolitika, mert így használhatod kis helyeken, de megvan a lehetőséged a felfelé skálázásra.
    Mutasd a teljes hozzászólást!
  • Hali!

    Az MSDE, mint nevében is benne van, nem szerver. Egygépes adatbáziskezelő. Kivitelezhető vele mondjuk egy számlázó program, de ennyi.

    Kb megerősíteni tudom Ivn által elmondottakat:
    Általános esetben MS SQL. Ez akár 100-150 konkurens user-ig - megfelelő vassal alatta - elboldogul. Az ára viszonylag emészthető (~250.000Ft-tól + CAL). Egyszerű programozni és adminisztrálni. Tud Windows authentikációt is (és ez is tud mező szinten jogosultságot kezelni).
    Nagyobb, vagy fontosabb projectekhez az ORACLE való, UNIX-os oprendszerrel. Ehhez viszont fel kell kötni a gatyát mind összegben, mind adminisztrációban (nem véletlen kerül egy guru >20.000Ft-ba óránként).

    A mySQL web+php párosításban elmegy (sőt), de nagyobb üzleti kliens/szerver alkalmazást nem bíznék rá (már csak a csekély support miatt sem). Nem tartalmaz business layer-re lehetőséget, így mindent a kliens oldalon kell megvalósítani (amihez egyrészt gép kell, másrészt nehéz a frissítés, hibajavítás).

    Üdv,
    stl
    Mutasd a teljes hozzászólást!
  • Annyit tennék hozzá, hogy ha jól tudom, akkor az MSDE már full free lett, megszünt a régi liszenszfeltétel.

    A www.microsoft.com/sql oldalról letölthető.
    Mutasd a teljes hozzászólást!
  • Üdv!

    Nos MySQL-t nem ismerem (még csak nem is használtam), de az első kettőt igen.

    Csak azt írom le, amit én tapasztaltam

    MSSQL: Fizetős, de van "kis része" az MSDE. Az MSDE-t megvetettheted a felhasználóval, elég egy Office-t vennie, rajta van. Telepítése next/next/next/finish típusú. Elfut egy gyengébb gépen is (PII333Mhz, 64MB RAM). Kb 70MB foglal + adatbázis.

    Előnyei: Használata könnyű, barátságos (microsoft feeling). Egy adatbázis mentése és visszaállítása egy scriptből áll. A visszaállítást akár egy "szűz" gépen is megtehetjük egyszerűen.
    Ismeri az egyedi azonosító fogalmát (GUID). Eléréséhez ADO vagy dbExpress ajánlott OLEDB-n keresztül, de ODBC-n keresztül akár BDE-vel is. Tud tárolt eljárást/triggert/view-kat kezelni.
    Hátránya: Rosszul kezeli a float-os számokat, de számos megoldást találunk a
    Books Online helpjében.

    ORACLE: Fizetős, de otthoni célra letölthető (Windows alá is). Felhasználóval megvetetni már súlyosabb eset. Rengeteg memóriát és procit igényel, telepítés során kb 4GB merevlemez is kell neki.

    Előnye: Robosztus, mindent tudó adatbázis szerver. Egy Application Serverrel kibővitve az adatbázis servert, iszonyú dolgokra lehet késztetni. Mező/tábla szintű hozzáférést is biztosit, és a jogosultságok és kiadhatok minden egyes SQL utasításra.
    Eléréséhez jó ADO, dbExpress. Kliens gépeken külön kell klienst telepíteni (OCI)
    Hátránya: Mentés/visszaállítás nagyon gyenge. Csak két azonos Oracle verzión teheted meg, és még ott is nagyon kell imádkoznod. Dokumentációja csapnivaló, a fél életedet kell rátenni, hogy megkeresd, hogy mit is jelent a ORACEL-00012 hiba.
    A verziók között egyáltalán nincs semmilyen kompatibilitás. Egy 9i-ben megírt dolgot csak + munka árán tudod a 10g-be berakni.

    Nos dióhéjban ennyi.

    És hogy mit is használnék? Feladattól függ. 1-50 felhasználós környezetben MSSQL-t. 50-100 felhasználós környezetben is MSSQL-t

    Nagyobb projektnél, ahol adatbiztonság is fontos, és a gyors elérés, és sok pénz van rá, nos ott Oraclet...

    Ivn
    Mutasd a teljes hozzászólást!
  • hát az attól függ, hogy mire kell...
    bár megjegyzem, hogy mySql helyett akkor is mást keresnék, ha amúgy jó lenne
    (a legutóbbi időkig hiányzott belőle néhány olyan apróság, amitől nem dbase az sql: tranzakciókezelés, view, trigger, foreign key például. Más rosszat nem tudok róla)

    Ha csak tanulásra kell: van MSSQl 120 napos ingyenes (tök jól müködik), aztán
    Oracle ingyensen használható fejlesztésre (Linuxon egészen biztosan).

    MySQL alternativák pl. PostgrSQL, firebird, HSQLDB (bár ez nagyon JAVA)
    Mutasd a teljes hozzászólást!
  • Sziasztok

    Mindössze egy kérdésem van, amely reményeim szerint (talán) kicsit informatívabb lesz a "Szerintem ez a csúcsszuper és mindenki bolond, ha mást használ"-gondolatnál.

    Tehát kérdésem:
    ki-ki melyiket és miért használná a 3 adatbázis szerver közül, s miért? Melyik lenne megfelelő egy egyszerű szerver-kliens alkalmazáshoz?

    Tudom, hogy az Oracle és az MS SQL fizetős, míg a MySQL nem, a MySQL-ben (a 4.x-es verziókban) le kell saját kézzel programozni a timestamp-et. Olyan infókra lennék kíváncsi, mint pl. egyszerűbb a Delphi-programozása valamelyiknek, olyan kiegészítések vannak valamelyikhez, amellyel könnyebb lesz a kapcsolatttartás a szerverrel, vagy hasonlók.

    Köszi
    Mutasd a teljes hozzászólást!
abcd