Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Články v rubrice Databáze

Ukládáme hierarchická data v databázi - III

V minulých dvou dílech jsme si ukázali rozdíl mezi „klasickou“ cestou ukládání stromu a představili jsme si metodu MPTT. Předtím, než se zběsile vrhneme do implementace v rámci našich CMS, podívejte se, na jaké problémy jsme během tří let narazili my.

Ukládáme hierarchická data v databázi – II

V minulém díle miniseriálu jsme si osvěžili klasickou metodu ukládání stromů do databáze tak, jak ji každý z nás zná. Dnes se podíváme na tzv. MPTT – traverzování kolem stromu. Rovnou se podíváme i na reálnou implementaci tak, jak ji můžete použít ve svých projektech.

Ukládáme hierarchická data v databázi – I

Ať už chcete vytvořit vlastní fórum, publikovat zprávy z mailing listů nebo vytvářet vlastní cms, budou případy, kdy budete chtít ukládat hierarchická data do databáze. A pokud nepoužíváte databázi na principu XML, tabulky nebudou hierarchické – jsou jen plochým seznamem. Proto budeme muset najít způsob, jak přeložit hierarchii do plochého souboru.

Architektura aplikace nad Doctrine 2

O Doctrine 2 je na webu dostatek informací – i na Zdrojáku je poměrně podrobně popsáno, jak Doctrine používat, jak s ním pracovat a jak v něm psát i složitější úlohy. Tento článek ukáže nikoli samotný ORM, ale aplikaci, která jej používá, a možné problémy, na které při vývoji narazíte.

Fulltext vyhľadávanie v CouchDB, pokročilé hľadanie.

V minulej časti sme sa naučili, ako pomocou Lucene rýchlo a jednoducho vyhľadávať v CouchDB. Dnes sa pozrieme okrem iného na to, ako sa vysporiadať s použitím diakritiky pri vyhľadávaní v našej databáze.

Fulltext vyhľadávanie v CouchDB

O CouchDB bolo už na Zdrojáku napísaných množstvo článkov. Od miniseriálu Jakuba Kulhana až po preklad kompletného sprievodcu CouchDB od Martina Malého. Dnes si ukážeme základné možnosti fulltextového vyhľadávania s nástrojom Lucene v tejto čoraz populárnejšej databáze.

Kompletní průvodce po CouchDB - VI - Využití pohledů

Základní součástí dokumentové databáze CouchDB jsou takzvané pohledy (views). Jedná se o velmi mocný nástroj založený na algoritmu Map-Reduce, pomocí kterého přistupujeme k uloženým datům, pomocí kterého můžeme zpracovávat jen vybrané dokumenty, řadit je a vyhledávat dle určitých kritérií a počítat s nimi.

ORM je antipattern

Do diskusí o ORM, NotORM, SQL, noSQL a dalších tentokrát přidáme jeden poměrně radikální názor na ORM. Jeho autor vzbudil tímto článkem poměrně silnou a ostře polarizovanou diskusi mezi vývojáři. Přesto jeho argumenty stojí minimálně za přečtení a zamyšlení. Souhlasíte s nimi? Nesouhlasíte?

Kompletní průvodce po CouchDB - V - Návrhové dokumenty

Na databázi CouchDB je velmi zajímavá možnost hostování kompletní webové aplikace (CouchApp). CouchDB dokáže fungovat jako WWW server a zastat tak práci databáze, serveru i dynamického jazyka. Základem pro tyto funkce jsou návrhové dokumenty (design documents), které obsahují potřebnou aplikační logiku.

Kompletní průvodce po CouchDB - IV

V této kapitole probereme detailněji práci s CouchDB API, ukážeme si osvědčené postupy a provedeme vás přes obvyklé pasti. Začneme základními operacemi, popsanými v minulé kapitole, a podíváme se, co se děje pod pokličkou a co používá Futon k tomu, aby vám mohl nabídnout všechny ty pěkné funkce.

Kompletní průvodce po CouchDB - III

Po dvou teoretičtějších částech konečně opravdu začínáme. V této kapitole Kompletního průvodce po CouchDB si ukážeme, jak k CouchDB přistupovat pomocí HTTP dotazů a jak spustit a použít zabudovaný administrační nástroj Futon. Vytvoříme si první dokument a podíváme se, jak pracovat s pohledy (views).

Kompletní průvodce po CouchDB - II

Druhá kapitola Kompletního průvodce je věnována problematice konzistence dat, CAP teorému a principu, nazývanému „Eventual Consistency“ – přeložitelnému nejlépe jako „výsledná shoda“. Podíváme se podrobněji na to, jak CouchDB pracuje s verzemi dokumentů a jak řeší jejich konflikty. Relax.

Kompletní průvodce po CouchDB - I

Dokumentově orientovaná databáze CouchDB, vyvíjená pod křídly Apache Foundation, nabízí některé zajímavé možnosti. Kromě obvyklých NoSQL vymožeností, jako je snadná replikovatelnost a vysoká rychlost operací, ji můžete využít, ve spojení s frameworkem CouchApp, i pro běh webových aplikací přímo v ní samotné.

Praktické použitie MongoDB v .NET

NoSQL databázy naberajú v súčasnosti na populárnosti, dlhšie som sa chystal nejakú z nich vyskúšať. Pri práci na aktuálnom projekte som mal na to konečne možnosť, zvolil som riešenie Microsoft .NET.

Přechod z MySQL na CouchDB: Druhý díl

