ПредишенСледващото

За информация как да използвате Memcached и неговата функция като самостоятелен сървър с MySQL, вече написани много отлични статии - например, инсталиране и използване на Memcache на Ubuntu 14.04. Но Memcached като самостоятелен сървър изпълнява функцията на междинен продукт, предхождащ ниво на достъп MySQL-клиент, и работи само с информацията, която е в паметта, без възможност за неговото постоянно съхранение. Тя ви позволява да изпълняват задачи като кеширане повтори резултата MySQL-заявка, които спестяват ресурси и оптимизира натоварени сайтове.

Но в тази статия ще говорим за нещо друго. Memcached е инсталиран като MySQL приставки и плътно интегрирани в MySQL. Това ще създаде ниво на достъп до управлението на информация NoSQL стил директно в стандартен InnoDB MySQL-таблици. Както ще стане ясно от статията, тя дава редица предимства.

Основна информация

За да се разбере какъв е залогът в тази статия, вие трябва да имате поне обща представа за това, което NoSQL и Memcached. NoSQL работи с информация под формата на елементи "ключ-стойност (а)." Това е по-опростен подход, отколкото стандартен SQL. Освен това, тя осигурява по-голяма ефективност и по-добро мащабиране, което е особено важно за работа с големи обеми от данни (Big Data).

Но, за да се замени стандарта SQL, само едно добро представяне NoSQL достатъчно. Поради своята простота, NoSQL не е подходящ за работа с структурирани данни, съдържащи сложни взаимоотношения. Затова по-скоро да се нарече NoSQL важно допълнение към SQL, а не да го заменя.

Що се отнася, Memcached, той може да се нарече популярната изпълнение на NoSQL. Това е един много бърз софтуер, и както става ясно от името му, има различни механизми за кеширане. Ето защо Memcached е чудесен избор за привеждане стил на NoSQL MySQL традиционен стил.

Също така, ще имате нужда от основни познания на Memcached протокол. Memcached работи с елементи, състоящи се от следните компоненти:

  • Key (Ключ) - буквено-стойност, която е от ключово значение за достъп до стойност елемент.
  • Value (Стойност) - произволни данни, която се съхранява в най-важната част на предаваните данни.
  • Flag (флаг) - обикновено това е стойността, използвана, за да посочите допълнителни параметри, свързани с основната ценност. Например, един флаг или да не се използва компресия.
  • Изтичане на времето (Дата на валидност) - времето за изтичане в секунди. Не забравяйте, че Memcached първоначално предназначена за кеширане.
  • CAS стойност (Value CAS) - уникален идентификатор за всеки елемент.

изисквания

Изследването е описано в тази статия, е проведен на Ubuntu 14.04. Описан процеса на настройка и конфигурация тук е подобен на процеса на настройка и конфигуриране на други операционни системи или версии на тях, но екипът и местоположението на конфигурационния файл може да се различава.

Вие ще се нуждаете от следното:

  • А наскоро инсталирана Ubuntu 14.04
  • Non-корен потребител с привилегии SUDO

Всички команди са описани в тази статия, трябва да се извършват от потребителя без корен. Ако командата изисква достъп до корен, тя ще застане пред Sudo. Ако още не сте го задали, той отива тук: Начална настройка сървър с Ubuntu 14.04.

Стъпка 1 - Инсталиране MySQL 5.6

Memcached MySQL Плъгинът е наличен във версии на MySQL 5.6.6 по-горе. Това означава, че използването на MySQL пакет (версия 5.5) от стандартния хранилище на Ubuntu 14.04 няма да работи. Вместо това, направете следното:

  1. Добави официалния MySQL съхранение
  2. Инсталирайте го от MySQL-сървъра и клиентските библиотеки

Първо, отидете на MySQL хранилище и да изтеглите пакета, който ще добави MySQL-магазин на вашия Ubuntu 14.04. Можете също да изтеглите пакета директно на вашия сървър:

След това да го инсталирате с помощта Dpkg:

