From Wikipedia, the free encyclopedia
MySQL – дүние жүзінде ең көп қолданылатын, қайнары тегін және ашық, реляцияланған мәліметтер қоры жүйесі (RDBMS). Серверлік бағдарлама ретінде, бірнеше қолданушыларға бірнеше мәліметтер қорын қолдануды қамтамасыз етеді. MySQL сөзіндегі "My" сөзі, бағдарлама жасаушысы Майкл Видньюс-тың (Michael Widenius) қызының аты - "My" сөзінен алынған. Ал SQL фразасы - Құрылымдасқан Тапсырыс Тілі (Structured Query Language) дегенді білдіреді.
MySQL | |
---|---|
Кім дамытқан | Oracle (әуелгі Sun, әуелгі MySQL AB) |
Бастапқы нұсқа шығарылуы | 23 мамыр 1995 |
Неменен жазылған | C, C++ |
Амалдық жүйесі | Платформааралық |
Қай тілдерде | Ағылшын |
Жанры | Реляцияланған Мәліметтер Қорын Басқару Жүйесі (Relational database management system) |
Лицензиясы | GNU General Public License (2 нұсқа, басқа бағдарламамен байланыстыруға қатыссыз) немесе меншік EULA |
Ғаламтор торабы | www.mysql.com dev.mysql.com |
MySQL, проект қайнарын GNU General Public License (GPL) және әр түрлі жеке меншік лицензияларында шығарды. MySQL-ды кезінде MySQL AP атты Шведттық фирма демеу еткен, ал қазір оны толығымен Oracle корпорациясы сатып алды.
Толық функционалды мәліметтер қорын қажет ететін, қайнары тегін проекттер жиі MySQL-ды қолданады. Серверді коммерциялық проекттерде қолдану үшін, қосымша функциялармен ұсынылатын бірнеше нұсқалары бар. MySQL-ді қолданатын бағдарламаларға TYPO3, Joomla, WordPress, phpBB, MyBB, Drupal және де басқа LAMP бағдарламаларын жатқызуға болады. MySQL сонымен қатар Google, Wikipedia, Facebook және Twitter сияқты дүниежүзілік және кең ауқымды web-бағдарламаларында қолданылады.
Веб-бағдарламаларында MySQL кең қолданылады және кең тараған LAMP бағдарламаларының ішінде басты компонент рөлін атқарады. LAMP сөзі - "Linux, Apache, MySQL, Perl/PHP/Python" сөйлемінің акронимі.
MySQL - қайнары тегін бағдарламалар мен Интернеттегі танымал Flickr, Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында қолданылады.
MySQL - C және C++ тілдерінде, ал SQL парсері және sql_lex.cc деп аталатын лекксикалық анализаторы yacc тілінде жасалған.
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 жүйесіне портталған түрі бар.
Мәліметтер қорымен жұмыс істеу үшін, көптеген бағдарламалау тілдеріне кітапханалар жасалынған. Мысалы, C# және VB.NET үшін MySQL Connector/Net, ал Java үшін JDBC драйвері. Бұнымен қатар ODBC интерфейсін қолдайтын ASP және ColdFusion сияқты тілдер үшін MyODBC кітапханалары бар. Ал URL арқылы кез-келген web-клиенттің MySQL серверімен араласуға мүмкіндік беретін HTSQL технологиясы, MySQL-серверімен бірге келеді.
MySQL көбінесе реляциялық мәліметтер қоры ретінде қолданылатындықтан ол, жүйені және ондағы мәліметтерді басқаруға арналған клиенттік бағдарламамен келмейді. Оның орнына, өзінің командалық жолмен орындалатын құралдарын немесе басқалар жасаған клиенттік бағдарламаларын жүктеп алып қолдануға болады.
Графикалық интерфейсте MySQL мәліметтер қорын басқаруға және олардың структурасын жасау үшін, MySQL AB фирмасы MySQL Workbench атты бағдарламасын шығарды. Ол бұғанға дейін болған MySQL GUI Tools бағдарламасының орнына келді. MySQL Workbench қолданушыларға келесідей мүмкіншіліктер ұсынады:
MySQL Workbench екі нұсқада келеді, Олар, қайнары тегін қоғамдастық нұсқасы (Community Edition) және қосымша мүмкіншіліктері бар стандартты нұсқасы (Standard Edition).
MySQL серверімен жұмыс істеуге және оны басқаруға арналған басқа да клиенттік бағдарламалар бар. Кейбір кең қолданылатындары төменде алфавит бойынша тізімделген:
Бұлардан басқа ақылы бағдарламарға кіретіндер dbForge Studio for MySQL, Epictetus, Oracle SQL Developer, SchemaBank, SQLPro SQL Client, Toad Data Modeler.
MySQL бірнеше командалық жолмен орындалатын құралдармен келеді. Олар мәліметтерге тапсырыс, мәліметтерді мұрағаттау, сервер статусын қадағалау, мәліметтер қорын жасау және т.б. Сонымен қатар командалық жолмен орындалатын басқалар жасаған бағдарламалар да бар. Мысалы, Perl-да жасалған Maatkit бағдарламасы.
MySQL серверін қайнардың өзінен жинап орнатуға болады. Бірақ бұл біршама уақыт қажет ететін және жалықтыратын процесс. Бұл операция көбінесе егер сізге ерекше конфигурацияда сервер қажет болса ғана істеледі. Linux операциялық жүйесінің бағдарлама пакеттерін басқаруға арналған жүйесі бұндай жұмыстарды минималды қимылмен орындатқызады. Дей тұрғанмен, әдетте орнатудан кейін қауіпсіздік және оңтайландыруға байланысты конфигурациялық жұмыстар жасау керек болады.
MySQL нарықтағы ірі және ақылы мәліметтер қорларына балама ретінде жасалса да, кең ауқымды мәліметтерге байланысты талаптарды орындай алады. Ол көбінесе кіші және орта көлемді бір-серверлік LAMP-негізінде жасалған бағдарламаларға компонент ретінде немесе жеке сервер ретінде қолданылады. MySQL-ге деген тартымдылық - оны қолдану оңайлығында. Мүны phpMyAdmin сияқты қайнары ашық және тегін бағдарламалардан көруге болады. Орта бағамен есептегенде, MySQL-ді бірнеше гигабайт жадты және бірнеше процессорлы қуатты аппараттық құрылғыларда ауқымды етіп қолдану әбден мүмкін. Бірақ та жалғыз серверлік ауқымдатуда қуаттылық жағынан шектеулер бар, сондықтан кеңірек ауқымдатуда, жоғары өнімділік пен сенімделікті қамтамасыздандыру үшін мульти-серверлік MySQL орнатулары қажет. Әдеттегі жоғарғы класстағы конфигурация жазу операцияларын орындайтын қуатты "master", "master"-дегі мәліметтердің көшірмесін сақтайтын және оқу операцияларын орындайтын бірнеше "slave" серверлерден тұрады.
"Master" сервері әрдайым "slave" серверлерімен синхронда болады, сондықтан кездейсоқ бір уақытта "master" өшіп қалса, бір "slave" жүйе жаңа "master"-ге автоматты түрде көшеді. Cөйтіп жұмыссыз уақыт көлемі кішірейтіледі. Өнімділікті ары қарай жақсарту үшін, мәліметтер қорынан алынған нәтижелерді memcached деп аталатын бағдарламаны қолдану арқылы жадта сақтауға ұсынылады немесе мәліметтер қорын "shard" деп аталатын бірнеше бөліктерге бөліп оны бөлісілген сервер класстерлеріне жаюға болады.
Жүктеуге арналған екінші опция ол MySQL серверін Amazon EC2 сияқты cloud-платформаларында орнату. Cloud-та MySQL үшін орнатудың 2 түрі бар:
Үшінші опция, қолданушылардың қатысуымен басқарылатын MySQL. Бұл жерде MySQL серверін қызмет қамтамасыздандырушысы ұстаса да, оны басқару бағдарламашының қатысуымен өтіп отырады. 2011 жылдан бастап, көптеген ірі cloud қызметін қамтамасыздандырушылардың ішінен тек Rackspace ғана осы опцияны ұсынады.
2009 жылдан бастап, MySQL 5.1-ші нұсқасы 2 түрлі нұсқада ұсынылады: қайнары тегін Community Server және ақылы Enterprise Server. MySQL 5.5-те осы лицензиялар негізінде ұсынылады. MySQL 5.5 және MySQL 5.1 нұсқаларының қайнарлары ортақ және келесідей қосымшалар бар:
Ай сайын бағдарламашылар MySQL серверінің жаңа нұсқаларын шығарып отырады. Бағдарламаның қайнарларын MySQL сайтынан немесе MySQL-дің Bazaar репозиторийінен GPL лицензиясы бойынша алуға болады.
MySQL жүйесі келесі қосымшаларды қолдауды жүзеге асырады. Бірақ ол қосымшаларды басқа жүйелер қолдамауы мүмкін:
MySQL, кебір SQL стандарттарын толық қолдамайды. Мысалы, стандартты SQL синтаксын, мәліметтер шектеулері, сыртқы кілттерге сілтемелерді тексеру және де басқа бизнесс логикадағы тұрақтылықты сақтауға арналған функциялары, қатаң тексерулерді орындамайды. Триггерлер болса бір тапсырыста бір рет ғана орындалады, яғни бір кестеге орындалған енгізу операциясының алдында немесе одан кейін бір-ақ рет бір триггерді орындауға болады. Көріністерге болса триггер орындауға болмайды.
MySQL жасалу кезеңдері келесілерден тұрады:
MySQL Server 6.0.11-alpha нұсқасы, 6.0 нұсқаларының ішіндегі соңғысы болып 2009 жылы 22 маусымда шықты. Келесі MySQL Server жасалымдары қолданысқа шығарудың жаңа моделін қолданып, жаңа енгізілімдерді келесі шығарылымдарға кіргізеді.
2011 жылы болған MySQL қолданушылар конференциясында, MySQL 5.6 нұсқасының аралық шығарылымы жарияланды. Енгізілген жаңа функциялар мен ерекшеліктерге жақсартылған өңдеу өнімділігі, тапсырыстарды оңтайландырғыш, InnoDB-да транзакция жылдамдығының арттырылуы, NoSQL-стиліндегі жаңа memcached API-лары, өте үлкен кестелерге тапсырыс беруге арналған партицияларға жақсартулар, PERFORMANCE_SCHEMA мәліметтерін қолдану арқылы репликация жасау және жүйе өнімділігін бақылау жақсартуларын кіргізуге болады. Шілдеде, келесі нұсқасы BINLOG API, топтық транзакциялық жазулар және InnoDB толық текстік іздеу функцияларымен шықты.
MySQL server және клиент кітапханалары екі жақтық лицензияны қолданады. Олар 28 маусым 2000 жылдан бастап GPL лицензиясы (Oracle кейін оны FLOSS лицензиясынсыз етіп өзгертті) және ақылы лицензия негізінде шықты. Ең біріншіден, қолдауды http://dev.mysql.com/doc/refman/5.5/en/index.html сілтемесіндегі ресми нұсқаудан алуға болады. Қосымша, тегін қолдауларды әр түрлі IRC каналдарынан және форумдардан алуға болады. Сонымен қатар Oracle, өздерінің MySQL Enterprise өнімдері арқылы, ақылы қолдау көрсетеді. Олар қызметтері және бағаларымен ерекшеленеді.
2005 жылы қазанда, InnoDB қозғалтқышын шығаратын Финдік компания Innobase OY-ды сатып алды. Сатып алынғаннан кейін, Oracle корпорациясы MySQL AB бағдарламаларына қатысты келісім-шарттар 2006-жылы жаңартылуы немесе қайта қаралуы мүмкін деп жариялады. 2006 жылы болған MySQL қолданушылары конференциясында, MySQL өз баспасөз хабарламасында, Innobase YO және MySQL "бірнеше жылдық" кеңейтілген лицензиялық келісім шартқа отырғандығын жариялады.
2006 жылы ақпанда, Oracle корпорациясы, Berkeley DB қозғалтқышын жасайтын Sleepycat Software компаниясын сатып алды. Бұл келісімнің әсері аз болды, өйткені оның қолданылуында кемшіліктер болғандықтан, оны қолдау MySQL 5.1.12 нұсқасынан бастап тоқтатылды.
2008 жылы қаңтарда, Sun Microsystems MySQL-ді 1 миллиард долларға сатып алды.
2009 жылы сәуірде, Oracle корпорациясы Sun Microsystems, сонан кейін MySQL авторлық құқықтары мен сауда белгілерін сатып алуға келісімге кірді. 2009 жылы 20 тамызда, Sun компаниясының директорлар кеңесі, акционерлері және АҚШ үкіметі жасырын түрде бұл келісімді мақұлдады. 2009 жылы 14 желтоқсанда, Oracle MySQL-ды ары қарай жақсартып, қолдауын жалғастыратынын мәлімдеді.
"MySQL-ді қорға (Save MySQL)" деп аталатын Oracle-дың MySQL-ді сатып алуына қарсы қозғалыс, MySQL-ді жасаушылардың бірі Монти Видньюс (Monty Widenius) бастады. 50 000+ бағдарламашылардан және қолданушылардан тұратын петиция, Еуропа Комиссиясынан сатып алуға жол бермеуін сұрады. Сол уақытта, бірнеше Тегін Бағдарлама (Free Software) көсемдері келісім-шарттың еш шартсыз орындалғанын айтты. Еуропа Комиссиясымен болған келіссөзде, Oracle корпорациясы, кемінде 2015 жылға дейін, MySQL-дің қазіргі қолданылып жүрген қос лицензиясын қолдайтынын шешті. Сөйтіп, 21 қаңтарда 2010 жылы Еуропа Комиссиясы еш келісім шартсыз Oracle-дің сатып алу ісін құптады.
Сол уақытта, Монти Видньюс (Monty Widenius), MariaDB атты тарауын тек GPL лицензиясы негізінде шығарды. MariaDB, MySQL 5.1 нұсқасының қайнарында жасалған. Oracle шығарған нұсқалармен үйлесімділік жағынан ол біршама жақын болса да, оның үйлесімділігін сақтап ары қарай кеңейту басты мақсат.
2001 жылы маусымның 15 күні Бостонда, NuSphere компаниясы, MySQL AB, TcX DataKonsult AB және олардың авторлары Майкл "Монти" Видньюс (Michael ("Monty") Widenius) және Дэвид Аксмаркты (David Axmark) АҚШ аймақтық сотына берді. 2002 жылы, MySQL AB, Progress NuSphere компаниясын, авторлық құқық және сауда белгісі бойынша, АҚШ аймақтық сотына шағымдады. NuSphere компаниясы, MySQL-дың авторлық құқығын, GPL-лицензиялы қайнарын NuSphere Gemini кестесінде еш лицензиялық келісімсіз қолданып бұзған-мыс. 27 ақпанда 2002 жылы, Пэтти Сэрис (Patti Saris) қазымен болған алдын-ала қаралудан кейін, екі жақ бір-бірімен шешім сұхбатына отырып, шешім қабылдады. Сот тыңдауынан кейін, FSF (Free Software Foundation) былай деп түсінік берді: "Қазы Сэристің, GNU GPL лицензиясының толық күші бар және жойылмас лицензия екендігіне көзі жетті."
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.