предисловие
В последнее время я написал много статей по базам данных.В принципе, все хорошо разбираются в базе данных, да и в самой базе данных. Стоит ли вернуться к самому бизнесу?
Вы когда-нибудь узнавали о методе развертывания вашей собственной корпоративной базы данных? Как он был развернут и где он был развернут? Каковы возможные проблемы во время развертывания?
Это мастер? Или двойной мастер? Есть ли подбиблиотека? Большой стол разделен? Подождите... Методы развертывания, скорее всего, будут вложенными базами данных.Таблицы порядка более 10 миллионов в основном запустили вложенные таблицы.Рассмотренные предприятия также должны иметь холодное резервное копирование, горячее резервное копирование, аварийное восстановление, и удаленное хранение баз данных, катастрофы и т.д.
Я до сих пор помню, когда я делал проект в колледже, школа просто купила много физических машин. Наши проекты и базы данных все были развернуты на наших собственных внутренних серверах. Когда парень пришел летом, я гудел, и я был раздражен В компьютерном зале все еще жарко.
Но я готов поспорить, что предприятия, в которых вы сейчас работаете, скорее всего, используют методы развертывания услуг различных поставщиков облачных услуг, что наводит нас на первую мысль сегодня.
Почему база данных должна быть в облаке?
Большинство сервисов и баз данных нашей компании находятся в соответствующих облачных сервис-провайдерах, поэтому возникает вопрос, а зачем нам переходить в облако?
Размышляя над этим вопросом, я сразу подумал о законе противоречия,Каковы недостатки перехода к облаку?
-
Стоимость
По сравнению с традиционными серверами, которые необходимо покупать и арендовать, облачные серверы используют метод оплаты по мере использования, чтобы снизить затраты на покупку, а емкость для гибкого расширения можно определить в соответствии с вашими потребностями, без предварительной оценки того, сколько вам нужно использовать.
Команда по электронной коммерции, в которой я был раньше, каждый раз, когда мы приходили на большую акцию, мы арендовали машину трафика производителя облачных услуг и возвращали ее после завершения мероприятия.Это действительно максимизировало стоимость, и это все еще было оплачивается в соответствии с вашим трафиком использования.
Если вы все еще используете приобретенные вами серверы, следует ли вам сейчас совершать временные покупки? Хотя я знаю, что Baidu приобрела более N физических машин во время Весеннего фестиваля в определенном году, природа иная.Они могут максимально использовать эти серверы.Они могут даже разрабатывать облачные сервисы и сами становиться поставщиками облачных сервисов.На самом деле , они сделали то же самое.
-
представление
Облачный сервер реализует аппаратную изоляцию и эксклюзивный доступ к широкополосной связи, не ограничен по регионам, трафику и т. д. и может непрерывно вести деловые обмены, не влияя на эффект из-за перебоев.
Если вы по-прежнему используете физические машины, стоимость полосы пропускания при переходе на частную линию с оператором и производительность физических машин не обязательно будут выше.
Из-за текущей проблемы со стоимостью ваша компания купила много низкопрофильных серверов, но внезапно объем вашего бизнеса вырос в геометрической прогрессии, что вам делать? Продолжать покупать дорогие? Явно не очень подходит. Кто может это выдержать?
-
управлять
Облачный сервер может осуществлять удаленное синхронное управление, совместное использование и резервное копирование различных предприятий. Традиционный сервер должен находиться в определенной области сети, на которую может повлиять сеть и привести к потере данных.
Холодное резервное копирование, горячее резервное копирование и аварийное восстановление, о которых я упоминал выше, на самом деле могут выполняться серверами, которые мы купили, но очень расточительно иметь сервер, о котором мы не знаем, когда сможем его использовать.
И есть также вещи, которые он не может сделать, например аварийное восстановление.Если ваша компания находится в зоне землетрясения, если вы все еще используете физический сервер, это в основном равносильно самоубийству.Когда стихийное бедствие посылается, пользователи вокруг мир не может получить к вам доступ, поэтому все по-другому, когда вы передаете его поставщику услуг.Да, они очень требовательны к своему местонахождению, и они установили свои собственные центры обработки данных в разных местах, чтобы обеспечить высокую доступность.
-
Безопасность
Чтобы обеспечить надежность облачной платформы, компания, занимающаяся платформой облачных услуг, определенно приложит много усилий для создания надежной системы безопасности, и пользователям платформы не придется беспокоиться о стабильности платформы и проблемах безопасности.
Когда физическая машина повреждена владельцем с высокими привилегиями, это, по сути, неисправимая катастрофа.Хотя то же самое верно и для облачных сервисов, разумное использование и правильное слияние разрешений могут полностью обеспечить более высокий уровень безопасности.
Как мы все знаем об инциденте с Weimeng, если заранее сделать все виды полных бэкапов, в инкрементном бэкапе большой проблемы нет, и есть проблема сходимости разрешений.Наша компания отключила rm -rf, fdisk и дроп на соответствующий сервер базы данных.Такие экстремальные операции.
Все запросы к базе данных являются их собственными компонентными запросами, и даже обновление не может быть выполнено (только по коду).
Если вы все еще используете физическую машину, вам нужно обслуживать ее самостоятельно, обновлять и исправлять, и трудно гарантировать, что она не будет взломана.Я поздно сталкивался с исправлением сервера, что привело к атаке хакеров и захвату для майнинга Системы безопасности поставщиков услуг обновляются в режиме реального времени.
резюме:Особых обстоятельств нет, облачные продукты можно использовать напрямую, потому что облачные продукты предоставляют не только возможности продукта, но и аварийное восстановление, аварийное реагирование и сервисные возможности в критические моменты., Не все компании могут создать полный набор этих возможностей, и даже многие компании не могут об этом подумать.
Пока что хотя у крупных производителей облачных вычислений, в том числе и у их продуктов, проблемы такого рода еще есть, ноС системной точки зрения облако по-прежнему является наиболее полным и стандартизированным, прямо скажем, лучше, чем у 99% компаний.
Вопросы, которые следует учитывать при переходе в облако
Это очень интересно, когда я писал эту статью, наша компания занималась бизнесом в облаке, а также облачной миграцией, что напомнило мне много интересного.
Мы сейчас переходим с определенного облака на HUAWEI CLOUD.Я думаю, что все будут в этом сценарии, но какие проблемы принесет этот переход? Не знаю, думали ли вы об этом?
На самом деле, от локального к облаку или от облака к облаку точки для размышлений, вероятно, схожи, поэтому позвольте мне сначала задать несколько вопросов и посмотреть, как поставщики облачных услуг Huawei решают эти проблемы.
- Ошибка миграции: что делать, если миграция данных не удалась
- Потеря данных: как определить, полны ли данные после переноса
- Перерыв в бизнесе: что делать, если миграция на половину наткнулась на форс-мажор
- Шифрование данных и передачи: как шифровать данные во время передачи, чтобы предотвратить их получение злоумышленниками посередине
- Горячее переключение: как добиться непрерывного переключения и согласованности данных при переключении источника данных
Мы должны рассмотреть эти вопросы. Как вы думаете, миграция проста? Тогда я хотел бы спросить, а что, если это библиотека заказов? У крупных компаний электронной коммерции заказы каждую секунду, даже каждую миллисекунду, даже ранним утром, не спрашивайте меня, почему я знаю кашель.
Тогда вы не должны останавливать сервер для переноса базы данных.Вам нужно принять новые данные при переносе.В это время вам нужны некоторые навыки.Вы знаете перефразировку словаря Redis?
rehash
Когда нужно будет расшириться, Redis создаст новый хеш-словарь. В это время старый перестает получать данные, новые данные помещаются в новый словарь, а старые медленно переносятся. На самом деле эта идея может также можно использовать при миграции баз данных.Однако операции с базами данных часто основаны на данных, а не на инкрементных.
Это просто, и вы можете сделать некоторые хитрые операции.Производитель облака определенно учел все проблемы, о которых я упоминал выше.Я связался с HUAWEI CLOUD, и HUAWEI CLOUD использует DRS (службу репликации данных).Как он сделал миграцию базы данных?
DRS: служба репликации данных (DRS) — это простая в использовании, стабильная и эффективная облачная служба для онлайн-миграции баз данных и синхронизации баз данных в реальном времени. DRS построен на основе облачных баз данных, упрощая поток данных между базами данных и эффективно помогая вам снизить затраты на передачу данных.
Вы можете задаться вопросом, а почему бы вам не реализовать миграцию данных самостоятельно и не использовать чужие компоненты? На самом деле, если у вас нет лучшей идеи для колеса, вы должны просто использовать то, что написал кто-то другой.Можете ли вы сравнить результаты исследований и разработок профессиональной команды?
Однако реализация технологии и решаемая проблема все еще требуют нашего внимания, иначе DRS все сделает за нас, а мы решим ее, двигая мышью Как получить урожай? Об этом сегодняшняя дискуссия.
Позвольте мне рассказать о преимуществах использования колес: более низкие затраты, более низкие технические барьеры, более низкие риски.
- Трудозатраты и временные затраты очень дороги, если за нас можно сделать уже готовую вещь, зачем нам ее разрабатывать? Кроме того, я считаю, что в большинстве компаний до сих пор нет выделенного администратора баз данных, но, имея все необходимое, мы можем выполнять такие действия, как миграция в процессе разработки, верно? Не говоря уже о длительной и трудоемкой миграции нашей традиционной технологии, частота отказов действительно высока, есть сравнения данных и т. д., что очень головная боль.Мой предыдущий перенос базы данных был выполнен посреди ночи. , и это не может быть сделано за ночь, если это было сделано утром. , если это не хорошо, пользователь находится в сети, и он будет заблокирован.
Однако, даже если используются инструменты, полный процесс миграции базы данных должен быть очень строгим.Вы можете удивиться, насколько строгим он может быть. Я покажу вам картинку, и вы поймете:
Live Migration DRS Huawei облако, как это сделать?
Видно, что на диаграмме миграции используется VP*, основная функция которого — поддерживать высокую скорость и стабильность передачи, а также шифровать передаваемые данные, что делать, если ваш процесс синхронизации перехватят другие компании-конкуренты? В конце статьи вы можете увидеть, как HUAWEI CLOUD DRS реализует сетевую безопасность Я провел полную практику миграции и подвел итоги.
Миграционная практика
Его миграция очень проста, и есть учебники.Я использовал его один раз.Общие шаги таковы:
Как особый период миграции, деловое сотрудничество и человеческое сотрудничество являются наиболее важными, и следует избегать некоторых операций, таких как общие:
- Журнал исходной базы данных не может быть принудительно очищен
- Пароль пользователя, используемый для подключения к исходной базе данных, нельзя изменить или удалить.
- Таблица не может быть заблокирована на долгое время, чтобы внешний мир не мог запросить таблицу
Он может сделать предварительную проверку миграции перед миграцией.Из официальных документов все этапы проверки суммированы из прошлых случаев миграции, что может лучше гарантировать успех миграции.Однако я также потерпел неудачу из-за окружающей среды проблемы, и они дали очень четкие инструкции.
Я не знаю, думали ли вы об этом, то есть о переносе данных, но если параметры базы данных не переносятся, это будет очень хлопотно.Если инструмент миграции может перенести права пользователя, установленные администратором базы данных, а также различные триггеры, которые мы установили Настройки набора символов сервера и базы данных были перенесены. Это мой идеальный инструмент миграции. Да, HUAWEI CLOUD DRS сделал это. Это относительно хороший момент, и он действительно экономит много усилий.
Специально для разработчиков, которые не очень разбираются в различных настройках базы данных, эта функция действительно очень полезна, и есть параметры производительности, такие как различные размеры буфера, размеры кэша и т. д. Он может мигрировать, и даже поток. еще лучше, если вы можете изменить управление потоком в любое время:
Диверсификация режимов миграции, это мое первое чувство, когда я готов начать миграцию. Как я уже упоминал выше, это было бы бессмысленно, если бы ее нельзя было инкрементно мигрировать. меня Уголки моих глаз снова мокрые...
Потому что в большинстве сценариев мы постоянно переносим онлайн-сервисы.В процессе миграции все еще происходит приток добавочных данных.Миграции базы данных, которые Ao Bing испытал ранее, в основном полные + режим добавочной миграции, все сценарии существуют только в внутренние системы или автономные данные.
На самом деле, суть технологии здесь в том, как сделать так, чтобы инкрементные данные также могли гарантировать, что правильная миграция не будет потеряна. Я думаю, это синхронизируется через binlog. Я читал его документы и журналы и правильно угадал.
DRS предназначен для завершения миграции исторических данных в целевую базу данных посредством полного процесса миграции. На этапе добавочной миграции исходная и целевая базы данных поддерживаются в согласованном состоянии за счет записи журналов и применения таких технологий, как журналы. Согласованность здесь будет упомянута позже. , Он обеспечивает полную функцию сравнения данных.
Процесс миграции очень прост, прогресс виден полностью, а задержку данных тоже видно интуитивно:
После миграции DRS обеспечивает сравнение данных. На самом деле, когда я выполнял миграцию, мы делали это, сравнивая количество строк базы данных. Поскольку такого инструмента миграции не существует, я обнаружил, что сравнение контента очень приятное. , это удивляет. меня, потому что сравнение количества строк все же недостаточно строгое, а сравнение количества строк в измененном логе бесполезно.
После завершения сравнения нажмите «Просмотреть отчет о сравнении», чтобы узнать подробности сравнения. Страница сведений показана на рисунке ниже:
Для проблем сетевой безопасности, упомянутых выше, я также нашел ответ на DRS, они будут использовать определенный протокол шифрования для передачи данных, а также могут использовать определенный VP* для организации передачи по сети:
DRS также выполняет мониторинг миграции, что позволяет вам видеть ход миграции в режиме реального времени, что делает весь процесс миграции более наглядным, а исключения в середине понятны с первого взгляда.Честно говоря, инструмент действительно ароматный, и я даже не смел думать об этом раньше.Часто запоздалая мысль, визуализация процесса даст вам ощущение контроля над миграцией.
Миграция завершена:
От начала миграции до конца весь процесс на самом деле занял меньше 2 часов. Раньше я не смел думать об этом. Я очень доволен этой волной опыта. Она позволила мне делать то, что могут администраторы баз данных. делал раньше, и сказал Уголки глаз администратора баз данных рядом со мной тоже были влажными...
резюме
Я думаю, что в целом это очень хорошо.Я резюмирую несколько сценариев проектирования и использования, которые, как мне кажется, уникальны для DRS:
- Ограничение скорости миграции, установите верхний предел скорости миграции в соответствии с ограниченным периодом времени.
Сценарий применения:
-
Некоторые приложения, ориентированные на трафик, такие как производители игр и другие клиенты, при миграции переходят в общедоступную сеть и виртуальную сеть исходной базы данных.Не может быть полным (полная игра повлияет на его внешний бизнес или повлияет на общее ПОпропускная способность)
-
Некоторые бизнес-нагрузки велики или клиенты неприемлемы. Приложения для работы в рабочее время создают дополнительную нагрузку из-за миграции.
- Миграция пользователей (разрешения, пароли, определитель), полное наследование исходной системы разрешений
Сценарий применения:
- Имеющиеся на рынке продукты миграции не поддерживают миграцию пользователей, то есть, если пользователь не обращает внимания или не понимает миграцию пользователей, бизнес неизбежно сообщит об ошибке после миграции DRS обеспечивает полный набор наследования разрешений пользователя. дизайн, который может передавать разрешения, пароли, определитель. Сохранить миграцию в целевую базу данных, чтобы обеспечить безопасность разрешений и стабильность бизнеса после миграции, чтобы клиенты, которые не знакомы с базой данных, могли по-прежнему заполнять деликатную и высококачественную базу данных. миграция при миграции.
- Сравнение параметров, стабильность бизнеса после миграции
Сценарий применения:
- Имеющиеся на рынке продукты миграции не поддерживают миграцию параметров, а параметры базы данных отличаются, что напрямую приведет к ошибке в работе бизнес-программы (например, количество сессий после миграции станет меньше). ключевой бизнес и производительность. Это позволяет избежать бизнес-ошибок или снижения производительности из-за того, что эти параметры не наследуют настройки исходной среды в будущем, так что клиенты, которые не знакомы с базой данных, могут по-прежнему создавать прекрасную и высококачественную базу данных. миграция при миграции.
- Платформа для проверки данных, хороший помощник при переходе
Сценарий применения:
-
Имеющиеся на рынке продукты миграции не поддерживают сравнение данных, и корректура остается за пользователем для тестирования.DRS предоставляет богатые функции сравнения:
-
сравнение объектов
-
Сравнение уровня данных
-
Сравнение может быть назначено по времени и отменено
Используя запланированную задачу сравнения, вы можете выбрать раннее утро и другие периоды низкой деловой активности, чтобы сравнить согласованность данных, и вы можете просмотреть результаты сравнения данных на следующий день, чтобы вы могли полностью понять ситуацию миграции. Когда клиенты, не знакомые с базами данных, могут выполнить миграцию, они все же могут выполнить детальную и высококачественную миграцию базы данных.
- Миграция триггеров и событий
Сценарий применения:
- Имеющиеся на рынке продукты миграции не поддерживают миграцию триггеров и событий. Пользователи, имеющие опыт миграции, должны обратить внимание на эти детали, поскольку триггеры и события также являются частью базы данных. Триггеры и события имеют ключевую бизнес-логику. Эти объекты не поддерживает миграцию, и бизнес обязан сообщить об ошибке, а то и нанести непоправимый ущерб.
- Когда клиенты, не знакомые с базами данных, могут выполнить миграцию, они все же могут выполнить детальную и высококачественную миграцию базы данных.
Примечание: [Часть изображений взята из Интернета, взломана и удалена]
Суммировать
На самом деле, чтобы представить основу и технологию такой DRS, я в основном надеюсь выполнить с вами полную миграцию данных и обсудить сценарии, лежащие в основе технологии, и у нас должно быть техническое мышление, стоящее за сценариями.
Но этот опыт действительно заставил меня ощутить удобство технологии. Раньше миграция базы данных была полностью командной разработкой и тестированием. Команда не спала всю ночь, чтобы наблюдать за миграцией базы данных, и, наконец, можно было пройти проверочное испытание. их усталые тела и смотрели на восходящее солнце, уголки моих глаз мокрые...
Теперь я прочитал учебник и выполнил крупномасштабное упражнение по миграции базы данных на пальцах.Наслаждаясь удобством, которое дает технология, это также заставило меня глубоко погрузиться в конкретную реализацию технологии и смысл жизни.думаю.
Может быть, в этом ценность технологии, может быть, в этом смысл того, что так много инженеров трудятся день и ночь, может быть...
Я Ао Бин, чем больше ты знаешь, тем больше ты не знаешь, увидимся в следующий раз!