Mysql - miért és miért

Valószínűleg már hallottad a MySQL nevét - ha weboldalakat hoztál létre vagy tartottál fenn, vagy Linux szervereket futtatsz, vagy különböző vállalati szoftvereket fejlesztesz. De még akkor is, ha még nem ismeri ezt a rendkívül hatékony és kényelmes terméket - ez nem számít, akkor elmondjuk Önnek a MySQL használatával és használatával kapcsolatos összes finomságot.






Tehát a MySQL - relációs adatbázis (RDBMS, adatbázis-kezelő rendszer), GPL alatt licencelt nyílt forráskódú (pontosabban - a kettős engedélyt, ingyenes nyílt forráskódú szoftver kereskedelmi alkalmazás díj).

Lássuk először, hogy milyen más adatbázisok vannak a piacon, mert a legtöbb nagyvállalatnak van adatbázisuk az arzenáljukban. Valószínűleg az első, akivel találkozott, a Microsoft Access volt. Ez a "könnyű" adatbázisok tipikus képviselője, amely tökéletesen alkalmas otthoni használatra, a személyes gyűjtemények elszámolására vagy egy kisvállalkozás számára a rutinszerű munka automatizálására. A komolyabb alkalmazásokhoz a "nagy testvér" - a Microsoft SQL Server - szinte mindent már elérhető. A könnyű feldolgozhatóság (- egyszerű szobák nagy szöveges tömbök egységek és tíz MB a különböző adatok, ami azt jelenti, hogy minden oszlop egy tábla tartalmazhat tetszőleges adat tárolható a táblázatokat) másodpercek kérdése az adatbázis kötet a több százezer vagy millió sorok. Ezek a "nehézsúlyok" magukban foglalják az azonos nevű vállalat IBM-DB2 és Oracle adatbázisát is. Mivel szinte minden programozási nyelv létrehozásához használt webes alkalmazásokat, amelyek beépített támogatást ezek a bázisok közvetlenül vagy ODBC-n keresztül, akkor az alapján az adatbázis „ipar” főleg a vállalati portálok és internetes szolgáltatásokat, amelyekre a kritikus terhelés, és megköveteli a munkaképesség nagy mennyiségű adattal. Például PHP nyelven tud dolgozni Sybase, PostgreSQL, MS SQL Server, Oracle, Informix, InterBase, Ingres, valamint bármely más adatbázis ODBC-n keresztül felületen.

A MySQL nem egyedül van a piacon ... Még mindig van egy osztály a "közepes" DBMS - mind az ár és a funkciók eltérnek a fent leírt. Ez a példa, a Borland Interbase, az MS Access, a PostgreSQL és egy speciális témája a beszélgetésünknek - a MySQL. Ezek az adatbázisok meglehetősen egyszerűek a tanulásra és programozásra, olcsóak vagy teljesen ingyenesek, és kiválóan alkalmasak különböző alkalmazások (hagyományos és webes alkalmazások) létrehozására, ahol a hely megbízhatósága és stabilitása nem szükséges.

de számos paraméterhez a legjobb! Miért mondjuk el a MySQL-ről? Mert ingyenes (GPL OpenSource)? Nem csak. Mert ez egy nagyon kicsi adatbázis (csak 25 - 30 MB disztribúció, ellentétben az egész CD MS SQL Server vagy több száz és fél Mb MS Access)? Nem is. Mert nagyon gyors (főleg olvasási műveleteit, ha a dinnye olvassuk az asztaltól, és megjelenik a válasz egy ügyfél kérésére - éppen ezért az adatbázis népszerűvé vált az internetes környezetben, ahol fontos olvasási sebesség)? És ez nem a legfontosabb dolog. Vagy talán azért, mert ez egy nagyon dinamikus termék, a munka eredménye több száz úgynevezett „virtuális” cég MySQL AB (virtuális, mert a dolgozók nem ül ugyanabban az irodában, és szétszóródtak a világban, és folyamatosan kapcsolatban csak az interneten keresztül)? Igen, és ez is, de nem csak. Hogy őszinte legyek, én nem vállalja azt, amit vonzott ez a MySQL - csak egy nap, próbáltam dolgozni vele, és rájöttem, hogy ezentúl minden én projektek bármilyen méretű csak akkor használja az adatbázisban - MySQL!

