Autor Zpráva
wrestler
Profil
Dobrý den.
Chci se zeptat, jestli někdo nemá zkušenosti s FREE účtem na pipni.cz. Skutečně v MySQL databázi nelze vytvářet FOREIGN KEY u tabulek?
Předem díky za odpovědi.
Nox
Profil
wrestler
Toto záleží na storage enginu, InnoDB má foreign key a transakce, kdežto MyISAM ne (to je věc, kterou nastavíš až při vytváření té které konkrétní tabulky)
Myslim že tyto možnosti by měly být všude, kde je MySQL, ale 100% jistý si nejsem. Každopádně je to free, takže ti nic nebrání to prostě zkusit ;)
wrestler
Profil
Nox
Tak na FREE účtě jsou k dispozici enginy MyISAM, MEMORY a MRG_MYISAM, InnoDB bohužel ne. Nevím, jak je tomu u jiných typů účtu (doufám, že tam již InnoDB je).
Nox
Profil
wrestler
Myslím že bude vhodnější se zeptat přímo jich, v případě tedy že bys uvažoval o placené variantě

Jinak zdroj třeba tu: http://en.wikipedia.org/wiki/InnoDB
"Its main enhancement over other storage engines available for use with MySQL is ACID-compliant transaction support, similar to PostgreSQL, along with foreign key support (declarative referential integrity)."
wrestler
Profil
Nox
hledal jsem u nich na fóru a našel http://forum.pipni.cz/read.php?f=3&i=3720&t=3710
Nox
Profil
To sou tedy opravdu "znalci" :)

I když upřímně...na pipni sem neslyšel moc dobré názory, takže i kdyby to podporovali, tak tedy nevím...a když se kouknu na to
forum, tak tuplem....
Vaclav Martinovsky
Profil
InnoDB engine je na řadě hostinzích vypnutý, na free si osobně tipuji že bude vypnutý skoro všude... takže zbývá primitivní MyISAM, který neumí skoro nic.
Mastodont
Profil
wrestler
Byl by pro tebe fakt problém platit třeba 10 kaček měsíčně za tarif u Gigaserveru? Zadarmo nikde pečení holubi do huby nelétají.
Karel Dytrych
Hosting vas-hosting.cz
Profil
Mastodont
Tak tohle vetsinou resi studenti co opravdu nemaji na rozhazovani... Zkus si predstavit ze takovych hostingu potrebuji 5-6,7,8 a uz nejsi na 10 kacce...
armin
Hosting armin.sk
Profil
Vaclav Martinovsky: InnoDB je především šíleně pomalý a do jisté míry nebezpečný, nakolik pokud se ví jak na to, není problém během pár minut sestřelit celý server. Já osobně programuji již přes 6-7 let, věnuji se tomu deně a nikdy jsem se nesetkal s něčím, co by mě nutilo používat InnoDB engine. A věci kolem foreign key a partnerství všeobecně... záleží od přístupu programátora. Zda má cenu dlouhodobě fungovat pomalu a ušetřit si 10 minut práce, nebo nebýt tak neskutečně liný a ohlídat si partnerství "ručně".
Karel Dytrych
Hosting vas-hosting.cz
Profil
armin
No podle me referencni integrita, omezeni atd. rozhodne nikde mimo databazi nahradit nejdou... Co treba pristup z nastroju typu mysql admin, vice aplikaci, atd. atd. Neni to jen o tom jestli mate napsanou nejakou hlavni aplikaci spravne.... Nikdy nevite na co kde zapomenete...
armin
Hosting armin.sk
Profil
Karel Dytrych: Asi jsme se nerozuměli. Celý můj příspěvek byl směřován na vlastně první příspěvek, i když jsem to psal pro kolegu Václava, nakolik psal že MyISAM je primitivní. Ano, přiznávám, nenabízí to co InnoDB a MySQL sama o sobě už zdaleka ne to co konkurenční SQL servery (v podstatě komerční), ale pokud jsem v situaci, že nemám na hosting (placený), jsem někde na free, tak proč se dožadovat něčeho, co především ani nebude nejspíš korektně nastaveno (viz můj link a možnou "škalovatelnost" InnoDB enginu)? Je sice hezké že se opíráte o externí přístup do databáze, více aplikacii pracujících s danou db, ale proč to zmiňovat, když dotyčný je na freehostingu? A když už jsme u toho, pokud budu provozovat projekt který by měl nároky jak píšete, tak přeci není žádný problém danou aplikaci škálovat uživatelskými právy - ať mi někdo omylem něco neumaže atd atd. Vše je jen o tom, jak vyspělý programator je a jak je celá aplikace (webová, konzolová, aplikace pro OS) koncipována. A zde tvrdím, že za x let jsem se nepotkal s výzvou, kterou splnit by nebylo možné použitím MyISAM. Toť můj názor.
Mastodont
Profil
armin
O "šílené pomalosti" bych raději nepsal, viz diskuse k linkovanému článku.
Karel Dytrych
Hosting vas-hosting.cz
Profil
armin
A zde tvrdím, že za x let jsem se nepotkal s výzvou, kterou splnit by nebylo možné použitím MyISAM. Toť můj názor.

Jen si rypnu... A co treba transakce jste si take programoval po svem? Ale predem podotykam, ze to je jedno, chapu vas pohled a je zbytecne se o tom dohadovat...
Aesir
Profil
armin:
InnoDB je především šíleně pomalý a do jisté míry nebezpečný
Docela by mě zajímali nějaké důvěryhodné zdroje k těmto tvrzením, můžete je prosím poskytnout? Rád bych se mrknul.
armin
Hosting armin.sk
Profil
Mastodont: Je to Váš názor, já Vám ho neberu. Akorát většina hostingů funguje tak, že se jde podle "šablony", stroj se nastaví tak aby to jelo, osadí se cPanel nebo jakýkoliv jiný opensource "administrátor" a konfigurace se vůbec neřeší, tudíž pochybuji že by odladěný InnoDB byl všude k dispozici. Taky bych neřekl, pokud někdo napíše na podporu že chce změnit x proměnných v nastavení MySQL, že mu do pěti minut vyhoví.

Karel Dytrych: Před pár lety jsem si napsal objekt pro práci s *SQL a ten používám u svých projektů, kde se používá SQL jako úložiště dat, kromě toho u pár projektů je osazena "vlastní databáze" se strukturou a organizací dat dle potřeb.

Aesir: Poskytnout je veřejně neposkytnu a ani neveřejně, nakolik hned se najde x profi teenagerů a budou to zkoušet všude možně a budou machrovat ve třídě že jsou hackeři. Jak ale docílit zahlcení a pád mysql - stačí trochu popřemejšlet jak vlastně InnoDB funguje a vhodnými příkazy se to dá docílit celkem rychle.
Aesir
Profil
armin:
Poskytnout je veřejně neposkytnu a ani neveřejně

Předpokládám, že pokud jste na podobnou zranitelnost přišel, tak jste ji bugoval do oficiálního issue trackeru, ale momentálně se mi tam nic podobného nedaří nalézt i Google poměrně dost mlčí, budu tedy předpokládat, že to je problém nějaké minoritní nebo unstable verze kterou používáte.
Ohledně té šílené pomalosti byste nějaký odkaz neměl? Nebo je to také tajné? :)
armin
Hosting armin.sk
Profil
Aesir: Nejedná se o bug, jde o nevhodnou koncepci. Lehce napovím.
Aesir
Profil
armin:
Ano možnost, že bude datový soubor koruptnutý se týká i innodb, ale naštěstí je to méně častý jev, než např. u zmíněného myisam enginu. Možnost, že dokážete koruptnout něčí databázi vnějším útokem mi nepřijde moc reálná, pokud tedy nenarážíte na spojení prvního odstavce z odkazovaného článku a zmíněného freehostingu, jestli ano, tak potom už to chápu :))
Karel Dytrych
Hosting vas-hosting.cz
Profil
Jinak k te zranitelnosti... kdyz zadate spravne kartezske souciny tak to skoro zastavi a nebo sestreli treba i Oracle...
Mike8748
Profil
armin
nechci nejak rejpat, ale tvrdit tady ze innodb je hodne pomaly, a pak se tady ohanet clankem z webu kde v kazdym druhym textu je uvedeny ze inno je rychlejsi a bezpecnejsi nez myisam mi prijde divny

netvdrim ze ten ci onen engine je lepsi, kazdej ma sve vyhody a nevyhody, je treba aplikaci psat se zretelem na pouzity engine, nejde proste rict "aplikace bezela 5 let na myisam, ted si tabulky prepnu do innodb, uvidime co to udela"
armin
Hosting armin.sk
Profil
Aesir: S poškozenou tabulkou se dají dělat skutečně divy, bohužel tyto divy jsou nežádoucí.

Karel Dytrych: To sice jo, ale já měl na mysli spíše InnoDB verzus struktura / množství dat / poškození tabulky.

Mike8748: Mě osobně se nejvíc na InnoDB nelíbí jednak to, že x databází je v jednom (resp. x souborech, ale je to pomíchané), hrubá migrace dat (překopírování pár souborů) je nemožná, opravování tabulky je skoro nadlidský výkon a pokud náhodou dojde k poškození některé tabulky, tak u MyISAM je možnost qiuck / normal / extended repair módu a zatím jsem se nepotkal s tím, aby v případě potřeby něco opravovat by náprava nebyla možná. Tudíž výhledově z pohledu stability a v případě pádu servera je MyISAM mnohem rychleji obnovitelný a provozu schopný, než InnoDB engine. Jedna věc je odlišný způsob organizace dat u InnoDB a druhá věc je že v případě poškození (které se mimochodem koná) je to pro běžného člověka zvládajícího zprovoznění RS / Shopu neřešitelná situace. A když vemu v potaz to, že většinou je standardní setup InnoDB, tak suma sumárum nepoužívám a nedoporučuji používání InnoDB. Může (ale nemusí) to znamenat víc problémů než úžitku. A jak už jsem psal, pokud se člověk programováním živí a nedělá to živelně jak na běžícím pásu ale i u toho přemýšlí, tak MyISAM byť je x let starý engine, je podle mě naprosto postačující a u krizových situací nabízí obrovský komfort a úsporu času při nápravě.
Vaclav Martinovsky
Profil
Prostě MyISAM je trošku lepší souborový systém... samozřejmě, většině lidí to stačí, ale řešit věci jako referenční integritu na úrovni klienta (php) je imho zhovadilost. Až budete chtít napsat druhý frontend v javě, budete tam ty omezení a podmínky programovat znova? A jak už tu někdo poznamenal, transakce ručně si ani nechci představit :D Nejsem databázový expert ani profi programátor, takže se nechci hádat, co je lepší nebo horší. Samozřejmě že pro knihu návštěv mi stačí MyISAM, ale pro složitější věci je tu jasná volba něco jiného (ať už je to MySQL InnoDB, Postgres.. či snad Oracle :)).

Armin: Obhajovat MyISAM tím, že je tam snadnější repair pro "běžného člověka" je IMHO špatně. Běžný člověk by se do takových věcí vůbec neměl pouštět a nechat to lidem, co tomu alespoň trochu rozumí. Já si taky u auta nespravuju brzdy, ale raději to přenechám servisu.