V předcházejícím článku jsme si ukázali základy toho, jak pracuje MySQL a CouchDB, porovnali jsme postupy jak modelovat data, a také jsme si ukázali, jak fungují základní dotazy a seznamy záznamů, a to jak pomocí SQL dotazů v MySQL, tak i s použitím pohledů (view) v CouchDB.

Přechod z MySQL na CouchDB, část první

Pokud máte databázi postavenou na MySQL, možná jste zvědaví, jestli, a hlavně jak, je možné s vaší databází přejít na CouchDB. Největší překážkou není technická stránka vytvoření CouchDB nebo ukládání informací; nejnáročnější je začít uvažovat o datech jiným způsobem a uvědomit si, jak to změní logiku vaší aplikace.

SQL Server Compact 4

V posledních letech si vydobyla velkou popularitu databáze SQLite, a to především díky své nenáročnosti a možnosti „přibalit“ ji k aplikaci a využít jako embedded SQL. I Microsoft má podobnou databázi, kterou lze využít ve spojení např. s IIS či pro desktopové aplikace, nazývanou SQL Server CE.

Videotutoriál Doctrine 2 a NotORM: ukládání dat

V druhé části subjektivního srovnávání Doctrine 2 a NotORM se autor Jakub Vrána zaměří na ukládání dat do databáze v obou těchto systémech.

Doctrine 2: událostní handlery

V dnešním dílu budeme pokračovat v navěšování vlastních funkcí na události v rámci životního cyklu entity. Projdeme podrobněji práci s jednotlivými handlery pro různé typy událostí, ukážeme si jejich specifika a konkrétní praktické příklady.

Doctrine 2 a NotORM - videotutoriál

Seriál o Doctrine 2 od Honzy Tichého vzbuzuje mnohé diskuse. Jedním z vášnivých diskutujících je i autor následujícího textu z rubriky Subjektivně, Jakub Vrána. Rozhodl se na Doctrine 2 podívat kritickým okem a srovnat přístup tohoto ORM řešení s přístupem, který použil ve své knihovně NotORM.

Doctrine 2: události

V předchozích dílech seriálu jsme si představili základní možnosti Doctrine 2. S nimi dokážete zajistit jednoduché mapování objektů na databázi. Dnes a příště se podíváme na první z pokročilejších témat, a to na životní cyklus entity, události, listenery a subscribery.

Doctrine 2: Query Builder a nativní SQL

V předchozím dílu jsme si představili dotazovací jazyk DQL (Doctrine Query Language). Při práci s Doctrine 2 nejste ale omezeni pouze na DQL. Dneska si ukážeme další dvě cesty, jak si v Doctrine 2 připravit dotaz do databáze – Query Builder a nativní SQL.

Doctrine 2: DQL

Dotazovací jazyk DQL (Doctrine Query Language) je jednou z nejsilnějších zbraní Doctrine 2. Kombinuje v sobě přímočarost dotazovacího jazyka SQL a nezávislost objektové entitní vrstvy modelu. Pokud berete práci s Doctrine 2 alespoň trochu vážně, bez DQL se rozhodně neobejdete.

Doctrine 2: práce s asociacemi

Dnes budeme pokračovat v tématu asociací v Doctrine 2. Představíme si možnosti kaskádového peristování, odpojování a mazání. Podíváme se podrobněji na kolekce a práci s nimi. Nejprve si ale ukážeme správné postupy při definicích getterů, setterů a dalších obslužných funkcí pro manipulaci s asociacemi.

Redis: key-value databáze v paměti i na disku

Se sociálními sítěmi přišly i zvýšené nároky na uskladnění a filtrování obrovského množství dat. Klasické relační databáze ztrácely dech a bylo potřeba najít něco jednoduššího, co zvládne miliony požadavků za sekundu. Takových databází je celá řada. Někde uprostřed stojí Redis, a o něm si teď povíme.

Doctrine 2: asociace

Asociace jsou v terminologii ORM analogií ke vztahům mezi tabulkami u relačních databází. Je to jednoduše způsob, jak namapovat vazby mezi entitami na cizí klíče v databázových tabulkách. V článku si ukážeme, jak s těmito asociacemi pracovat v ORM Doctrine 2.

Doctrine 2: načítání, ukládání a mazání

Seriál o novinkách, které pro vývojáře v PHP přináší databázová knihovna (ORM) Doctrine 2, pokračuje. V ukázkách minulých dílů jsme se letmo dotkli Entity Manageru. Dnes se na něj podíváme podrobněji a ukážeme si základní způsoby, jak své entity načítat, ukládat a mazat.

Doctrine 2: pokročilá definice entit

V minulém díle seriálu jsme nakousli téma entit v Doctrine 2. Dnes budeme s entitami pokračovat a podíváme se na některé pokročilejší možnosti jejich definice a práce s nimi.

Doctrine 2: základní definice entit

V úvodním článku seriálu jsme si systém Doctrine 2 obecně představili, ukázali si, kde jej stáhnout a jak jej nainstalovat. Dneska se pustíme do skutečné práce, řekneme si, co jsou vlastně entity a jak se s nimi v Doctrine 2 pracuje. Téma nám vydrží až do příště.

Doctrine 2: úvod do systému

Doctrine 2 je nový ORM framework pro jazyk PHP. V porovnání s již existujícími systémy pro mapování objektů na relační databázi přináší zajímavý posun a má velkou šanci stát se v budoucnu převládajícím ORM pro aplikace psané v jazyce PHP. V několika dílech tohoto seriálu si Doctrine 2 postupně představíme.