Számos párhuzamos fejlesztési ág van: most, miután meghatározta az alapot, letöltheti az adatbázis szükséges változatát a www.mysql.com webhelyről. Itt kell leállítani és tisztázni a helyzetet a verziókkal. A MySQL pár verziója párhuzamosan létezik:

  • stabil - MySQL 3.23.xx (és most is a 4.1.xx ág). Ezt a verziót sokan tesztelték és sikeresen működnek több ezer kiszolgálón, ezért ajánlott bármilyen projektben használni;
  • béta verzió fejlesztés, csak az új funkciók megismeréséhez és megismeréséhez ajánlott. Korábban a MySQL 4.xx.xx összes verziója béta állapotban volt.
  • A gamma a következő lépés a béta után, azt jelenti, hogy a DBMS több mint egy hónapig működik jelentős (kritikus) hibák nélkül. Alapvetően biztonságosan alkalmazható, de a fejlesztők arra figyelmeztetnek, hogy ez a verzió még mindig tesztelés alatt áll, és nem garantálják, hogy ez tökéletes.
  • Az alfa csak az igazi rajongók és fejlesztők számára szól. Most ez MySQL 5.0.x. Az alpha verziókban még mindig sok hiba van, de már megpróbálhatja felfedezni a következő verziókban megjelenő funkciókat és funkciókat.

Nem tudom rólad, de azonnal letöltöttem az 5.0.0 verziót (még mindig alfa). Majdnem egy évig tartó kísérletek során az alfa verzió soha nem sikerült - minden úgy működik, mint egy óra. Lehet, hogy a fejlesztők túl van viszontbiztosítva, de a legfontosabb dolog -, hogy nagyon jól működik, így a tájékoztatás és a munka lehet használni, mint a béta Béreában (5.x ág), és az újonnan kiadott verziója MySQL 4.1.h. Különösen igényes alkalmazási lehetőségek lehet használni hosszú ideig bevált és stabil verzió 3.23.h, ha nem kell semmilyen különleges funkciót.

Azonnal azt tanácsolom, hogy töltsön le egy további programot, hogy megkönnyítse az adatbázis használatát - MySQL Administrator. Erről a segédprogramról és egyéb programokról, amelyek jelentősen leegyszerűsítik az adatbázisban végzett munkát, már írtuk: "A MySQL szerver segédprogramjai - adminisztrátorok".

A MySQL adatbázis szerver önálló programként működik. Közvetlenül nem tudsz foglalkozni - erre a célra speciális programok vannak. Egyikük a terminál a mysql - elfogadja a felhasználó parancsaira, és csatlakozik egy MySQL szerver (amely lehet akár egy másik számítógépen a helyi hálózat és a szerver az interneten, vagy ugyanazon a számítógépen - nem számít, Ön, mint egy felhasználó teljesen átlátszó) küldi őket végrehajtása, figyelembe vissza az eredményt (például a kiválasztott adatokat az adatbázisból, vagy a szerver válasza a sikeres befejezése után a művelet vagy hibaüzenet). Más programok közvetlenül kommunikálhatnak a kiszolgálóval, a parancs terminál csak a szerverrel történő kommunikációhoz szükséges.







By the way, MySQL szerver szinte azonnal megmutatja a "nem Windows" eredet - egy egyszerű kattintás a futtatható fájl mysqld-nt.exe nem elég elindítani. A legegyszerűbb mód az, hogy minden grafikus segédprogramot - MySQL Manager vagy MySQL Administrator futtat -, majd indítsuk vagy állítsuk le a kiszolgálót. Az a kérdés, hogy a kiszolgáló indításához / leállításához több különböző paramétert kell megadni, és a parancssorból történő minden egyes tárolás és gépelés kényelmetlen. Korábban, amikor nem volt segédprogram, szükség volt parancsikonok létrehozására és parancsok hozzárendelésére. Most sokkal könnyebb kezelni a kiszolgálót. De a parancsok és a kiszolgáló futtatásának lehetőségei nagyon hasznosak - a parancsok közül a legfontosabbak a "MySQL futtatásban" című cikkben vannak leírva - akkor is képesnek kell lennie arra, hogy "

