firebird vs. postgres

Ing. Miloslav Ponkrác miloslav.ponkrac na infos.cz
Pátek Květen 31 11:58:29 CEST 2002


>> Já netvrdím, že nemáte pravdu v této vlastnosti. Ale já prostě
nepreferuji
>> vždy
>> kompatibilitu s Oraclem. Někdy jsou lepší jiné vlastnosti.

> Ja nemluvim o kompatibilite s Oraclem, ja mluvim o tom, ze i Oracle
>dodrzuje urcite zakladni predpisy (normy) a ze proto je vyvoj produktu
>levnejsi. To znamena, ze povazuji kompatibilitu se standardy za vysoke
>plus, kompatibilita s konkretnim produktem mne prilis nezajima (a je to
>spise vec administratora nez vyvojare). Opacne vsak kompatibilita
>produktu X s normou je pro mne prioritni.


Uznávám, že občas některé SQL konstrukce v MySQL jsou trochu divoké.
Ale základní syntaxe sedí. Zde samozřejmě záleží na tom, jak vám toto
vadí. Na druhé straně ale musím napsat, že MySQL se v kompatibilitě SQL
velmi zlepšila.

>> Například lokální databáze pro lokální aplikaci. Tam bych rozhodně
nasadil
>> třeba spíše MySQL, nebo Interbase, či chcete-li Firebird.
>> Jednoduché, levné projekty s jednoduchým datovým modelem, taktéž
>> MySQL. Atd..
> Kolik tech lokalnich aplikaci potrebuje skutecne relacni datove
>modelovani a nepodoba se to vice Adresarove sluzbe - predstavte si to
>jako inteligentnejsi (strukturovany) telefonni seznam?

>> Každý projekt s mohutnou převahou čtení oproti zápisu, atd..
> Tomu rozumim, ale to relacni datove modelovani je prave spise o
>'zivosti' systemu, jeho genezi a rozrustani, k cemu tedy tyto prostredky
>mate, kdyz je nechcete? Proc pouzivate tedy nastroje, jejich efektivitu
>rapidne degradujete, kdyz muzete vyuzit nastroje ekvivalentni s vyssi
>uzitnou hodnotou a vykonem (napr. LDAP).


Vězměte to třeba tak, vývojové nástroje jsou většinou dobře připraveny na
práci s databázemi. Mnohem hůře pracují třeba s LDAP. Datové modelování IMHO
není o živosti systému, ale prostě o skladování dat. Databáze jsou vlastně
komponentou, která má velmi dobře definované rozhraní pomocí SQL a jako
taková se dá používat.

Nedomnívám se IMHO, že databáze jsou nevhodným prostředkem pro jednoduché
datové modely.

>> Sám jsem osobně použil a používám následující (tudíž to necucám z prstu,
ani
>> nekopíruju samochválu z mysql.com): JDBC ovladač pro MySQL spolu s
>> javovskými aplikacemi, naprosto bez problému. ODBC ovladač pro spolupráci
>> s MS Accessem. Dále používám PHP rozhraní pro MySQL a napsal jsem několik
>> aplikací s využitím čistého C rozhraní pro MySQL. Takže nechápu, o čem
>> mluvíte.

> Ja dlouho toto muzete rikat? Byl jsem konkretni v roce 1998 JDBC
>ovladac pro MySQL neexistoval a nikdo nehodlal v tomto smeru vyvinout

Než odpovím dále, tak napíšu, že MySQL se vyloupla k dobrému až v posledním
roku, dvou, sám to dobře vím. Ale já už nepátrám po historii. To je jako
argumentovat tím, že nebudu používat Linux, protože před 10 lety se nedal
používat a tudíž mě nezajímá. Prostě dnes tady je MySQL v dnešním stavu a
historii si nechte jako zajímavost.

