Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že již v úterý 7. dubna od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout meteorit
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Adabas je výtvor firmy Software AG a jedná se o jeden z těch propracovanějších relačních databázových systémů, které si můžete opatřit. Adabas je vyvíjen od roku 1971, kdy byl navržen pro podporu business aplikací a asi vinou malé podpory a rozdílnosti trhů zůstal ve stínu Oraclu. Výhodou oproti němu může být jednoduchá instalace a malá náročnost na paměť a místo (instalaci si zkusíme v dalších kapitolách).
Adabas je navržen na dvouprocesní struktuře - jádro Adabasu běží jako proces odděleně od aplikačních utilit, takže všechny databázové aktivity a uživatelské processy jsou spravovány centrálně. Počet uživatelů paralelně připojených k databázi není limitován (samozřejmě pouze v rámci licenční politiky). Pro zajímavost uvádím ceny a podporu pro platformu Linux:
Produkt Licence / Roční podpora
(v příkladech dále uváděných se budeme bavit o bezplatné verzi Adabas D Personal Edition v12)
Jinak jsou ze strany Software AG nabízeny různé partnerské modely vztahující se na produkt Adabas D jako je bezplatná vývojářska verze, školení, přístup do systému elektronické podpory. Maximální velikost databáze na Open systémech je 128 TB (takže omezení je prakticky pouze na hardwaru) a přitom uplatňuje pro ukládání dat kompresní mechanismus (udává se komprese cca 50%). Adabas používá systém transakcí (transakce je definována uživatelem a nezmění obsah databáze dokud ji uživatel nepotvrdí), což umožňuje v případě krachu databáze, či systému zajistit konzistenci dat - při startu se provede zrestaurování průběhu transakcí.
Přítup k databázím je umožněn standartně přes ODBC, či JDBC, umožněno je spojení přes SQL klienta a nástroje fy SoftwareAG (Bolero,..). Na obrázku uvedeném níže je vidět struktura přístupu k datům databáze.

Databázové disky se skládají z prostoru obsahujícího samozřejmě samotná data a další "pomocných" jako jsou logovací, pracovní a prostor příkazů. Nad touto částí pracuje jádro(-a) databáze, které uvedené prostory zpracovává a používá. Celý proces práce jádra nad databázovými disky je složitější, ale umožňuje některé vymoženosti, které u "lehčích" databází nenaleznete.
Poslední dobou se Abadas snaží zaměřit na podporu www serverů, spolupráci s XML databázemi. Vývoj můžete poznat i na utilitkách standardně dodávaných s Adabasem, většinou duplicitních, z nichž grafické funkčně nahradily textové. Adabas je multiplatformní aplikace, transakce mohou probíhat v různých SQL dialektech (Adabas, Ansi, Oracle), podporuje databázové procedury a funkce, temporary tabulky a subtransakce. Podrobněji se s administrací a s utilitami seznamíme v dalších kapitolách.
Licenční politika je vedena přes počet simultánních uživatelů databáze, kdy omezení se provádí již při vytváření databáze. Pro studijní a seznamovací potřeby je počet těchto uživatelů omezen na 3.
Databáze ovládají svět - každý se jistě, ač vědomky či nevědomky, setkal s nějakou tou databází. Téměř všem Linuxákům hned vyskočí před oči mysql, ORACLE. Tento seriál se má zabývat ADABASem, jednou z těch méně známých databází, o které je třeba slyšet, ale v praxi už málokdy vidět.
Úvodem bude vhodné pro ty, kteří o databázích slyšeli něco zpovzdálí a chtějí si vyzkoušet instalaci a některý příklad uvedený dále, napsat, o co jde, a co se týká i ADABASu: Databáze (podobně jako file systém) obsahuje určitým způsobem uspořádaná data a toto uspořádání se musí dát popsat souborem určitých pravidel (u "lepších" databází i popisem restrikcí a dalších věcí). Pro uživatele je důležitá ta druhá část, tj. znalost těch pravidel, protože teoreticky je jedno, kde a jak jsou data uložená, ale na základě pravidel musí být tato data dostupná (tzn. s možností výběru, aktualizace, smazání atd.). Tato dostupnost by se měla týkat různých množin dat, které jsou popisovány třeba logickými operátory.
Některé z databází si vystačí s výše uvedeným principem ukládání dat. Databáze "vyššího" typu navíc uplatňují další pravidla a mají další možnosti: mezi ně patří i ošetření duplicit ve sloupcích (restrikce zvaná unique key constraint) Další restrikce primary key constraint je v podstatě kombinace restrikcí not null a unique constraint. Název not null restrikce napovídá, že hodnota v daném sloupci nesmí být prázdná. Restrikce foreign key je vztahová (že by od slova relation?) a umožňuje existenci ve sloupci tabulky pouze těm hodnotám, které jsou uvedeny v jiném sloupci (jiné tabulky). Možná to vypadá jako zbytečnost, ale v případě databází s více než jednou tabulkou se tyto restrikce hodí a můžou udržet smysluplnost dat pohromadě. Ještě jednou připomínám, že tyto restrikce hlídá sama databáze a není nutno je někde v PHP programovat extra.
Pro větší tabulky (asi se vás to nebude týkat, ale pro úplnost doplňuji) se dají definovat při návrhu různé indexy, které umožňují pracovat s tabulkou mnohem rychleji. Setkáte se s výsledky měření rychlosti vyhledávání v tabulce s a bez indexované položky, ale sami se můžete o tom přesvědčit v praxi (pokud máte čas, chuť a nějaké to místo na disku). Stačí vložit cca 1M záznamů do tabulky a zkusit vyhledat některý z nich. Bez indexovaní položky podle které jste vyhledávali se začnete shánět, jak tu "pomalou" databázi zrychlit.
Jak jsem již zmiňoval, některé "lepší databáze" umožňují vylepšit svůj chod různými indexy, zajistit bezporuchovost (integritu) dat včetně managementu databáze (definování prostorů, záloh, dohled procesů, práce s doménami, vzdálená správa) a možnost využití PL-SQL (Jazyk, který se neomezuje pouze na selecty, updaty, inserty a další záležitosti jazyka SQL, ale blíží se už vyšším programovacím jazykům. Hlavně umí cykly, podmínky a podobně.). Mezi ně patří, podobně jako ORACLE, i ADABAS a to může být jeden z hlavních důvodů, proč se uživatel rozhodne právě pro ADABAS, namísto všeobecně oblíbeného mysql (podrobněji se tabulkám a příkladům můžu věnovat v případě zájmu v samostatném díle o práci s daty v databázích).
V příštím díle si ADABAS nainstalujeme a nakonfigurujeme.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: