<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Ad MySQL vs PostgreSQL - záleží na use case. Pro 99 % programátorů možná bude PostgreSQL lepší po všech stránkách, ale třeba v Seznam.cz nebo Facebooku to mohou oprávněně vidět jinak.</div><div class="gmail_quote"><br></div><div class="gmail_quote"><a href="https://eng.uber.com/mysql-migration/">https://eng.uber.com/mysql-migration/</a><br></div><div class="gmail_quote"><a href="https://ayende.com/blog/175137/re-why-uber-engineering-switched-from-postgres-to-mysql">https://ayende.com/blog/175137/re-why-uber-engineering-switched-from-postgres-to-mysql</a><br></div><div class="gmail_quote"><a href="https://code.facebook.com/posts/190251048047090/myrocks-a-space-and-write-optimized-mysql-database/">https://code.facebook.com/posts/190251048047090/myrocks-a-space-and-write-optimized-mysql-database/</a><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Můj osobní komentář: </div><div class="gmail_quote"><br></div><div class="gmail_quote">- PostgreSQL staví na nějakých předpokladech, jak by to ideálně mělo fungovat, např. že kešování nebo kompresi má řešit operační systém a ne databáze. Bohužel zas tak růžové to ale v praxi není :)</div><div class="gmail_quote">- rozdílný přístup k replikaci</div><div class="gmail_quote">- MySQL je zdá se taková víc/snadněji "hackable" - opět něco, co 99 % lidí nevyužije, ale někdo ano</div><div class="gmail_quote">- i ten hloupý MyISAM, kterému byste se měli vyhnout, pokud má MySQL fungovat jako "databáze", je někdy super, pokud místo "databáze" potřebujete spíš "storage"</div><div class="gmail_quote">- a i kdyby obě databáze měly všechny metriky stejné, tak zahodit roky zkušeností s produkčním provozem jedné databáze a jen tak ze srandy přehodit terabajty/petabajty dat do jiné databáze asi taky není úplně ono</div><div class="gmail_quote"><br></div><div class="gmail_quote">Nicméně co z toho je relevantní pro začátečníka :)</div><div class="gmail_quote"><br></div><div class="gmail_quote">Ještě pár poznámek k ostatním příspěvkům:</div><div class="gmail_quote"><br></div><div class="gmail_quote">- jestli MySQL není dost ACID, tak asi máte špatně nastavený isolation level - "serializable" není výchozím nastavením. Což ostatně platí i pro PostgreSQL.</div><div class="gmail_quote">- někdo tu zmiňoval, že je sqlite díky možnosti běžet z RAM vhodná na testy; no a je snad problém si pro testy spustit v ramdisku (tmpfs) i tu PostgreSQL/MySQL? :)<br></div><div class="gmail_quote">- někoho, kdo nezná základy SQL (tak, že typické use cases není schopen vyjádřit v SQL), bych asi ani nepovažoval za programátora, leda hodně hodně juniorního (nebo nějakého "Django ninju"). I na těch horších školách se aspoň nějaké SQL učí.</div><div class="gmail_quote">- na druhou stranu SQL není zas tak úplně triviální, když se to má člověk naučit rozumně, tak na VŠ je to celý předmět minimálně na jeden semestr.</div><div class="gmail_quote">- kéž by všechny softwarové projekty byly alespoň tak dobře otestované jako SQLite :) <a href="https://www.sqlite.org/testing.html">https://www.sqlite.org/testing.html</a></div><div class="gmail_quote"><br></div><div class="gmail_quote">A pár poznámek mimo :) Aneb není vše jen o MySQL a PostgreSQL.</div><div class="gmail_quote"><br></div><div class="gmail_quote">- třeba SQL databáze ani není potřeba :) Alternativ je spousta, od Redisu přes MongoDB a ElasticSearch až po nějaké Cassandry a HBase, speciality typu Druid.io a kdoví co ještě. Některé z nich je možné číst i přes SQL dotazy. Dneska už i AWS S3 má pseudo-SQL rozhraní.</div><div class="gmail_quote">- pak jsou cloudové databáze (včetně "serverless"), některé z nich mohou fungovat i jako drop-in náhrada PostgreSQL nebo MySQL.</div><div class="gmail_quote">- my třeba v práci používáme primárně MongoDB a SQL nám nějak nechybí :) Na jednu stranu člověk musí trochu vědět, co dělá (částečné povědomí o distribuovaných systémech dost pomůže), na druhou stranu právě všechny tyhle blbosti typu MySQL vs. PostgreSQL a SQL vs. ORM nemusím řešit :) A k tomu mám zadarmo mnohem lepší API a provozní i výkonostní charakteristiky. A kdyby mi nějak extra scházelo SQL pro nějakou analytiku a reportování, tak možnosti, jak to řešit, jsou. MongoDB je už třeba docela klasika v node.js světě.</div><div class="gmail_quote"><br></div><div class="gmail_quote">PM</div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Dne 28. prosince 2017 8:51 starenka . <span dir="ltr"><<a href="mailto:starenka0@gmail.com" target="_blank">starenka0@gmail.com</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><span class="gmail-">>> <span style="font-family:sans-serif">Je to velmi osvědčená a používaná databáze, v řadě věcí navíc ještě</span><br style="font-family:sans-serif"><span style="font-family:sans-serif">stále překonává třeba ten Postres.</span><br style="font-family:sans-serif"><br></span>Muzu se zeptat v cem?<br><div>-----<br>'aknerats'[::-1]</div><div><div class="gmail-h5"><div class="gmail_extra"><br><div class="gmail_quote">On Dec 28, 2017 00:22, "Daniel Milde" <<a href="mailto:daniel@milde.cz" target="_blank">daniel@milde.cz</a>> wrote:<br type="attribution"><blockquote class="gmail-m_2931715288844827051quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Já bych ještě dodal, že ani Mysql/MariaDB/PerconaDB není žádná hračka :)<br>
<br>
Je to velmi osvědčená a používaná databáze, v řadě věcí navíc ještě<br>
stále překonává třeba ten Postres.<br>
<br>
Jinak k dotazu tazatele: z konektorů bych doporučil PyMysql a na<br>
samotnou tvorbu dotazů buď:<br>
<br>
1) SQLAlchemy pokud budeš dělat v aplikaci i zápisy a většinu času budeš<br>
potřebovat data celých entit/modelů.<br>
<br>
nebo<br>
<br>
2) SqlPuzzle pokud se budeš jen dotazovat a budeš potřebovat hodně<br>
specifické dotazy, které je vhodné psát v něčem víc blízkém SQL.<br>
<br>
Dan<br>
<br>
<br>
Dne 27.12.2017 v 13:50 Matěj Cepl napsal(a):<br>
<div class="gmail-m_2931715288844827051quoted-text">> On 2017-12-27, 11:33 GMT, zu1234 wrote:<br>
>> Jsem stará konzerva a myslím si že začátečník by měl začínat jednoduše.<br>
>> Vyhnul bych se SQLAlchemy a ORM.<br>
>> Když jsem se snažil si zjednodušit život, většinou jsem si zavařil.<br>
> Souhlas, pro začátečníky bych doporučil<br>
> <a href="https://docs.python.org/2.7/library/sqlite3.html" rel="noreferrer" target="_blank">https://docs.python.org/2.7/li<wbr>brary/sqlite3.html</a> a pak k tomu<br>
> nějaký opravdový kurs SQL (když dáte do svého oblíbeného<br>
> vyhledávače SQL vypadne jich několik). DBAPI popsaných zde pro<br>
> SQLite podporuje většina databázových konektorů pro Python a pro<br>
> začátek to stačí. Pak jak se bude učit hlouběji, bude potřebovat<br>
> nějakou opravdovou databázi (tj. ne hračky jako SQLite nebo<br>
> MySQL, já mám oblíbený PostgreSQL), ale to může pro úplný<br>
> začátek počkat.<br>
><br>
> SQLAlchemy nebo nějaké ORM jsou dobré, ale bez znalosti SQL se<br>
> podle mého nikdo neobejde (uznávám, že v oblasti SQL jsem spíše<br>
> laik).<br>
><br>
> Matěj<br>
<br></div></blockquote></div></div></div></div></div></div></blockquote></div></div></div>