Pull to refresh
  • by relevance
  • by date
  • by rating

DevConf: 3 доклада + мастеркласс по MySQL: DRBD/HeartBeat/MySQL, MariaDB, Мониторинг производительности MySQL

DevConf corporate blog
image

3 доклада по MySQL на DEVCONF 2010 17 мая Москва



Мониторинг производительности MySQL с использованием performance
Алексей Копытов, Senior Software Developer, Sun Microsystems.
Решения высокой надежности на базе MySQL
Алик Рубин, MySQL, Норвегия
MariaDB — ветка MySQL с большими возможностями
Сергей Петруня (Monty Program Ab)

Голосуем — поддерживаем наших :-)
devconf.ru/offers
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 5.2K
Comments 4

Репликация базы данных PostgreSQL на основе SymmetricDS

PostgreSQL *
Sandbox
В этой статье я расскажу, как настроить репликацию баз данных для PostgreSQL. Для экспериментов будем использовать дистрибутив линукса CentOS 5.3, хотя это не принципиально. будем использовать версию PostgreSQL 8.4.7 и SymmetricDS-2.2.2.

Что такое репликация?

По сути, это механизм автоматической синхронизации содержимого баз данных, работающих на разных серверах. В результате репликации эти базы данных содержат абсолютно идентичные данные. Это нужно например для того, чтобы обеспечить отказоустойчивость системы (в случае падения первого сервера баз данных в работу вступает второй), или чтобы осуществить балансировку нагрузки — разных клиентов могут обслуживать разные сервера.

Для репликации нужно как минимум два сервера баз данных, поэтому готовим два одинаковых сервера с базой данных PostgreSQL на каждом. У первого будет IP адрес 10.0.2.20, у второго — 10.0.2.21, у обоих гейтвей 10.0.2.2.
Можно обойтись виртуальной машиной, например VirtualBox, создать в ней два виртуальных сервера и запустить их на своем собственном компе.

В приведенных командах первым символом будет стоять знак # либо $, эти знаки означают, что команда запускается из-под root или из-под обычного пользователя, соответственно.
Итак, какие действия нужно предпринять:
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Views 15K
Comments 29

Отказоустойчивый кластер для Java приложений

Server Administration *
Sandbox
Со времени запуска проекта прошло некоторое время и настало время наращивать вычислительные мощности для работы приложения. Было принято решение построить для этого кластер, который в дальнейшем можно будет легко масштабировать. Таким образом нам надо настроить кластер для распределения запросов между серверами.

Для этого мы будем использовать 4 сервера на Linux CentOS 5.5, а так же Apache, Tomcat6, mod_jk, Heartbeat.
web1, web2 сервера — для распределения запросов средствами Apache и отказоустойчивости средствами Heartbeat. tomcat1, tomcat2 сервера — Tomcat сервера для Java-приложения.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Views 18K
Comments 12

MySQL репликация one-slave-multi-master

MySQL *Distributed systems *
Sandbox

Предисловие.


Понадобилось сделать репликацию несколькими мастер-серверами с mysql, чтобы данные со всех них грузились на один слэйв-сервер. Готового решения стандартными средствами не нашлось. Но так как проблема оставалась актуальной, со временем подоспел немного усложненный, но работоспособный вариант c использованием средств самой mysql.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 12K
Comments 14

Репликация MySql -> Oracle средствами Tungsten Replicator

