Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.12.
Byla vydána verze 31.0 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
Emulátory Box86 a Box64 umožňující spouštět linuxové aplikace pro x86 a x86_64 na jiných než x86 a x86_64 architekturách, například ARM a ARM64, byly vydány v nových verzích: Box86 0.3.8 a Box64 0.3.2. Ukázka možností na YouTube.
Byla vydána nová verze 6.1 neměnné (immutable) distribuce openSUSE Leap Micro určené pro běh kontejneru a virtuálních strojů. S vydáním verze 6.1 byla ukončena podpora verze 5.5.
Poslanci dnes ve třetím čtení schválili návrh zákona o digitálních financích. Cílem zákona je implementace předpisů Evropské unie v oblasti digitálních financí, konkrétně nařízení DORA (Digital Operational Resilience Act) o digitální provozní odolnosti finančního sektoru a nařízení MiCA (Markets in Crypto Assets) o trzích kryptoaktiv. Zákon nyní míří k projednání do Senátu ČR. U kryptoměn bude příjem do 100 tisíc Kč za zdaňovací období osvobozen od daně, podobně jako u cenných papírů, a to za podmínky jejich držení po dobu alespoň 3 let.
O víkendu (15:00 až 23:00) proběhne EmacsConf 2024, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji bude možné na stránkách konference. Záznamy budou k dispozici přímo z programu.
Mozilla má nové logo a vizuální identitu. Profesionální. Vytvořeno u Jones Knowles Ritchie (JKR). Na dalších 25 let.
Bylo rozhodnuto, že nejnovější Linux 6.12 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2026. LTS jader je aktuálně šest: 5.4, 5.10, 5.15, 6.1, 6.6 a 6.12.
Byla vydána nová stabilní verze 3.21.0, tj. první z nové řady 3.21, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu architektury Loongson LoongArch64.
Na obyčejné weby, kde o nic nejde, používáme MySQL a to z toho důvodu, že s tím umí pracovat více programátorů.
PostgreSQL používáme na důležitější data a aplikace. Osobně bych doporučil přejít na PostgreSQL co nejdříve, dokud je to ještě z hlediska projektu možné.
Co se týče rychlosti, tak dřívější verze (8.1) byly o něco pomalejší než MySQL, ale dnes se situace obrátila a ve transkačním zpracování je v tomto souboji PSQL vítez (viz test, Radim testoval verzi 8.3). PostgreSQL server se dá také nastavit na vyšší výkon (dovolím si malou reklamu), viz seriál o optimalizaci.
Fulltext má psql dlouho (ani nevím jak dlouho ), dříve jako modul, který se musel doinstalovat, dnes již je součástí.
(protože PostgreSQL zpravidla na levném webhostingu nenajdete)Je otázka, co se ještě dá považovat za levný webhosting, ale s dovolením bych si přihřál polívčičku (kuk do odstavce Skripty a databáze)
U virtuálního serveru si musíš v podstatě všechno udělat sám, nainstalovat démona pro web, DB apod.Nemáš pravdu. Právě proto jsem přihříval polívčičku firmě, u které vím, že toto řeší.
myslím, že změnit databázi je jednodušší.A hlavně je to lepší a čistší řešení z dlouhodobého pohledu.
Myslím že je vhodnější mít databázi jednoduchou, a výpočty provádět v aplikaci.
Máte ten názor něčím podložený nebo to je jen pocit?
mít část kódu v aplikaci a část v databázi celý projekt značně znepřehlední
A co takhle mít vše v DB? (odstavec Databáze s tisíci uložených procedur).
jednoduché schéma se dá snadno přemigrovat na jinou databázi nebo jinou verzi stejné databáze (maximálně se změní několik málo konkrétních konstrukcí), DB kód je prakticky neportovatelnýZ některých diskuzí a popisů vlastností to skoro vypadá, že databázové aplikace se vůbec nevyvíjí proto, aby se používaly a uchovávala se v nich nějaká data, ale aby se neustále migrovaly z databáze do databáze
Většina argumentů, které uvádíte, dává smysl, ale pouze v případě, že s databází pracuje jen jedna aplikace.Zadruhé, kategorická tvrzení tohoto typu bývají nesmyslná. Konkrétně v případě SQLite je to co píšeš nesmysl.
Ale SQLite moc neznám, možná se pletu...SQLite při zápisu zamyká celý databázový soubor. To znamená, že je vhodná pro použití, kde probíhají krátké (rychlé) zápisy a navíc v nepříliš velkém souběžném množstvím. Aneb pár malých zápisů na sebe holt počká. Souběžné čtení funguje bez problémů. MySQL se velmi často používá právě na takové různé malé databáze, kde těch masivních zápisů moc není, takže by SQLite fungovalo stejně dobře a daleko jednodušeji. U hodně malých databází (typicky třeba malá webová aplikace) je navíc u SQLite minimalizována režie. Většina operací pak může fungovat jako bleskové čtení pomocí knihovny z diskové cache v RAM. Ale týká se to právě jen toho specifického použití bez souběžných velkých zápisů.
Aplikace (alespoň ty webové) obvykle běží na stejném stroji jako databáze
Klasická logika "já to tak dělám, tak to tak určitě dělají všichni (nebo aspoň většina)".
Ano, kombinovat více jazyků a pouštět to nad stejnou databázovou instancí je dost divoké a nestojí za tu práci.
Proč? To, že data z databáze prezentuje web napsaný v PHP, znamená podle vás, že se má v PHP napsat všechno, co k té databázi přistupuje?
Jak je videt, clovek se neprestane nikdy ucit.Odporúčam túto knihu, a to bez ohľadu na to, s akou databázou pracujete. Je skvelá: mnohé prístupy sa na metaúrovni dajú použiť aj mimo databáz, pri návrhu a implementácii softvéru ako takého. Kniha okrem iného poukazuje na niektoré mýty spojené s databázami a vyvracia ich; zo všetkých spomeniem len mýtus "prenositeľnosti databázovej aplikácie".
a navíc InnoDb tabulky se narozdíl od MyISAM nesypají (při výpadku proudu apod., doufám, že máte UPS)Co mám zkušenost, tak je to právě naopak. Jasně, MyISAM tabulky po výpadku napájení potřebují opravit, což ale většinou klapne. Na druhou stranu jsme měli případ, kdy se při výpadku napájení rozsypalo InnoDB na celém databázovém stroji.
select * from .. where id= ..
a pripadne select x.* from x join y where x.id=y.id
tak mysql funguje bajecne. Cokoli slozitejsiho funguje skvele do 10 radku dat :)
Nicmene admini u nas preferuji mysql kvuli replikaci, a tim je postgres vyrizenej.
Tu cestu si musí zvolit každý sám. Buď chci plně využívat prostředky nějaké knihovny, os, db a potom se daný program na té platformě stane závislým. Vývoj je velmi rychlý, využívá maximální počet externích (již napsaných) komponent.
Nebo se dám cestou maximální nezávislosti a nebudu používat žádnou hotovou DB (protože průnik schopností všech možných DB je tak na úrovni jednoduché tabulky s key-value funkcionalitou) a budu si to vše psát sám a ten program nebude závislý ani na glibc, ani nebude vyžadovat posix. Ovšem jak dlouho to bude trvat a s jakým výsledkem?
Jistě, tohle jsou extrémy, reálná situace je někde mezi. Ad ten příklad s tou ip adresou. To jsem si nevymyslel jen tak pro srandu. Tady na abc se někdo ptal, jak má do DB uložit IPv4. A bylo mu doporučeno mimo jiné také varchar(15). Považujete to za správné řešení? Asi ne, že. Kdyby se nad tím daný programátor alespoň trochu zamyslel, tak to uloží jako 32b integer. A nejen na základě této zkušenosti bych skutečně doporučovat používat přímo konkrétní datový typ (i s ryzikem, že bude nekompatibilní). Výsledek bude rychlejší a v případě použití funkcí db i správný a bude mu to automaticky fungovat i pro IPv6. To o ip adrese ve stringu(15) a vlastních funkcích v php říct nelze.
Pred 10 lety by takova aplikace nikde nefungovala.
Ano, ta aplikace by před 10 lety na psql nefungovala (což ale nelze říct s jistotou, jelikož před 10 lety to byla zcela jiná app), jenže ona by nefungovala ani z mnoha dalších důvodů. Verze php, externí knihovny (už jenom vůbec jejich existence v novém systému je často problém) apod. Je jen velmi málo větších aplikací, které lze bez problémů provozovat takhle dlouho beze změn.
což PostgreSQL bohužel ne, a mohou to být zrovna důvody proč si vybrat MySQL…Tak nějak si nedovedu představit, pro koho by nepřítomnost 8 a 24 bit intu byla rozhodujícím důvodem pro použití MySQL.
Tak si představte, že máte zpracovávat stovky milionů záznamů ... to je při jednom a jednom sloupci při 100mil záznamů 200MiB navíc.No to si klidně představím, ale na druhou stranu si taky představím, že v každém řádku budou další data a proti celkové velikosti tabulky můžu nějakých pár set mega s klidem zanedbat... Tím chci říct, že pokud bude Postgres se stejnými daty rychlejší, to místo na disku rád obětuju a rozhodně mu nebudu přikládat takovou váhu.
Jak už bylo řečeno, tam, kde se pracuje se stovkami milionů záznamů, obvykle 200 MB nikoho příliš netrápí (jsou i výjimky, ale jsou to jen výjimky). Naopak, existují platformy, kde - aspoň v paměti - neušetříte nic, protože procesor buď s nezarovnanými hodnotami pracovat neumí vůbec nebo to znamená takovou výkonovou penalizaci, že si to každý rozmyslí.
A to nemluvím o rozsahu unsigned int, kde pokud je platný rozsah přes 2GiB musím nasadit 8byte místo 4byte (což je docela častý případ oproti velmi specifickému 24bit int-u).
V takovém případě nechápu, v čem by mi pomohl 24-bitový integer.
Proč si nemohu jenom jeden z těch telefonů označit nějakým příznakem, že je preferovaný?Proč bys nemohl, tady se ale bavíme o vztazích, ne o tom, když se snažíš db zneužít k jinému uložení (pozor na integritní omezení, že jen jeden telefon je preferovaný).
A s původním možná teoreticky dokonalým řešením budu namydlenej.Budeš úplně stejně namydlenej v obou případech :). Protože ono se ti třeba změní zadání a budeš muset preferenci řešit úplně jinak (třeba vícestupňově). Ale přiznej si bez mučení, že teď už se snažíš jenom v diskuzi vyhrát a nic jiného. A to je nuda.
rev
. Svádí to k myšlence, že CouchDB umí nějaké verzování, což není pravda a zjistíte to okamžitě, jakmile pustíte první compaction nebo použijete replikaci.
Ze totiz ti analytici, kteri to delaji 'spravne', potrebuji pgsql. A ti ostatni, ti si vystaci s trochu plossi strukturou a mysqlNemám ponětí, kde jsi k tomuhle kecu přišel.
Engine je součástí definice tabulky, takže nevidím důvod, proč by to někdy mělo fungovat a někdy ne.Když si zvolím na začátku určitý engine, tak to fungovat nebude. Takže obecně v MySQL to někdy funguje a někdy ne.
To, že má PostgreSQL jen jeden, může být naopak plus pro MySQL. To, že má PostgreSQL jen jeden, může být naopak plus pro MySQL.Teoreticky to může být plus, ale v praxi bych řekl, že není. Naopak bych řekl, že je to velký plus pro PostgreSQL, kde všechny vlastnosti fungují. Na MySQL fungují některé vlastnosti v jenom engine, jiné v jiném. Takovýhle zmatek musí mít hodně velké opodstatnění a musí být vyvážen nějakou klíčovou výhodou. Já o žádné takové nevím.
„MySql má unsigned (8/16/24/32/64 bit) INT-y.“
A má k tomu i příslušné funkce a operátory?
„MySql obvykle zabere na disku méně místa.“
Toto je z části pravda a silně to záleží na verzi PostgreSQL se kterou se to srovnává. Nejdřív se komprimovala komprimovatelná data (tuples) nad 2kB, potom se komprimovala všechna data nad 2kB a v dnešní verzi (9.0) už je transparentní komprimace všech datových souborů. Takže výsledná data mohou být na disku menší. Ale toto bych řekl u výběru databázového stroje hraje dost minoritní roli.
Pokud se používají typy s fixní délkou, tak MySQL s MyISAM zabere vždy méně - InnoDB naopak může zabrat více - tam už je to o dost složitější.
Jenže u MyISAM zase člověk přijde o další funkcionalitu. Mělo by se srovnávat srovnatelné (což je dost těžké).
Jsem ještě přemýšlel -- a tady si fakt nejsem jistý jestli šlo o PostgreSQL nebo o něco jiného -- nešlo by také poladit něco jako "page fill ratio", tedy parametr, nakolik se má daná stránka zaplnit a kolik nechat volného místa? Při modifikaci by se musela alokovat nová stránka, ale při použití jako archiv (řádky se nebudou měnit) by to mohlo něco uspořit.
Transparentní komprimaci datových souborů v PostgreSQL určitě nenajdete a to ani v 9.0 :).
Díky za opravu, až moc jsem si to zjednodušil, tou transparentní komprimací jsem myslel komprimaci toustovaných položek.
Postgresql je vyborna databaze, ale vyzaduje mnohem hlubsi znalosti nez mysql. Pokud nemate nikoho kdo takove zkusenosti a znalosti ma, zustante u mysql.Moje zkušenost s potřebou znalostí a zkušeností je opačná. Na PostgreSQL je spousta věcí samozřejmostí, co se na MySQL musejí těžce vylaďovat. Jeden triviální příklad za všechny jsou transakce, základní schopnost všech slušných relačních databází. Na MySQL by default nefungují, na PostgreSQL ano.
Mne v MySQL transakcie defaultne funguju, asi mas v distribucii nejaku staru verziu MySQL.Spíš jsem MySQL přestal používat několik let předtím, než toto dotáhli. Fajn, že se tak stalo, ale (nadšeného) uživatele MySQL už ze mě asi neudělají. Mimochodem, už MySQL umí autentizovat aplikace jinak než heslem napsaným přímo do zdrojáků? To by byl taky adept na vylepšení MySQL. Každopádně díky za (pro mě) novou informaci.
Pozor na to! Mozno sa tym nadsenym uzivatelom stanete.Málokdy se vracím k software, který jsem kvůli jeho nedostatečnosti opustil. Takže velmi pochybuju.
to je vyhoda MySQL ze moze pouzivat rozne enginy, to postgresql nema!Já v tom žádnou výhodu nevidím.
Tiskni Sdílej: