Hogyan adjunk nosql-lekérdezések mysql, integrált memcached, ubuntu 14

Arról, hogy hogyan kell használni memcached és funkcióját, mint egy önálló szerver MySQL, már írt számos kiváló cikkek - például, telepítésével és használatával Memcache az Ubuntu 14.04. De memcached mint egy önálló szerver funkciója van egy köztes, megelőző szintre MySQL-kliens hozzáférés, és csak az az információ, amely a memóriában, lehetősége nélkül a tartós tárolására. Ez lehetővé teszi, hogy végre feladatokat, mint a caching ismételt MySQL-lekérdezés eredményét, amely erőforrásokat takarít meg és optimalizálja betöltött helyek.

De ebben a cikkben fogunk beszélni másról. Memcached van telepítve, mint a MySQL, plug-and szorosan integrált MySQL. Ez létrehoz egy hozzáférési szintet a NoSQL stílusú információ menedzsment közvetlenül a szabványos InnoDB MySQL-táblázatok. Amint világossá válik a cikket, ez ad számos előnye van.

alapvető információk

Ahhoz, hogy megértsük, mi forog kockán ebben a cikkben, akkor szükség van legalább egy általános képet, amit a NoSQL és memcached. NoSQL működik információ formájában elemek „kulcs-érték (ek).” Ez egyszerűbb megközelítés, mint a szabványos SQL. Sőt, ez biztosítja nagyobb hatékonyságot és jobb skálázás, ami különösen fontos a dolgozó nagy adatmennyiségek (Big Data).

De ahhoz, hogy cserélje ki a szabványos SQL csak egy jó teljesítmény NoSQL elég. Egyszerűsége a miatt, NoSQL nem alkalmas munka strukturált adatokat tartalmazó összetett kapcsolat. Ezért NoSQL inkább nevezhető fontos kiegészítője SQL, hanem helyette.

Ami memcached, lehet nevezni egy népszerű végrehajtása NoSQL. Ez egy nagyon gyors program, és amint az a neve, van egy másik caching mechanizmusokat. Ezért memcached egy nagyszerű választás, hogy stílust kell NoSQL MySQL hagyományos stílusban.

Is, akkor szükség van egy alapvető ismereteket a memcached protokollt. Memcached fut elemekkel, amelyek a következő komponenseket:

  • Key () - alfanumerikus érték, ami a legfontosabb, hogy hozzáférjen a értéke elem.
  • Érték (Value) - tetszőleges adat, amely tárolja a legfontosabb része a továbbított adatok.
  • Flag (Zászló) - általában ez az érték használható, hogy további paramétereket kapcsolatos alapvető érték. Például, egy zászló, vagy nem használja tömörítést.
  • Lejárati időt (lejárat) - a lejárati időt másodpercben. Ne felejtsük el, hogy memcached eredetileg tervezett cache-t.
  • CAS érték (Value CAS) - egy egyedi azonosítót minden egyes tételt.

követelmények

A vizsgálatot a cikkben leírt, végeztek Ubuntu 14.04. Leírt telepítési és konfigurálási folyamat itt is hasonló a konfigurálási folyamatot más operációs rendszerek vagy változatait is, de a csapat és a helyét a konfigurációs fájl eltérhetnek.

Szükséged lesz a következő:

  • Egy nemrég telepített Ubuntu 14.04
  • Nem root felhasználó sudo jogosultságokkal

Minden parancsot ebben a cikkben ismertetett kell végezni a felhasználó által nem root. Ha a parancs root jogosultságot, akkor stand előtt a sudo. Ha nem állította be, akkor az ide: eredetileg kiszolgáló beállítása Ubuntu 14.04.

1. lépés - telepítése MySQL 5.6

memcached MySQL plug-in áll rendelkezésre változatai MySQL 5.6.6 felett. Ez azt jelenti, hogy használat MySQL csomag (5.5 verzió) a szabvány tárháza Ubuntu 14.04 nem fog működni. Ehelyett tegye a következőket:

  1. Add a hivatalos MySQL tároló
  2. Telepítse a MySQL-szerver és a kliens könyvtárak

Először is, menj MySQL adattár és töltse le a csomagot, amely a MySQL-store az Ubuntu 14.04. Azt is le a csomagot közvetlenül a kiszolgálón:

Majd telepíteni dpkg:

Ez a parancs jelenik meg a két kérdés egy párbeszédablak:

  1. Mi MySQL terméket szeretne beállítani? Válasz Server.
  2. Melyik verzió a szerver szeretne kapni? Válasz mysql-5.6.

Megválaszolása után a két kérdés lesz irányítva az első kérdésre a termékről, hogy a telepíteni kívánt. Kattintson «Apply» (alkalmazni) az alsó erősítse meg a választást, és lépjen ki a párbeszédablak.

Most, hogy van egy új MySQL adattár, frissítenie kell az apt cache. azaz tájékoztatás a rendelkezésre álló csomagok Ubuntun. Így, ha telepíti a MySQL, akkor el kell távolítani az új áruház. Ha frissíteni az apt cache, futtassa a következő parancsot:

Most már lehet telepíteni MySQL 5.6 Ubuntu 14.04 a következő parancsot:

Amikor ezt a parancsot, akkor ki kell választania egy root-password (rendszergazdai jelszó) MySQL. Az egyszerűség kedvéért, akkor nem lehet beállítani egy jelszót, ezen a ponton, és jelszókéréskor, egyszerűen nyomja meg az ENTER billentyűt. De ha úgy dönt, hogy használja ezt a szerver, MySQL a biztonságos szereléshez ajánlott végrehajtani a parancsot sudo mysql_secure_installation és a gyökér-jelszót.

Befejezése után a telepítési folyamat, akkor telepített MySQL szerver verzió 5.6, a parancssori ügyfél és a szükséges könyvtárakat. Meg tudja nézni a rendszert futtató kliens az alábbi paranccsal:

A jelszó beállításához, meg kell futtatni a következő parancsot, amikor megkérdezi, hogy írja be a jelszót a root-jelszót MySQL:

Látni fogja a következő:

Marad a MySQL ablakban (ügyfélterminál), hozzon létre egy új adatbázist nevű teszt:

Ez a bázis van szükség a további vizsgálathoz. Hogy kilépjen a MySQL-kliens, írja be:

Végül, akkor is kell telepíteni a csomagot aszinkron értesítések - libevent-dev. Ehhez az alábbi parancsot:

2. lépés - Állítsa be a plugin MySQL memcached

Mielőtt telepítené a plug-in memcached kell végrehajtani lekérdezést, amelyek /usr/share/mysql/innodb_memcached_config.sql fájlt. Indítsuk el a MySQL-ügyfél:

vagy, ha meg a jelszót:

Ezzel a paranccsal létrehoz minden szükséges beállításokat a plug-in bázis innodb_memcache adatokat. és helyezze néhány vizsgálati adatokat az újonnan létrehozott adatbázis teszt.

Ezután kövesse memcached dugó telepítés MySQL terminál segítségével a következő parancsot:

Exit ülés MySQL:

Tehát, ha van telepítve memcached bővítmény a mappa / usr / lib / mysql / plugint / Ubuntu 14.04. Ez a fájl csak a MySQL 5.6 és újabb.

Miután a sor [mysqld] egy új sort:

Ez a parancs memcached bővítmény ckonfiguriruet hallgatóból port 11222. amelyik csak az IP 127.0.0.1. Ez azt jelenti, hogy az ügyfelek csak akkor lesz képes csatlakozni a szerverhez. Ha nem adja meg az IP (-l 127.0.0.1), akkor zökkenőmentesen csatlakozni abszolút minden ügyfél, és ez komoly biztonsági fenyegetést. Ha szeretne többet megtudni a biztonsági memcached plugin látható a dokumentációt a biztonsági kérdéseket.

Kezdeni egy új hallgatási eljárás memcached bővítményt, indítsa újra a MySQL-szerver az alábbi paranccsal:

3. lépés - Tesztelés a plug-memcached

Annak igazolására, hogy a telepítés sikeres volt, futtassa a következő parancsot a MySQL-kliens (ügyfél elkezdi használni mysql -u root vagy mysql -u root -p):

Ha minden megfelelően működik, akkor olvassa el az alábbi (valószínűleg a végén a bővítmények listáját):

Ellenkező esetben győződjön meg róla, hogy a MySQL 5.6 (magasabb 6.5.19 mert ez a verzió nem működik) vagy magasabb, és hogy kövesse a telepítési folyamat a fent leírt. Tudod is megpróbál csatlakozni a felületet az új plug-in memcached telnet a szerverre:

Ha sikeresen csatlakozik a kimeneti vonal fog látni:

Annak ellenőrzésére, hogy a kapcsolat, akkor végre a parancsot, mint a statisztika. hogy a statisztika. Az ablak bezárásához nyomja meg egyszerre a CTRL és] a billentyűzeten. Ezután írja kilép, kilép a Telnet kliens.

Telnet a legegyszerűbb módja annak, hogy csatlakozzon a memcached dugó, és az adatok is MySQL. Ez a módszer kiválóan alkalmas a tesztelés, de ha úgy dönt, hogy használja a professzionális módon, akkor nézd meg az elérhető könyvtárak népszerű programozási nyelvek (pl PHP, Python).

4. lépés - végrehajtása NoSQL-through lekérdezéseket MySQL memcached bővítmény

Ha megy vissza, hogy része a cikket, amely leírja a telepítés memcached bővítmény, látni fogja, hogy mi végzett üzemeltetői /usr/share/mysql/innodb_memcached_config.sql fájlt. Ezek a kijelentések létre a teszt adatbázis új tábla demo_test. Táblázat demo_test a következő oszlopok megfelelő protokoll memcached:

  • c1 megfelel a mező kulcs ().
  • c2 értékének felel meg mező (érték).
  • c3 megfelel a mező flag (zászló).
  • c4 felel CAS területen.
  • c5 megfelel lejárati mező (efflux).

Segítségével a táblázatban demo_test fogunk tesztelni. A kezdéshez nyissa meg az adatbázist / table keresztül MySQL-kliens használható az alábbi parancsot:

Vagy, ha olyan jelszót MySQL:

A demo_tes t táblázatban meg már egy bejegyzést:

Az eredmények a következőképpen néz ki:

Exit ülés MySQL:

Most hozzon létre egy második rekord használatával memcached és telnet NoSQL felületen. Kösse vissza a munkaállomás TCP-port 11222:

Ezután használja a következő parancsot:

Megjegyezzük, hogy az alkatrész érték (érték) kell helyezni a következő sorban. Továbbá, amikor a fent leírt módszer minden rekord van szükség, mint egy értéket, hogy jelezze hossza bitben.

Példaként hozzunk létre egy új bejegyzést (bejegyzés a tábla), newkey gombot. értéke 0 a zászló és a értéke 0 az áramlás (offline lejárati idő). Jelentés - 12 bit hosszúságú.

set newkey 0 0 12 NewTestValue

Persze, akkor is kivonat értékét a NoSQL felületen. Ezt meg lehet tenni a get paranccsal. ami után meg kell adnia a nevét a kulcs az eltávolítani kívánt. Elhagyása nélkül telnetkapcsolat, írja be:

Az eredmény így kell kinéznie:

A fent említett parancs készlet és a dolgozó bármely memcached szerver. Itt van néhány egyszerű példát, hogyan kell behelyezni és eltávolítani a bejegyzéseket a NoSQL stílusban.

A táblázatban egy új bejegyzést kell megjelennie:

Ezen a ponton akkor vajon hol memcached bővítmény tudja, hogy melyik adatbázis és tábla kapcsolódni és hogyan kell megjeleníteni az adatokat a táblázat oszlopait. A válasz abban rejlik alapján innodb_memcache a táblázat adatainak tartályba.

Végezze el az alábbi nyilatkozatot válasszon:

Látni fogja a következő:

Ha azt szeretnénk többet megtudni, hogyan lehet létrehozni a különböző megjelenítési és tanulmányozza a fejlett memcached bővítmény, olvassa el az oldalon, ami a belső szerkezet memcached plugin.

Előnyei MySQL integráció plug-memcached

A fenti információk és példák azonosítani néhány fontos előnye a MySQL integráció NoSQL keresztül memcached plugin:

Minden adat (MySQL és NoSQL) vannak tárolva egy helyen. Nem kell telepíteni és fenntartani további szoftverek NoSQL-adatbázisban. Retentive, helyreállítási és replikációs NoSQL-adatbázis lehetővé egy erős motor lnnoDB.

Hihetetlenül gyors adatelérési réteg memcached továbbra is használható, hogy a munka nagy mennyiségű információ (vö munkáját a lassabb a MySQL-kliens).

NoSQL-adatok is vezérelhető az interfész és a MySQL szintaxis. Tehát akkor is NoSQL-adatok bonyolultabb SQL-lekérdezések (pl szereplők bal csatlakoznak).

következtetés

Kapcsolódó cikkek