MySQL proxy

Декілька днів тому в рамках коментарів до «Крихітка Lua» було згадано MySQL Proxy — невеличку утиліту, що дозволяє проксювати запити до сервера MySQL, але не просто проксювати, а ще й проводити аналіз, видозмінювати і т.д за допомогою скриптів написаних мовою Lua. Хочу поділитись двома своїми статтями на цю тему: Погляд на MySQL Proxy (стаття розповідає, що таке MySQL Proxy та як почати з ним працювати) та MySQL Proxy та логування запитів (приклад lua-скрипта, що логує запити до бази данних).
  • +5
  • 20 вересня 2009, 06:56
  • GrAndSE

Коментарі (6)

RSS згорнути / розгорнути
+
0
Дякую за пости, та гадаю, доречно було б Вам створювати посилання, а не пости з посиланнями на ваш блоґ. (Коли натискаєте кнопку «Написати», зверху над формою є лінк «посилання»).

Або прямий лінк: rozrobka.com/link/add/
avatar

sashko

  • 21 вересня 2009, 00:50
+
0
Вибачте, але трошки з Вами не погоджусь. Звісно, якщо йде посилання на один матеріал доречніше. Я так першого разу й зробив. Але внаслідок конфлікту власного егоїзму з непрямими посиланнями (:)) вірішив робити прямим посиланням. Я так подивлюсь це не зовсім зручно, тому буду робити так як буде доречніше.
Однак мені здається, що для декількох посилань в рамках одного посту, доречніше залишати їх двома посиланнями, а не двому постами-посиланнями. :)
Ну це все моє власне ІМХО :)
avatar

GrAndSE

  • 21 вересня 2009, 08:42
+
0
Отожбо, це власне імхо. Я от, до прикладу, страшенно розлінувався, і в самому блозі Ваш пост вже прочитав у повному об'ємі. Справді, під кат нічого було ховати, а тому під кат не і потрапило жодне з посилань. Гадаю, прямий лінк був би набагато доречніший. Я просто люблю юзабіліті.
avatar

cyba

  • 21 вересня 2009, 12:10
+
+1
свого часу дивились в сторону MySQL Proxy
цікавили такі речі:
1) Master-Slave поділ запитів — всі insert-и update-и мають іти на мастер, всі селекти на слейв
2) Partitioning/Sharding — щоб проксі розгрібав де є данні. БД є великою, було доцільно розбити на частини

Після аналізу вирішили що доцільніше робити master/slave на рівні коду — дещо більший час розробки, але перформанс не падає, плюс менше роботи адмінам :)
Партишинінг взагалі по іншому зробили, тому проксі тут себе не проявив :)

Проте, в більш простіший варіантах — це чудовий вибір. Без зміни коду можна додати аплікації різних характеристик високопродуктивних систем
avatar

zenyk

  • 21 вересня 2009, 12:18
+
0
Аналогічна задачу була. Тільки різниця в тому, що код був написаний кимось іншим декілька років тому, за той час з ним попрацювало декілька програмістів досить різного рівня підготовленості та акуратності в плані написання коду. Там навіть тимчасові таблиці в коді були присутні. І обсяг коду для переписування і вчитування просто нелюдський. + програма на касовий апарат, код якої є в людини, що два роки як пішла з компанії, а писався він ще невідомо ким… + скрипти, що збирають статистику.
переписати це можна в принципі… Але ну його куди подалі :) Легше розібратись з MySQL Proxy та переписати один скриптик зі стандартної комплектації під власні потреби. Паралельно з іншими завданнями займає тижня два.
avatar

GrAndSE

  • 22 вересня 2009, 08:03
+
0
ну та, нам було легше, бо це був новий проект плюс весь код був нам підконтрольний

про швидкість — погоджуюсь, налаштувати досить реально
якщо використовувати тільки read/write host separation, якого для більшості випадків вистачає, все досить швидко можна підняти
avatar

zenyk

  • 22 вересня 2009, 11:55

Тільки зареєстровані й авторизовані користувачі можуть залишати коментарі.