MySQL *
Sandbox
Итак, в начале несколько слов, а-ля предисловие. Данный мануал не претендует на истину в первой инстанции и на построчное руководство. Скрипты можно написать куда лучше. Команды — на момент прочтения могут звучать уже по другому (даже на момент написания документация на сайте разниться с реальными командами). Многое в скриптах сделано под рутом, что в целом тоже не правильно, но для «что бы заработало а потом поправить» — оставил пока что так. Ответы на базовые вопросы по настройке Вы найдете в документации на сайте tungsten-а (http://code.google.com/p/tungsten-replicator/).

Задача:

Возникла необходимость в репликации с MySql (5.5) на Oracle (11.2) на сервере с CentOS 5.5. При чем не всего-всего, а только больших таблиц, очень-очень быстро наполняющихся и связанных со статистикой. Добавим к этому, что на сервере MySql наблюдаются проблемы с местом, и как вывод — фильтрация репликации должна происходить на нем. Ну, и при необходимости — сразу подчищаться все возможные временные файлы, опять же по причине места, на обоих серверах.

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 3.8K
Comments 2

Проверка репликации MySQL master-master через Zabbix

System administration *
Sandbox
После настройки MySQL репликации master-master, следующий логический шаг это настройка проверки этой системы. Читая туториалы по интернету стало ясно, что подобная репликация — дело популярное, а слетает оно на раз два три. Поэтому решил вставить проверку — а работает ли репликация до сих пор, или что-нибудь произошло и все слетело.
Первые же несколько гугл запросов показали, что верить «SHOW SLAVE STATUS\G» нельзя: Штука хорошая, но врет часто и помногу. Немного подумав, я пришел к следующему решению:
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 5.5K
Comments 4

Резервное копирование данных в MySQL

MySQL *
Резервное копирование базы данных — это такая штука, которую вечно приходится настраивать для уже работающих проектов прямо на «живых» production-серверах.
Подобная ситуация легко объяснима. В самом начале любой проект еще пуст и там просто нечего копировать. В фазе бурного развития головы немногочисленных разработчиков заняты исключительно прикручиванием фишек и рюшек, а также фиксом критических багов с дедлайном «позавчера». И только когда проект «взлетит», приходит осознание, что главная ценность системы — это накопленная база данных, и её сбой станет катастрофой.
Эта обзорная статья — для тех, чьи проекты уже достигли этой точки, но жареный петух ещё не клюнул.
Читать дальше →
Total votes 88: ↑84 and ↓4 +80
Views 139K
Comments 52

Отказ мастера в PostgreSQL-кластере: как быть?

PostgreSQL *
Приветствую. Сегодня я хотел бы поговорить о такой неприятной ситуации, как отказ мастера в случае применения нативной репликации в PostgreSQL 9.x. Итак, предположим, что у вас есть кластер из двух и более PostgreSQL-серверов и на мастер внезапно упал метеорит. Логично предположить, что вам придётся сделать мастером одну из реплик. Сделать это можно двумя способами.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Views 7.4K
Comments 9

О Чем Стоит Задуматься, Сохраняя Свои Данные в Облаке. Часть 1

Data recovery *
В этой статье я собираюсь обсудить доступность данных, сохраненных в облаках. Вторым (и наиболее интересным) пунктом программы выступает приватность и защищенность этих данных.



Читать дальше →
Total votes 17: ↑7 and ↓10 -3
Views 12K
Comments 27

О Чем Стоит Задуматься, Сохраняя Свои Данные в Облаке. Часть 2

Data recovery *
Вкратце, речь идет о том, что, сохраняя данные на нескольких облаках, можно существенно повысить их доступность и сохранность. Под сохранностью имеется ввиду, что данные будут существовать, даже если у одного провайдера (или нескольких) случился серьезная проблема. Подробная мотивация в первой части.

image

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 3.9K
Comments 9

Эволюция архитектуры: от «самописных» сервисов к HandlerSocket

Badoo corporate blog High performance *Website development *


Сегодня мы расскажем о том, как в Badoo изменился подход к проектированию нагруженных “key-value” сервисов. Вы узнаете, по какой схеме такие сервисы создавались нами несколько лет назад (использование БД в качестве репозиториев и специализированного демона как интерфейса к данным), с какими трудностями мы при этом столкнулись и к какой архитектуре в результате пришли, разрешив появившиеся проблемы.
Читать дальше →
Total votes 82: ↑76 and ↓6 +70
Views 19K
Comments 34

Практическая оптимизация и масштабируемость MySQL InnoDB на больших объёмах данных

MySQL *
Данный пост не будет рассказывать про индексы, планы запросов, триггеры для построения агрегатов и прочие общие способы оптимизации запросов и структуры БД. Так же не будет рассказывать про оптимальные настройки с префиксом innodb_. Возможно прочитав текст ниже вы лучше поймёте смысл некоторых из них. В данном посте речь пойдёт об InnoDB и его функционирование.

Какие проблемы может помочь решить этот пост?


  • Что делать если у вас в списке процессов множественные селекты которым казалось бы никто не мешает?
  • Что делать если всё хорошо настроено, запросы пролетают как ракеты и список процессов постоянно пустой, но на сервере высокий LA и запросы начинают работать немного медленнее, ну например вместо 100мс получается 500мс ?
  • Как быстро масштабировать систему, когда нет возможности всё переделать?
  • У вас коммерческий проект в конкурентной среде и проблему надо решать немедленно?
  • Почему один и тот же запрос работает то быстро то медленно?
  • Как организовать быстрый кеш и поддерживать его в актуальном состояние?

Читать дальше →
Total votes 45: ↑39 and ↓6 +33
Views 18K
Comments 46

Big Data: Backup делать нельзя работать без него

Data recovery *Database Administration *
За время работы администратором баз данных я выработал для себя одно правило, которого придерживаются многие DBA. Это «золотое» правило всех администраторов баз данных – не делай ничего серьезного с базой данных, если у тебя нет бэкапа. Если ты собрался серьезно изменить параметры базы данных, провести операции по техническому обслуживанию базы данных и т.п. – то всегда перед этим надо выполнить операцию резервного копирования. Этот принцип достаточно долго работал и оправдывал себя, и даже в нескольких случаях помогал восстановить базу данных на определенный момент времени.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 8K
Comments 14

Начинаем использовать Tarantool в Java проекте

Java *NoSQL *
Tutorial
    В статье ниже я попытаюсь кратко рассказать о том, что такое Tarantool и как начать его использовать в уже существующем проекте если вы программируете на Java. Если же вы программируете на другом языке, то вам могут быть интересны некоторые инструменты доступные в коннекторе, такие как возможность редактирование xlog файлов и создание snap файлов из любых данных. Если вы не знаете, что такое Tarantool, то лучше прочитать этот пост.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 16K
Comments 6

Синхронизация файлов между компьютерами в кластере

Website development *
Мне нужно синхронизировать директорию между несколькими компьютерами, причем это может быть два комьпютера, а может быть и больше.

Файлы могут записываться в эту директорию на любом из них и в течении некоторого времени эти файлы должны оказываться на других.

Ну, как пример — есть кластер из нескольких веб или application серверов и пользователь делает аплоад файлу. Если тот же пользователь через 5 минут зайдет на сайт с другого компьютера и лоад балансер ему даст другой сервер из кластера, он должен всё равно увидеть загруженный им файл.

Как это можно сделать?

Я смотрел на простой NFS — но там получается есть single point of failure — компьютер, на котором этот диск родной
Я смотрел на xtreemeFS — но просто не получается его настроить работать с replication

Какие еще есть решения?

Спасибо
Total votes 23: ↑5 and ↓18 -13
Views 6.1K
Comments 37

AWS Insight: RDS Read Replica

EPAM corporate blog Amazon Web Services *
Привет, сообщество! image

Сегодня бы хотелось рассказать и показать создание копии RDS инстанса только для чтения. Для многих не секрет, что при работе с высоконагруженными проектами создаются решения, когда пишется информация только в одно место, ну а читать её можно из многих источников.

AWS RDS MySQL предлагает такое решение, так сказать, «из коробки». В консоли или через CLI (API) вам предлагается создать реплику. Что же происходит «под капотом»?
  1. Создаётся образ существующего сервера. Эта операция может повлиять на I/O, как вы понимаете. Не стоит делать образ в загруженные часы.
  2. Из образа стартует новый инстанс, который конфигурится и становится репликой в режиме «только чтение» — RO.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 3.3K
Comments 8

Mysql Отложенная репликация или Коммивояжеры с Mysql-slave

MySQL *
Недавно мне поставили такую задачу: Есть много коммивояжеров с ноутбуками которые разъезжают по стране и что-то кому-то впаривают продают.
Т.к. им нужны актуальные данные о наличии товара и ценах, время от времени они подключаются к центральному серверу через интернет и сливают себе обновленные данные.

Условия к задаче:
— Частота и периодичность выхода на связь коммивояжеров неизвестна, ровно как и длительность.
— Должно все работать максимально надежно, потому как коммивояжеры они такие «коммивояжеры».
— Решение должно быть на базе Mysql master-slave replication.

Выводы из условия:

— Для надежности, на стороне клиента(slave) минимум настроек, никаких скриптов по крону, все должно быть внутри mysql.
— Т.к. неизвестно когда и с какой периодичностью будут подключаться к master базе коммивояжеры, binlog на мастере нужно хранить так долго пока все slave не скачают его себе.

Решение:
— Информировать мастер, какие slave и сколько уже «скачали». А точнее в какой позиции самый «ленивый» slave.
— Все остальные binlog можно смело удалять.

А теперь в картинках...
Total votes 33: ↑31 and ↓2 +29
Views 9.6K
Comments 7

Veeam Backup & Replication — Миграция виртуальных машин с Hyper-V 2008 R2 на 2012 R2

Veeam Software corporate blog System administration *Virtualization *Server Administration *Backup *

Одна из наиболее важных “фичей” у Hyper-V 2012 — функция репликации. Она позволяет в течение нескольких минут сделать работоспособную копию виртуальной машины (реплику) на другом сервере. В отличие от “классических” сценариев восстановлений после сбоя, реплика может быть использована для миграции виртуальной машины (ВМ) на новую инфраструктуру или в другой домен.



Но что если старый сервер работает на Windows Server 2008 R2? Как в таком случае переместить ВМ на новый Hyper-V 2012 R2? Если не хочется платить, то можно воспользоваться стандартной процедурой “экспорт/импорт”, но такая операция может потребовать нескольких минут для каждой ВМ в зависимости от скорости дисков, куда экспортируются данные.



Другой способ — это использование Veeam Backup & Replication, который позволяет создать задание для репликации ВМ (Replica Job) даже если версии ОС исходного и удаленного хостов различны.




Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 21K
Comments 7

Новые возможности Veeam Backup & Replication 8.0: усовершенствованная репликация

Veeam Software corporate blog System administration *Virtualization *Data recovery *Backup *
Tutorial

Как можно догадаться из названия продукта, столпами реализуемой в Veeam Backup & Replication стратегии защиты данных являются «2-в-1»: резервное копирование и репликация, реализованные в рамках одного продукта.

Достоинством механизма резервных копий является возможность отката на различные точки восстановления в прошлом, механизм же репликации позволяет получить минимальный показатель времени восстановления системы после сбоя — этим она особенно ценна для современных ЦОД. Сегодня я расскажу о новых возможностях репликации, которые увидят свет с выходом (уже в ноябре!) новой версии Veeam Backup & Replication 8.0.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 8.8K
Comments 0

Вышла новая версия Veeam Backup & Replication v8 (платная и бесплатная редакции)

Veeam Software corporate blog System administration *Virtualization *Data recovery *Backup *

На прошлой неделе вышла новая версия Veeam Backup & Replication v8, и в данной статье я опишу новые функциональные возможности, которые в ней появились, а также что из этого нового функционала доступно в бесплатной редакции продукта.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 19K
Comments 15