Vozozhnosti mysqlnd php

Ha nem tudja, mit PHP / 5.3 jön egy új mysql vezető - mysqlnd. Ez számos funkciót és lehetőséget, hogy megkülönböztessék a libmysql.

Az első nem nagyon interestno. Most, amikor fetch'e eredmény nem a memória libmysql másolni a memóriában, ellenőrzése alatt Zend motor. Tény, hogy a teljes eredményt a memóriában tárolt Zend motor. Ez azt jelenti, hogy a minták meghaladó méretű memória korlát most ugyanaz generál a memória. Valószínűleg, értékes, hogy a tulajdonosok tárhely megosztott, de azok számára, akik egy dedikált szerver is kevés haszna van.

A második már interestno. Most akkor le tudja kérdezni az adatbázis nem-blokkoló módon (a dokumentációban, ez a funkció az úgynevezett „aszinkron kérések”, ami szó szerint rosszul). Ez lehetővé teszi, hogy:

  • összevessünk olvasási / írási;
  • végrehajtja az SLA vonatkozásában az adatbázis lekérdezés.

Párhuzamosítás felvétel hasznos lehet, ha egy logikai írási művelet okozza információkat fizikailag felfrissítjük tárolt több szerver. Különösen előnyös lehet, ha a folyamat a legtöbb időt elfoglalt megerősítésre vár az adatbázis e rögzítés (i / o kötött). Az igény „hogy írjon több helyen” előfordulhat, például, ha csinálsz egy szoftver tükre tárol. Első pillantásra tűnhet egy nonszensz, miért nem csak állítsa be a replikációt? Vannak azonban olyan helyzetek, amikor az alkalmazási réteg replikációs előnyösebb, mint a mysql-replikációját. Szintén párhuzamosítás felvétel hasznos lehet az összetett sharding'a mechanizmusokat. Előfordul, hogy a tárgy a rögzítendő nem egy darabnak, és néhány (ez nem egészen egy tükör). Ezek írási műveletek jó jelöltek párhuzamtartó (atom, legalábbis addig, amíg shard'y található fizikailag különböző szervereken).

És természetesen az SLA. Személy szerint mi hiányzott ez nagyon erősen. Ha a kérelem nem tilthatja meg nekünk, akkor technikailag nem tudunk várni az eredményeket annak végrehajtását. Nincs értelme várni természetesen nem, de ne várj tovább, mint szigorúan bizonyos ideig, ez nagyon hasznos. Írtam, mielőtt a nem gyors. Amikor egy kevésbé összetett lekérdezést az adatbázis, akkor nem biztos, hogy mennyi ideig fog tartani, hogy a kérés befejezéséhez. És a felhasználók nem szeretnek várni. Minden bizonnyal tanúja, hogyan tárol a növekvő terhelés lassabb folyamatok meglévő lekérdezések. Ebben a helyzetben az új lekérdezések hólabda hatása. Másrészt lehetséges, hogy az eredmény a számunkra nem annyira szükséges. Nos, azt hiszem, nem mutatják a felhasználó a keresési oldalon, mint az új üzeneteket a „PM”, - nem erre a keresésre kezdeményezett. Nem-blokkoló kérések észre viselkedése, ha azt kérdezzük az adatbázist: „mennyi a Private Message” és nedozhdavshis belül választ meghatározott időkorlát, mintha azt mondaná, „nem nagyon, és szerette volna”, és egyszerűen elrejti a készülék személyes üzeneteket. Sőt, lehetséges, hogy végre egy rendszert, amely az ügyfél sem várva a választ, egy külön ellenőrző kapcsolat lesz legyőzni saját kérésére, így nem generál további terhet ró az adatbázis - úgy tűnik, hogy, és ez így nem édes, ha ő nem volt ideje reagálni időben (természetesen ez nem működik DML kéréseket).