>iniciativu (opravdu jsem se po nem pidil). EmbeddedSQL, coz je takova
>vecicka, kterou maji vsechny komercni SQL databaze, ktere mne aktualne
>napadaji, a PostgreSQL ji ma rovnez na velmi vysokem stupni, v MySQL
>neni dodnes a nikdo o tom neuvazuje. Chapu, ze z pohledu jazyka PHP se
>Vam to muze jevit jinak, ODBC je pekna vec, az ho budete pouzivat
>opravdu multiplatformove, odkazu Vas na clovika, ktery s tim dnes a
>denne bojuje a zjistuje, jake hnusne hacky musi delat pro spravnou
>funkcnost (a bohuzel to neni jeho omezenosti, ODBC zna do posledniho
>detailu). Ciste C API pro MySQL je fine, sam jsem napsal rovnez
>aplikaci, kod mi oproti jinych SQL databazim narost o neuveritelnych
>60%. Navic bez moznosti kod vyuzit kdekoli jinde...


Pokud jste zběhlý životem, víte, že nic není dokonalé, a každé má své plusy
a mínusy. Právě proto je k dispozici více databází, abyste si mohl vybrat
přesně na míru.

Takže to shrnu, prostě jste to vždycky zformuloval tak, aby to bylo mínus
pro MySQL:

JDBC - sice je, ale její mínus je, že kdysi v minulosti nebyl.

EmbeddedSQL - není, to je fakt.

ODBC je a dobré. Zde je mínusem to, že osoba XY má potíže s multiplatformním
používáním ODBC.

C API je, ale vám se nelíbí, nebo v něm neumíte psát.

Mimochodem, multiplatformní používání ODBC není moje parketa. Dobře mi
pracuje ve Windows, jinak dost pochybuji o dobre implementaci ODBC celkově
na jiných platformách.

>> Tento Váš odstavec ve světle mých zkušeností považuji za snůšku nesmyslů,
>> promiňte mi ten výraz.
> Ja Vam to neberu a promijim, zminil jsem jinde, ze se na produkt
>primarne divam z pozice vyvojare, ne produkcniho, z meho pohledu je to
>nebe a dudy (a domnivam se, ze i z pohledu zakaznikovy kapsy, jenze na
>to se dneska nehraje). Produkcni system se muze chovat dobre, zive apod.
>- ovsem ten background (treba tlusty klient) tezce supi - ale to se
>samozrejme nedozvite a je Vam to skryto...


Já se také dívám z pozice vývojáře. A jsem člověk, který nenasadí MySQL jen
proto, že jí strašně miluje. Ale nasadím jí tam, kde je MySQL dobrá.

>> Transakce v MYSQL existují. Dokonce při mých praktických pokusech se
>> chovaly rozumně, a pokud si přehodím druh tabulek z defaultního MyISAM
>> na InnoDB, tak je MySQL dokonce mnohem rychlejší.

>
>> Na druhé straně musím napsat, že transakce byly odladěny dobře tak cca
>> před půl rokem. Ale dnes je to paráda, zkuste.

>
> Dekuji - muzete vznest namitky na mnou publikovane vyhrady v
>databases na linux.cz - stare cca 1 den?


Bohužel maily ohledně této konference po přečtení mažu. Rád zodpovím
námitky, které mi uvedete, bude-li to z mých zkušeností. Napište, na co mám
reagovat.

Ale předem říkám, mám-li své zkušenosti, potom nemám důvod věřit jiným, i
když je to třeba z databázové konference, nebo se tváří jako autorita. S
MySQL jsem pracoval mnoho a mnoho času, a leccos jsem si vyzkoušel.

>> Ach jo. Kdy už konečně někdo pochopí, že rychlost MySQL není v uměle
>> vytvářených kopách DML příkazů. MySQL je ohromně rychlá na převážně
>> příkazy pro čtení. Pokud jí budete testovat na zápisy pomocí DML příkazů,
>> zde je trochu pomalejší.

