<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Data Base 2 · PoliStudy</title><description>From physical storage, indexing and query optimization to transactions, concurrency control, reliability and active databases — the full Politecnico di Milano Data Base 2 course, rebuilt as an interactive, exam-focused study guide.</description><link>https://www.polistudy.me/</link><language>en</language><item><title>The Database Box: Architecture &amp; ACID</title><link>https://www.polistudy.me/db2/db-architecture-acid/</link><guid isPermaLink="true">https://www.polistudy.me/db2/db-architecture-acid/</guid><description>What Data Base 2 adds to the SQL you already know — the layered machine inside the DBMS, the transaction as an atomic unit of work, the four ACID properties, and exactly which module is on the hook for each. Plus the shape of the written exam, read off fourteen real papers.</description><category>DBMS architecture</category><category>secondary store manager</category><category>buffer manager</category><category>access method manager</category><category>transaction manager</category><category>reliability manager</category><category>concurrency control system</category><category>transaction</category><category>OLTP</category><category>ACID</category><category>atomicity</category><category>consistency</category><category>isolation</category><category>durability</category><category>commit</category><category>rollback</category></item><item><title>Triggers &amp; Active Databases</title><link>https://www.polistudy.me/db2/triggers/</link><guid isPermaLink="true">https://www.polistudy.me/db2/triggers/</guid><description>Event–Condition–Action rules that let the database react on its own. SQL:1999 syntax, transition variables, the BEFORE/AFTER × row/statement grid, execution order, cascading and termination — then the two things exams actually ask for: a correct event inventory and incrementally-maintained derived data.</description><category>active database</category><category>ECA paradigm</category><category>trigger</category><category>transition variable</category><category>transition table</category><category>row-level granularity</category><category>statement-level granularity</category><category>BEFORE trigger</category><category>AFTER trigger</category><category>cascading</category><category>recursive cascading</category><category>triggering graph</category><category>termination analysis</category><category>materialized view</category><category>incremental view maintenance</category><category>SIGNAL</category><category>WHEN clause</category></item><item><title>Physical Storage &amp; Access Structures</title><link>https://www.polistudy.me/db2/physical-storage-indexing/</link><guid isPermaLink="true">https://www.polistudy.me/db2/physical-storage-indexing/</guid><description>How tables actually sit on disk, and what each layout costs. The block-counting cost model, sequential and hash structures, the primary/secondary/clustering index taxonomy, B+ trees, composite indexes and the leftmost-prefix rule — the substrate every query-cost exercise is built on.</description><category>page</category><category>block</category><category>I/O cost model</category><category>block factor</category><category>entry-sequenced structure</category><category>sequentially-ordered structure</category><category>hash structure</category><category>bucket</category><category>load factor</category><category>overflow chain</category><category>index</category><category>search key</category><category>dense index</category><category>sparse index</category><category>primary index</category><category>secondary index</category><category>clustering index</category><category>B+ tree</category><category>B-tree</category><category>fan-out</category><category>composite index</category><category>leftmost prefix</category></item><item><title>Query Optimization &amp; Join Methods</title><link>https://www.polistudy.me/db2/query-optimization/</link><guid isPermaLink="true">https://www.polistudy.me/db2/query-optimization/</guid><description>How one SQL statement becomes one execution plan, and how to price the alternatives. Relation profiles and selectivity, the four join methods and their cost formulas, external merge sort, and the discipline of writing a complete cost formula — the single largest points pool after concurrency.</description><category>query optimizer</category><category>algebraic optimization</category><category>relation profile</category><category>selectivity</category><category>cardinality estimation</category><category>nested-loop join</category><category>indexed nested loop</category><category>scan and lookup</category><category>merge-scan join</category><category>hash join</category><category>external merge sort</category><category>cost-based optimization</category><category>compile-and-store</category><category>buffer pool</category><category>LRU</category><category>EXPLAIN</category><category>join elimination</category></item><item><title>Schedules, Serializability, VSR &amp; CSR</title><link>https://www.polistudy.me/db2/schedules-serializability/</link><guid isPermaLink="true">https://www.polistudy.me/db2/schedules-serializability/</guid><description>The five anomalies concurrency can produce, and the two formal notions of correctness that rule them out — view-serializability and conflict- serializability. The conflict graph, the class hierarchy, and the exam instruction that makes it all pay off: use class inclusion wherever possible.</description><category>anomaly</category><category>lost update</category><category>dirty read</category><category>nonrepeatable read</category><category>phantom update</category><category>phantom insert</category><category>schedule</category><category>serial schedule</category><category>serializable schedule</category><category>commit projection</category><category>view equivalence</category><category>reads-from</category><category>final write</category><category>VSR</category><category>conflict</category><category>conflict equivalence</category><category>CSR</category><category>conflict graph</category><category>blind write</category><category>class inclusion</category></item><item><title>Locking, 2PL, Isolation &amp; Deadlock</title><link>https://www.polistudy.me/db2/locking-2pl/</link><guid isPermaLink="true">https://www.polistudy.me/db2/locking-2pl/</guid><description>The pessimistic answer to concurrency: locks, the two-phase rule that makes them sufficient, strictness that makes aborts safe, the SQL isolation levels built from them, and what to do when transactions wait for each other forever — including Obermarck&apos;s distributed detection and hierarchical intention locks.</description><category>shared lock</category><category>exclusive lock</category><category>lock table</category><category>conflict table</category><category>lock escalation</category><category>two-phase locking</category><category>strict 2PL</category><category>long-duration lock</category><category>predicate lock</category><category>isolation level</category><category>read uncommitted</category><category>read committed</category><category>repeatable read</category><category>serializable</category><category>deadlock</category><category>wait-for graph</category><category>wait-die</category><category>wound-wait</category><category>Obermarck&apos;s algorithm</category><category>update lock</category><category>hierarchical locking</category><category>intention lock</category></item><item><title>Timestamps, Multiversion &amp; Snapshot Isolation</title><link>https://www.polistudy.me/db2/timestamp-mvcc/</link><guid isPermaLink="true">https://www.polistudy.me/db2/timestamp-mvcc/</guid><description>The optimistic answer to concurrency: order transactions by birth date and kill whoever arrives out of order. RTM/WTM bookkeeping, Thomas rule, multiversion timestamps in the exact variant the exercises use, snapshot isolation and write skew — plus where each class sits against 2PL, CSR and VSR.</description><category>optimistic concurrency control</category><category>timestamp</category><category>RTM</category><category>WTM</category><category>TS-mono</category><category>Thomas rule</category><category>obsolete write</category><category>multiversion concurrency control</category><category>version</category><category>TS-multi</category><category>snapshot isolation</category><category>write skew</category><category>first-committer-wins</category><category>Lamport timestamp</category></item><item><title>Reliability: Buffer, Log &amp; Recovery</title><link>https://www.polistudy.me/db2/reliability/</link><guid isPermaLink="true">https://www.polistudy.me/db2/reliability/</guid><description>How atomicity and durability survive a crash. Stable memory, the buffer policies that decide what recovery must do, the log and its two write rules, checkpoints and dumps, and the warm-restart procedure that rebuilds a consistent database from the log.</description><category>reliability manager</category><category>stable memory</category><category>dump</category><category>buffer</category><category>fix</category><category>unfix</category><category>force</category><category>flush</category><category>STEAL</category><category>NO-STEAL</category><category>FORCE</category><category>NO-FORCE</category><category>log</category><category>before-state</category><category>after-state</category><category>UNDO</category><category>REDO</category><category>idempotence</category><category>write-ahead log</category><category>commit rule</category><category>checkpoint</category><category>warm restart</category><category>cold restart</category></item><item><title>Ranking Queries &amp; Top-k Algorithms</title><link>https://www.polistudy.me/db2/ranking-topk/</link><guid isPermaLink="true">https://www.polistudy.me/db2/ranking-topk/</guid><description>Finding the best k objects when &quot;best&quot; is a scoring function over several criteria. Rank aggregation and instance optimality, the geometry of weighted scores, and the four middleware algorithms — B0, FA, TA and NRA — with the stopping rule and access count each one is graded on.</description><category>multi-objective optimization</category><category>rank aggregation</category><category>Borda</category><category>Condorcet</category><category>Kendall tau</category><category>Spearman footrule</category><category>MedRank</category><category>instance optimality</category><category>top-k query</category><category>scoring function</category><category>monotone function</category><category>score space</category><category>sorted access</category><category>random access</category><category>B0</category><category>Fagin&apos;s Algorithm</category><category>Threshold Algorithm</category><category>threshold point</category><category>NRA</category><category>middleware cost</category></item><item><title>Skylines &amp; Dominance</title><link>https://www.polistudy.me/db2/skylines/</link><guid isPermaLink="true">https://www.polistudy.me/db2/skylines/</guid><description>Finding the good objects without inventing weights. Dominance and the skyline, BNL and Sort-Filter-Skyline with the sorting precondition that makes SFS correct, the k-skyband, and the sharp distinction recent exams keep testing — skyline points a weighted sum can never make win.</description><category>dominance</category><category>skyline</category><category>Pareto optimality</category><category>maximal vectors</category><category>potential optimality</category><category>BNL</category><category>Sort-Filter-Skyline</category><category>topological order</category><category>k-skyband</category><category>convex hull</category><category>anti-correlated dataset</category></item><item><title>ORM &amp; JPA: From JDBC to the Entity Manager</title><link>https://www.polistudy.me/db2/jpa-orm/</link><guid isPermaLink="true">https://www.polistudy.me/db2/jpa-orm/</guid><description>Mapping objects to tables without writing SQL. The JDBC boilerplate JPA removes, entities and the persistence context, and the four decisions every exam asks you to justify from data cardinalities — owner, mapped-by, fetch policy and cascade — plus the entity lifecycle and container transactions.</description><category>three-tier architecture</category><category>JDBC</category><category>impedance mismatch</category><category>ORM</category><category>entity</category><category>persistence unit</category><category>persistence context</category><category>managed entity</category><category>entity manager</category><category>JPQL</category><category>join column</category><category>join table</category><category>mappedBy</category><category>fetch policy</category><category>EAGER</category><category>LAZY</category><category>cascade</category><category>orphan removal</category><category>entity lifecycle</category><category>container-managed transaction</category></item></channel></rss>