Тази команда се появява с два въпроса диалогов прозорец:

  1. Какво MySQL продукт, който искате да изберете? Отговор Server.
  2. Коя версия на сървъра, на който желаете да получавате? Отговор MySQL-5.6.

След отговорите на тези два въпроса, ще бъдете пренасочени към първия въпрос относно продукта, който искате да инсталирате. Кликнете върху «Прилагане» (прилагат) в долната част, за да потвърдите избора си и да излезете диалоговия прозорец.

Сега, когато имате нов MySQL хранилище, което трябва да се актуализира ап кеша. т.е. информация за пакетите на разположение за инсталиране на Ubuntu. По този начин, когато инсталирате MySQL, той ще бъде изтрит от новия магазин. За да актуализирате ап кеш паметта, изпълнете следната команда:

Сега можете да инсталирате MySQL 5.6 на Ubuntu 14.04 със следната команда:

Когато стартирате тази команда, ще бъдете помолени да изберете корен парола (администраторска парола) за MySQL. За удобство, не можете да зададете парола, в този момент, и при напомнянето за парола, просто натиснете ENTER. Но когато решите да използвате този сървър, MySQL за безопасното монтиране, се препоръчва да се изпълни командата Sudo mysql_secure_installation и наборът от коренни парола.

След приключване на процеса на инсталация, ще сте инсталирали MySQL-сървър версия 5.6, клиентът на командния ред и необходимите библиотеки. Можете да проверите системата чрез провеждане на клиента с командата:

За да зададете парола, ще трябва да изпълните следната команда, а когато бъдете подканени да въведете паролата си корен парола за MySQL:

Вие ще видите следното:

Да останеш в прозореца на MySQL (клиентският терминал), създаване на нова база данни, наречена тест:

Тази база се нуждаем от допълнително изпитване. За да излезете от MySQL-клиент, въведете:

И накрая, вие също трябва да инсталирате пакета за асинхронни уведомления - libevent-Dev. За да направите това, изпълнете следната команда:

Стъпка 2 - Инсталиране на приставката за MySQL Memcached

Преди да инсталирате плъгина Memcached трябва да извършите заявки, които са в /usr/share/mysql/innodb_memcached_config.sql файл. Започнете MySQL-клиента:

или, ако сте задали паролата:

С тази команда ще създаде всички необходими настройки за приставката за база данни innodb_memcache. и поставете някои данни от изпитвания за новосъздадения тест база данни.

След това следвайте Memcached щепсел инсталация от MySQL терминал с помощта на следната команда:

Изход от сесията като MySQL:

Така че, като сте инсталирали Memcached плъгин в папката / ЮЕсАр / ИЪ / MySQL / плъгин / в Ubuntu 14.04. Този файл е достъпен само на MySQL 5.6 и по-горе.

След линията [Mysqld] добавяне на нов ред:

Тази команда Memcached плъгин ckonfiguriruet слушател на порт 11222. която е активна само за IP 127.0.0.1. Това означава, че потребителите ще бъдат в състояние да се свърже с вашия сървър. Ако не посочите ПР (-l 127.0.0.1), той може да се свърже безпроблемно абсолютно всеки клиент, а това представлява сериозна заплаха за сигурността. За да научите повече за сигурността Memcached плъгин можете да видите неговата документация по въпросите на сигурността.

За да започнете нов процес на слушане на Memcached плъгин, рестартирайте MySQL-сървъра с командата:

Стъпка 3 - Тестване на приставката Memcached

За да се уверите, че инсталацията е била успешна, изпълнете следната команда в MySQL-клиент (клиент започне да използва MySQL-U корен или MySQL-U корен -p):

Ако всичко работи правилно, ще видите следното (най-вероятно в края на списъка с плъгини):

В противен случай, се уверете, че използвате MySQL 5.6 (по-висока от тази версия 5.6.19, защото не работи) или по-висока и това да следвате процеса на инсталация, описана по-горе. Можете също така да се опита да се свърже с интерфейса на новата приставка Memcached чрез телнет с вашия сървър:

Когато сте свързали успешно изходната линия ще видите:

За да проверите как връзката, можете да изпълни команда, като статистика. за да видите статистиката. За да затворите прозореца, натиснете едновременно CTRL и] на клавиатурата. След това въведете откажат, да се откажат клиента Telnet.

Telnet е най-лесният начин да се свърже с Memcached плъгин и на самите данни MySQL. Този метод е подходящ за тестване, но ако решите да го използвате по професионален начин, трябва да се провери наличните библиотеки из популярните езици за програмиране (например PHP, Python и).

Стъпка 4 - Изпълнение на заявки за NoSQL преминаване в MySQL Memcached плъгин

Ако се върнем към тази част на статията, която описва инсталирането на Memcached плъгин, ще видите, че ние проведохме операторите на /usr/share/mysql/innodb_memcached_config.sql файл. Тези твърдения са създадени в тестовата база данни нова таблица demo_test на. Таблица demo_test има следните колони съответните протокол Memcached:

  • в1 съответства на клавиша поле (ключ).
  • с2 съответства на областта на стойност (стойност).
  • c3 съответства поле флаг (знаме).
  • c4 съответства поле CAS.
  • с5 съответства поле изтичане (ефлукс).

С помощта на тази таблица demo_test ние ще тестваме. За да започнете, отворете базата данни / таблица чрез MySQL клиент със следната команда:

Или, ако сте задали парола за MySQL:

В demo_tes т маса трябва вече да бъде единичен запис:

Резултатите трябва да изглеждат така:

Изход от сесията като MySQL:

Сега се създаде втори запис с помощта на Memcached и телнет NoSQL-интерфейс. Свържете се отново работната станция чрез TCP порт 11222:

След това използвайте следния синтаксис:

Имайте предвид, че стойността на компонент (стойност) трябва да бъде поставен на следващия ред. Освен това, когато е необходимо по-горе описания метод за всеки запис като стойност за указване дължина в бита.

Като пример, да създадете нов запис (запис в таблицата) с ключ newkey. Стойност 0 за флага и стойност 0 за потока (офлайн изтичането на този период). Значение - 12 бита дължина.

набор newkey 0 0 12 NewTestValue

Разбира се, вие също може да се извлече стойност през NoSQL-интерфейс. Това може да стане с помощта на командата GET. след което трябва да укажете името на ключа, което искате да премахнете. Без да оставя Telnet сесия, въведете:

Резултатът трябва да изглежда така:

Посоченият по-горе команда набор и да работи за всеки Memcached сървър. Тук имаме само няколко прости примера за това как да поставите и извадите записите в стила NoSQL.

В таблицата по-нов запис трябва да се появи:

В този момент може да се чудя къде Memcached плъгин знае коя база данни и таблица, за да се свържете и как да се показва информацията в колони на таблицата. Отговорът се крие в основата на innodb_memcache данни в контейнера за маса.

Извършете следното изявление изберете:

Вие ще видите следното:

Ако искате да научите повече за това как да създадете различни дисплей и изучава разширено Memcached плъгин, прочетете на страницата за Memcached плъгин вътрешна структура.

Предимства на интеграция MySQL с приставка Memcached

Горната информация и примери идентифицират няколко важни предимства на MySQL интеграция с NoSQL чрез Memcached плъгин:

Всички ваши данни (MySQL и NoSQL) се съхраняват на едно място. Не е нужно да се инсталира и поддържа допълнителен софтуер за NoSQL-база данни. Задържащ, оползотворяване и репликация NoSQL база данни, е възможно чрез мощен lnnoDB двигател.

Невероятно бърз достъп до данни слой Memcached все още може да се използва за работа с големи обеми от информация (сравни работата с по-бавен на MySQL-клиент).

NoSQL-данни могат да бъдат контролирани чрез интерфейса и MySQL синтаксис. Така че можете да включите NoSQL-данни в по-сложни SQL-заявки (например оператори напуснали присъединят).

заключение

Свързани статии

Подкрепете проекта - споделете линка, благодаря!