> Ano, mate pravdu, ovsem ta Vase podminka je velmi silne omezujici,
>nemyslite? Trochu mi to pripada jako byste meril vykonnost aut pri ceste
>z 12% kopce dolu... - po rovince a do kopce je to uplne o necem jinem.
>Navic staci ty cteni prolozit libovolnym modifikacnim prikazem a vykon
>je uplne nekde jinde. Proto ta argumentace rychlosti je a) zavadejici,
>b) realne dost nepodlozena. A jak rikam, vetsinu MySQL aplikaci co bezne
>znam, ze byly vytvoreny, se podobaji adresarove sluzbe, nasazeni LDAP a
>patricneho schematu bylo daleko odpovidajici... To ovsem neni o relacnim
>modelovani...


V běžných režimech pracuje MySQL rychle. MySQL prostě není dělána pro 100%
zápis, ale to se běžně neděje. V aplikacích, které znám nad jakoukoli
databází, skoro vždy převažuje čtení nad zápisem. Test s 100% používáním DML
příkazů IMHO není praktická situace.

Já si myslím, že databáze jsou daleko vhodnější na řešení datových modelů,
které mají relační strukturu, než LDAP. Můžeme se o tom přít dlouho, o
nasazení LDAP je to věcí názoru. Vývojové nástroje podporují databáze
většinou velice dobře, s LDAP neopak příliš nepočítají. Už to je pro mě
silný argument proti nasazení LDAP. O tom, jestli s LDAP máte pravdu by šlo
polemizovat pouze a jedině v kontextu s nějakým konkrétním řešením.

>> To máte tak, jakmile se dotknete Postgres, tak se dotknete velkého
>> kultovního
>> místa, a prakticky na 99,99% vyvoláte flame. Někdy přemýšlím, zda je
možné
>> získat reálné informace o PostgreSQL jinak, než vlastní zkušeností.

> V cem spatrujete kultovnost? V tom, ze MySQL jako jedina databaze,
>ktera se snazi tvarit enterprise, ci aspon profi, si ohyba vse dle svych
>potreb, ostatni zesmesnuje ci rika, ze to neni potreba a sazi pouze a
>jen na rychlost; stoji proti vsem ostatnim? Jiz jsem rovnez psal, ze me
>vyhrady proti MySQL nejsou PostgreSQL vs. MySQL. Osobni zkusenosti mam s
>Oracle a se Sybase (minoritni i s jinymi), misto PostgreSQL si dosadne
>jine a mohu napsat ty same vyhrady, maximalne s nekolika zmenami...


Dobře, budu se vyjadřovat přímo:

Kdykoli se diskutuje o PostgreSQL, tak se vytáhne argument, že MySQL je na
houby. V tomto vlákně to například udělal první "Ing. Pavel PaJaSoft
Janousek". Přestože, že o MySQL nebyla vůbec řeč, a přestože se na MySQL
nikdo neptal.

I kdybych neznal MySQL, dobře jsem si všiml v argumentacích tendence, že
fakta jsou podána  tak, aby to pro MySQL vyznělo co nejnevýhodněji. To
samotné mi nezní věrohodně.

Když znám MySQL, tak ne všechny argumenty byly vůbec pravdivé. MySQL má také
své obrovské nevýhody, i výhody.

Nakonec se prohlásí, že Ti, kdo argumentují proti MySQL s ní vlastně žádné
zkušenosti nemají. Jen jí prostě nemají rádi.

Tyto výše zmíněné body jsou dle mého naprosto typické pro jakoukoli diskusi
o PostgreSQL.

Mimochodem, zajímavé je, že většinou první argument, který se vytáhne proti
MySQL je prakticky na 100% vždy nepravdivý. Stejně tak to bylo i v příspěvku
od "Ing. Pavel PaJaSoft Janousek".

S pozdravem

Miloslav Ponkrác



Další informace o konferenci Linux