Mindegyik felhasználói csoportnak saját programja van, minden csoport a MySQL kiszolgálót előnézeti formában látja, és különböző információkra van szüksége a munkához. Természetesen az alkalmazás fejlesztő kell, hogy vezérelje a menedzsment szerver, de ez nem szükséges, hogy bemegy a bonyolult optimalizálási és felhasználói menedzsment - mert ez az adatbázis-kezelő, aki viszont szinte nem zavarja a szerkezet által létrehozott táblázatokat a fejlesztő, és csak beállítani szerver beállításokat és a monitor munkájáért.

Próbáljuk meg röviden átnézni a MySQL-t az átlagos felhasználó, egy kis adminisztrátor és egy kis fejlesztő helyzetéből.

Az alkalmazásfejlesztő szempontjából a MySQL kiszolgálóval való együttműködés az, hogy csatlakozik a kiszolgálóhoz, megnyitja a kapcsolatot a megadott adatbázisban, és együttműködik az adatbázis tábláival. A munkához ismernie kell a kiszolgáló kapcsolati paramétereit (ha a kiszolgáló ugyanazon a számítógépen van, akkor: host: localhost, port: 3306; bejelentkezés / jelszó a rendszergazdából, alapértelmezés szerint root, üres jelszóval) és az adatbázis neve. Továbbá a tablettákkal való interakció az SQL-lekérdezések beadása és végrehajtása, valamint a visszajuttatott eredmények feldolgozása révén történik.

Egy közönséges felhasználó, aki e szolgáltatási bázissal gyakorlatilag nincs üzlet, csak az adatbázisával dolgozhat, és az ügyintéző számára éppen ellenkezőleg: ez szinte mindennapi munkaeszköz.

Most MySQL támogatja klasterizatsiyuChto egyesíti futtató felhasználók adatbázis (újra meg újra, de nem feltétlenül a MySQL) - ez a fő kommunikációs nyelv az SQL szerver - Structured Query Language. Ennek a nyelvnek számos változata létezik, a MySQL még mindig korlátozza az ANSI SQL 92 szintaxist. Igen, fel kell ismernünk, hogy a MySQL adatbázis még nem támogatott egyes szolgáltatásokat és funkciókat, amelyek meghatározott szabványos SQL vagy jelen vannak a másik adatbázis (ugyanabban az Oracle vagy MS SQL Server). De jó okkal -, bizonyos funkciók csak akkor van szükség a fejlesztés rendkívül ellenálló csoportok, mások jelentős hatással van a sebesség, vagy az erőforrás-felhasználás (MySQL fejlesztők mindig támaszkodott sebességét, így gyakran mondják nyíltan, hogy ez vagy az a funkció nem engedélyezett, mert befolyásolja a ráta) . Mivel a MySQL alkalmazás egyik legfontosabb területe a webes fejlesztés és a dinamikus weboldalak karbantartása, ezért ez a pozíció igazolt és nyereséges. De a következő az általános trend, a fejlesztők fokozatosan összehozza lehetőségeket adatbázist és a MySQL «nehéz» - verzió 5.0 (és kezdeti támogatást csoportosítás végrehajtása már a jelenlegi 4.1-es verziója), ami még mindig fejlesztés alatt áll, ez lehetővé teszi, hogy építeni nagyon erős hibatűrő szerverek, és a MySQL Cluster csomag ez létrehoz egy adatbázisban a megbízhatósága 99,999% (5 perc leállás / év), amely azonnal megjelenik a MySQL piac jelentős vállalati döntéseket.

