MySQL: Нұсқалар арасындағы айырмашылық
Content deleted Content added
ш r2.7.2) (Боттың түзеткені: ml:മൈഎസ്ക്യുഎൽ |
Өңдеу түйіні жоқ |
||
1-жол:
<p>
<b>MySQL</b> – дүние жүзінде ең көп қолданылатын, қайнары тегін және ашық, реляциялық мәліметтер қоры жүйесі (RDBMS). Серверлік бағдарлама ретінде, бірнеше қолданушыларға бірнеше мәліметтер қорын қолдануды қамтамасыз етеді. MySQL сөзіндегі "My" сөзі, бағдарлама жасаушысы Майкл Видньюс-тың (Michael Widenius) қызының аты - "My" сөзінен алынған. Ал SQL фразасы - Құрылымдасқан Тапсырыс Тілі (Structured Query Language) дегенді білдіреді.
<p>MySQL, проект қайнарын GNU General Public License (GPL) және әр түрлі жеке меншік лицензияларында шығарды. MySQL-ды кезінде MySQL AP атты Шведттық фирма демеу еткен, ал қазір оны толығымен Oracle корпорациясы сатып алды.</p>
<p>Толық функционалды мәліметтер қорын қажет ететін, қайнары тегін проекттер жиі MySQL-ды қолданады. Серверді коммерциялық проекттерде қолдану үшін, қосымша функциялармен ұсынылатын бірнеше нұсқалары бар. MySQL-ді қолданатын бағдарламаларға TYPO3, Joomla, WordPress, phpBB, MyBB, Drupal және де басқа LAMP бағдарламаларын жатқызуға болады. MySQL сонымен қатар Google, Wikipedia, Facebook және Twitter сияқты дүниежүзілік және кең ауқымды web-бағдарламаларында қолданылады.</p>
==Қолданылуы==
<p>
Веб-бағдарламаларында MySQL кең қолданылады және кең тараған LAMP бағдарламаларының ішінде басты компонент рөлін атқарады. LAMP сөзі - "Linux, Apache, MySQL, Perl/PHP/Python" сөйлемінің акронимі.
</p>
<p>
MySQL - қайнары тегін бағдарламалар мен Интернеттегі танымал Flickr, Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында қолданылады.
<
==Платформалар және бағдарламашының қолдану интерфейстері (API)==
<p>MySQL - C және C++ тілдерінде, ал SQL парсері және sql_lex.cc деп аталатын лекксикалық анализаторы yacc тілінде жасалған.</p>
<p>MySQL көптеген жүйелер платформаларында жұмыс істейді. Оларға кіретіндер: AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos және Tru64. Сонымен қатар OpenVMS жүйесіне портталған түрі бар.</p>
<p>Мәліметтер қорымен жұмыс істеу үшін, көптеген бағдарламалау тілдеріне кітапханалар жасалынған. Мысалы, C# және VB.NET үшін MySQL Connector/Net, ал Java үшін JDBC драйвері. Бұнымен қатар ODBC интерфейсін қолдайтын ASP және ColdFusion сияқты тілдер үшін MyODBC кітапханалары бар. Ал URL арқылы кез-келген web-клиенттің MySQL серверімен араласуға мүмкіндік беретін HTSQL технологиясы, MySQL-серверімен бірге келеді.</p>
==Басқару және графикалық интерфейсті клиенттер==
<p>
MySQL көбінесе реляциялық мәліметтер қоры ретінде қолданылатындықтан ол, жүйені және ондағы мәліметтерді басқаруға арналған клиенттік бағдарламамен келмейді. Оның орнына, өзінің командалық жолмен орындалатын құралдарын немесе басқалар жасаған клиенттік бағдарламаларын жүктеп алып қолдануға болады.
</p>
===Ресми бағдарламалар===
Графикалық интерфейсте MySQL мәліметтер қорын басқаруға және олардың структурасын жасау үшін, MySQL AB фирмасы MySQL Workbench атты бағдарламасын шығарды. Ол бұғанға дейін болған MySQL GUI Tools бағдарламасының орнына келді. MySQL Workbench қолданушыларға келесідей мүмкіншіліктер ұсынады:
* Мәліметтер қорын дизайндау және модельдеу
* SQL бағдарламалау - MySQL Query Browser бағдарламасының орнына
* Мәліметтер қорын басқару - MySQL Administrator-дың орнына
MySQL Workbench екі нұсқада келеді, Олар, қайнары тегін қоғамдастық нұсқасы (Community Edition) және қосымша мүмкіншіліктері бар стандартты нұсқасы (Standard Edition).
===Басқа бағдарламалар===
MySQL серверімен жұмыс істеуге және оны басқаруға арналған басқа да клиенттік бағдарламалар бар. Кейбір кең қолданылатындары төменде алфавит бойынша тізімделген:
* Adminer - CSS стилін қолдануға болатын, бір ғана PHP скрипттен және бірнеше мәліметтер қорымен жұмыс істей алатын, тегін клиенттік бағдарлама.
* DaDaBIK - мәліметтер қорына CRUD операцияларын web арқылы жасауға мүмкіндік беретін, қайнары ашық және тегін PHP тілінде жасалған клиенттік бағдарлама.
* DBEdit – MySQL және басқа да мәліметтер қорын басқаруға арналған тегін бағдарлама.
* dbForge GUI Tools — схемаларды және мәліметтерді салыстыруға және синхрондауға, тапсырыстарды құруға арналған жеке модульдерден тұратын бағдарлама.
* HeidiSQL – Windows платформасына арналған толық функционалды клиенттік бағдарлама. Басқару жүйесіне жергілікті және алыстағы компьютердегі мәліметтер қорын, кестелерді, кесте бағаналарын және жеке мәлімет жолын өңдеу операциялары жатады. Сонымен қатар уақыт/күн және бірнеше мәндік типті жолдарды өзгертуге арналған клиенттік функциялары бар.
* LibreOffice Base - мәліметтер қорын жасауға және басқаруға, қолданушыларға мәліметпен жұмыс істеу ыңғайлы және түсінікті болу үшін мәліметке есептемелер мен олардың формаларын жасауға мүмкіндік береді. Microsoft Access сияқты - Access, ODBC, MySQL және PostgreSQL мәліметтер қорына клиенттік бағдарлама ретінде қолдануға болады.
* Navicat – Windows, Macintosh және Linux операциялық жүйелеріне арналған мәліметтер қорын басқаруға арналған графикалық бағдарламалардан тұратын бағдарламалар жиынтығы.
* OpenOffice.org – OpenOffice.org Base, MySQL мәліметтер қорын басқара алады. (Ол үшін тегін және қайнары ашық OpenOffice.org suite бағдарламасын толығымен орнату керек.)
* phpMyAdmin – тегін web арқылы қолдануға арналған және көбінесе web-hosting-тарда кең қолданылатын web-бағдарлама. Ол PHP-да жасалғандықтан, LAMP, MAMP, және WAMP бағдарламаларының ішінде кең қолданылады.
* SQLBuddy - PHP-да жасалған тегін web-бағдарлама.
* Sequel Pro - Mac OS X операциялық жүйесіне арналған тегін және қайнары ашық бағдарлама-клиент.
* SQLYog - MySQL-ды басқаруға арналған тегін немесе ақылы бағдарлама. Бұлардың бірнеше нұсқалары бар: Community, Ultimate, Enterprise және Professional. Қоғамдастық нұсқасы (Community Edition) тегін және қайнары ашық бағдарлама.
* Toad for MySQL – Quest Software компаниясының MySQL-ді басқаруға арналған тегін клиенттік бағдарламасы.
Бұлардан басқа ақылы бағдарламарға кіретіндер dbForge Studio for MySQL, Epictetus, Oracle SQL Developer, SchemaBank, SQLPro SQL Client, Toad Data Modeler.
===Командалық жолмен басқару===
MySQL бірнеше командалық жолмен орындалатын құралдармен келеді. Олар мәліметтерге тапсырыс, мәліметтерді мұрағаттау, сервер статусын қадағалау, мәліметтер қорын жасау және т.б. Сонымен қатар командалық жолмен орындалатын басқалар жасаған бағдарламалар да бар. Мысалы, Perl-да жасалған Maatkit бағдарламасы.
==Серверге орнату==
<p>
MySQL серверін қайнардың өзінен жинап орнатуға болады. Бірақ бұл біршама уақыт қажет ететін және жалықтыратын процесс. Бұл операция көбінесе егер сізге ерекше конфигурацияда сервер қажет болса ғана істеледі. Linux операциялық жүйесінің бағдарлама пакеттерін басқаруға арналған жүйесі бұндай жұмыстарды минималды қимылмен орындатқызады. Дей тұрғанмен, әдетте орнатудан кейін қауіпсіздік және оңтайландыруға байланысты конфигурациялық жұмыстар жасау керек болады.
</p>
<p>
MySQL нарықтағы ірі және ақылы мәліметтер қорларына балама ретінде жасалса да, кең ауқымды мәліметтерге байланысты талаптарды орындай алады. Ол көбінесе кіші және орта көлемді бір-серверлік LAMP-негізінде жасалған бағдарламаларға компонент ретінде немесе жеке сервер ретінде қолданылады. MySQL-ге деген тартымдылық - оны қолдану оңайлығында. Мүны phpMyAdmin сияқты қайнары ашық және тегін бағдарламалардан көруге болады. Орта бағамен есептегенде, MySQL-ді бірнеше гигабайт жадты және бірнеше процессорлы қуатты аппараттық құрылғыларда ауқымды етіп қолдану әбден мүмкін. Бірақ та жалғыз серверлік ауқымдатуда қуаттылық жағынан шектеулер бар, сондықтан кеңірек ауқымдатуда, жоғары өнімділік пен сенімделікті қамтамасыздандыру үшін мульти-серверлік MySQL орнатулары қажет. Әдеттегі жоғарғы класстағы конфигурация жазу операцияларын орындайтын қуатты "master", "master"-дегі мәліметтердің көшірмесін сақтайтын және оқу операцияларын орындайтын бірнеше "slave" серверлерден тұрады.
</p>
<p>
"Master" сервері әрдайым "slave" серверлерімен синхронда болады, сондықтан кездейсоқ бір уақытта "master" өшіп қалса, бір "slave" жүйе жаңа "master"-ге автоматты түрде көшеді. Cөйтіп жұмыссыз уақыт көлемі кішірейтіледі. Өнімділікті ары қарай жақсарту үшін, мәліметтер қорынан алынған нәтижелерді memcached деп аталатын бағдарламаны қолдану арқылы жадта сақтауға ұсынылады немесе мәліметтер қорын "shard" деп аталатын бірнеше бөліктерге бөліп оны бөлісілген сервер класстерлеріне жаюға болады.
</p>
===Cloud-арқылы орнату===
Жүктеуге арналған екінші опция ол MySQL серверін Amazon EC2 сияқты cloud-платформаларында орнату. Cloud-та MySQL үшін орнатудың 2 түрі бар:
* <b>Virtual Machine Image </b>- cloud-ты қолданатын қолданушылар, MySQL сервері орнатылған өздерінің компьютерлерінің файл ретіндегі көшірмесін жүктеу арқылы немесе дайын және оңтайландырылған MySQL сервері бар Amazon EC2 сияқты қызметтер қамтамасыздандырған көшірмені қолдана алады.
* <b>MySQL as a Service </b> - кейбір "cloud" платформалары MySQL мәліметтер қорын "қызмет" ретінде ұсынады. Бұл ретте бағдарламашыларға MySQL мәліметтер қорын өздеріне орнатудың және оны қолдаудың қажеті жоқ. Оның орнына қызметті қамтамасыздандырушы жауапкершілікті және оны қолдауды өзіне алады, ал сол қызметті қолданатын бағдарламашылар соның қолданған бөлігіне ғана төлейді. Екі айқын байқалатын cloud-негізіндегі MySQL қызметтері - Amazon Relational Database Service және Xeround Cloud Database. Соңғысы Amazon EC2, Rackspace және Heroku қызметтерінде істейді.
Үшінші опция, қолданушылардың қатысуымен басқарылатын MySQL. Бұл жерде MySQL серверін қызмет қамтамасыздандырушысы ұстаса да, оны басқару бағдарламашының қатысуымен өтіп отырады. 2011 жылдан бастап, көптеген ірі cloud қызметін қамтамасыздандырушылардың ішінен тек Rackspace ғана осы опцияны ұсынады.
==Қосымшалары==
2009 жылдан бастап, MySQL 5.1-ші нұсқасы 2 түрлі нұсқада ұсынылады: қайнары тегін Community Server және ақылы Enterprise Server. MySQL 5.5-те осы лицензиялар негізінде ұсынылады. MySQL 5.5 және MySQL 5.1 нұсқаларының қайнарлары ортақ және келесідей қосымшалар бар:
* ANSI SQL 99 стандартының кең жиынтығы мен өз қосымшалары бар
* Бірнеше платформаны қолдауы
* Сақталған процедуралар
* Триггерлер
* Курсорлар
* Жаңғырмалы көріністер
* Ақпарат схемасы
* Information schema
* Қатал режим
* X/Open XA үлестірілген транзакция өңделімін (Distributed Transaction Processing (DTP)) қолдау; Oracle-дың InnoDB қозғалтқышын қолдану арқылы, осының бөлігі ретінде екі фазалық жазу
* Тәуелсіз сақтау қозғалтқыштары (MyISAM - оқу үшін, InnoDB - транзакцияларға және сілтемелік бүтіндік, MySQL Archive - мұрағат қорын шағын орында сақтау үшін)
* InnoDB және Cluster сақтау қозғалтқыштарындағы транзакциялардың қолдауы; InnoDB-ның белгіленген нүктені қолдауы
* SSL қолдауы
* Тапсырысты кэштау
* Құрамдас SELECT тапсырыстары
* Бір slave-ке бір master, бірнеше slave-ке бір master және автоматты емес бір slave-ке бірнеше master репликацияларын қолдауы (яғни, Master-Master және Master-Slave репликациялары)
* MyISAM қозғалтқышы арқылы толық текстік индексациялау және іздеу
* Енгізілген мәліметтер қоры кітапханасы
* Жартылай Unicode-ты қолдау (UTF-8 және UCS-2-мен кодталған мәліметтер, BMP типтегі мәліметімен шектеледі)
* Транзакция қолдауы бар қозғалтқыштарды (InnoDB және Cluster) қоданғандағы ACID ережелерінің толық сәйкестігі
* Кестені партицияланғанда, пратицияларды оңтайландырғыштан толығымен жою
* MySQL Cluster арқылы ортақ мәліметсіз кластерлеу
* Жағдайға байланысты "қатаң мұрағаттау" (mysqlhotcopy қолдану арқылы)
Ай сайын бағдарламашылар MySQL серверінің жаңа нұсқаларын шығарып отырады. Бағдарламаның қайнарларын MySQL сайтынан немесе MySQL-дің Bazaar репозиторийінен GPL лицензиясы бойынша алуға болады.
|