A hosszú tesztek után a "nehéz DBMS" -ből származó egyedi megoldások stabil változatokba esnek. Például tranzakciók támogatása. Egy tranzakció egy sorozatos lekérdezéssorozat egy olyan adatbázisba, amely együttesen vagy egyáltalán nem fut. Ha az első kérés, szúr adatokat egyetlen tábla, a második egy másik, a harmadik pedig beolvassa az összes adatot és feldolgozza, majd a tranzakció soha nem lesz olyan helyzetben, amikor az adatokat az első tábla már ki, és a második még mindig ott van, és az olvasási művelet már végrehajtott és hamis eredményt ad. Ha a tranzakció egy adott tranzakcióján hiba történik, akkor a "visszaállítás" megtörténik, és az adatok megegyeznek a tranzakció végrehajtása előtt. De ha az adatbázis-kiszolgálót "alapértelmezett" üzemmódban használja, az új funkciókat nem fogja észrevenni - ez fontos, ha szoftvereket és adatbázisokat kell áthelyezni az adatbázis korábbi verzióiról. Ha tényleg új szolgáltatásokat kell használnia - ez kézzel történik, SQL parancsok vagy szerver opciók segítségével. Például a tranzakciós támogatást egy új táblázati formátum - InnoDB. Az alapértelmezett érték a szokásos formátuma `MyISAM”, amely univerzális minden változata a szerver (és a platformok), és ha szükséges, hogy hozzáférjen az új lehetőségek - kérjük, ez történik a beállítási lehetőségek létrehozása során a táblázat (CREATE TABLE utasítás után a leírás mezőbe az új tábla írásos javaslatot TYPE = ). Az újítások bevezetésének ez a módja nagyon kényelmes - visszafelé kompatibilitást tartanak fenn, és új lehetőségeket csak akkor alkalmaznak, ha valóban szükség van rájuk.

A MySQL adatbázisban mindenféle adat helyet foglal el, a MySQL által támogatott adatok típusáról. Ez attól függ, hogy milyen adatokat tárolhat a fejlesztő az adatbázisban. Természetesen a jelenlegi numerikus adatokat - egészek (tinyint, MEDIUMINT, INT, BIGINT), és a valódi - (float, double, DECIMAL). Tárolás vagy típusú vonalakat használunk és CHAR VARCHAR, legfeljebb 255 karakter vagy szöveg MEDIMTEXT, LONGTEXT tetszőleges szöveg tárolótömböket. Tárolni bináris adatokat az azonos típusú - BLOB, MEDIUMBLOB, LONGBLOB - a különbség közöttük abban az esetben érzékenység karakterek, és a teljes szöveges keresés (amely támogatja a TEXT és a származtatott típus). A dátum és idő tárolásához DATE, TIME, DATETIME, TIMESTAMP és ÉV szerepel. Olyan felsorolt ​​típusok esetében, amelyek értékei előre vannak meghatározva, két lehetőség van: SET és ENUM. A táblázatban a meghatározott típusú mezők, és szükség esetén az adatok szoftvereinek feldolgozásával kombinálva szinte bármilyen adatot menthetünk és kezelhetünk.

Még mindig kétséges, hogy a MySQL DBMS-t fejleszteni kell-e? Biztosíthatom Önöket, hogy jó munkát végez vállalati szerverként. Vagy úgy gondolja, hogy a MySQL nem képes ellenállni a terhelésnek, és az alkalmazásához jobb, ha egy "nehéz" adatbázist vásárol, mint például az MS SQL Server vagy az Oracle? Próbáljuk meggyőzni.

A MySQL támogatja az 512 GB-os táblázatokat és az adatbázisban legfeljebb 60 ezer táblát. A MySQL valóban támogatja a nagy adatbázisok használatát. Például a táblázat mérete elérheti az 512 GB-ot (nevezetesen a gigabájt). A konkrét méret a táblázatban határozza meg az operációs rendszer, amely alatt a szerver fut (lásd a táblázatot nyújtott egy fájl, így korlátozhatja a maximális mérete az operációs rendszer és fájlrendszer). Intel platformon (32-bit) + Linux / Windows asztal mérete lehet akár 4 GB vagy annál több, és ezek a 512 GB-os lehet beszerezni a Sun Solaris UltraSPARC platformon. Hatásos? A MySQL AB egyéni ügyfelei azt mondták, hogy akár 60 000 táblával (!) Rendelkező adatbázisokkal dolgozhatnak együtt egy adatbázisban és akár 5 milliárd rekordban egy táblában (!!). És most a MySQL Cluster támogatása még magasabbra emeli ezt a számot. Sőt, még ha az operációs rendszer vagy a fájlrendszer nem támogatja a nagy fájlokat, akkor az adatokat szét két vagy több tábla egyetlen - több táblában (fizikailag a több fájl) lesz az adatbázis szintjén (SQL-lekérdezések) feldolgozása és egy nagy asztalként jelenik meg.

Kapcsolódó hivatkozások




Kapcsolódó cikkek