По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Такие большие, логически структурированные массивы, как базы данных, совершенно бессмысленны без систем управления реляционными данными (РСУБД). РСУБД – это программное решение, позволяющее взаимодействовать с базой данных (БД). Вы можете получать, добавлять или удалять данные, а также управлять доступом к хранимой информации. На рынке существует множество программных вариантов, и большинство из них распространяется с открытым исходным кодом, то есть бесплатно. Самыми известными решениями для веб-серверов являются MySQL и PostgreSQL. Выбор одного из вариантов зависит от ваших требований к рабочей нагрузке и назначению БД. В данной статье рассматриваются основные различия MySQL и PostgreSQL и приводится их подробное сравнение. Краткий обзор MySQL и PostgreSQL MySQL и PostgreSQL постоянно обновляются и улучшаются активным и изобретательным сообществом. Этот непрерывный процесс сокращает принципиальные отличия между двумя решениями. Тем не менее, в них есть существенные различия, которые проявляются при развертывании с большой рабочей нагрузкой. Прежде, чем перейти к подробному анализу каждого решения, предлагаем ознакомиться с кратким сравнением систем. MySQL PostgreSQL Предлагают как открытые, так и платные коммерческие версии. Бесплатная, полностью с открытым кодом. Очень быстрые и надежные. Адаптивная и многофункциональная. Делают акцент на скорости, а не следовании ключевым принципам SQL Придерживается 160 из 179 обязательных пунктов ключевых принципов и стандартов SQL. Идеальна для рабочих процессов в веб-решениях с интенсивным чтением данных. Идеальна для сложных запросов и больших баз данных. Темп разработки замедлился после того, как система стала частично проприетарным решением. Активное и многочисленное сообщество постоянно разрабатывает новые функции. MySQL возлагает функции безопасности на списки управления доступом (ACL). В PostgreSQL есть встроенная поддержка SSL и возможность шифрования связи между клиентом и сервером. Поддерживает управление параллельным доступом посредством многоверсионности (MVCC), но при условии, что оно поддерживается подсистемой хранения InnoDB Встроенная реализация MVCC. Стандартная репликация master-standby Несколько вариантов репликации Небольшая поддержка нереляционных функций Поддержка нескольких нереляционных функций Версия InnoDB совместима с ACID (атомарность, согласованность, изолированность, прочность) Полная совместимость с ACID Ограниченная поддержка расширяемости Возможность добавления новых функций, типов, индексных типов и т.д. По умолчанию добавлены геопространственные данные Возможность реализации геопространственных данных через расширения Ограниченная поддержка серверного программирования на нерасширяемом языке PostgreSQL поддерживает самые популярные языки программирования Поддерживает развертывание в контейнерах Docker Поддерживает развертывание в контейнерах Docker Сравнение производительности MySQL и PostgreSQL Измерение производительности РСУБД во многом зависит от требований, предъявляемых к базе данных. В базовых примерах обе системы управления БД работают одинаково хорошо. Производительность и скорость: PostgreSQL создавался для выполнения сложных операций; он совместим с множеством платформ и языков MQL не стремился следовать всем стандартам SQL, поэтому основной упор делается на скорость Основной упор в PostgreSQL сделан на совместимости; система показала превосходные результаты при использовании в сложных запросах, анализе чтения/записи, а также управления большими базами данных. Важно помнить, что PostgreSQL может серьезно повлиять на производительность памяти, поскольку каждое новое клиентское подключение создает отдельные ветку процесса весом в 10 МБ. MySQL ставил перед собой цель достичь максимальной скорости и простоты развертывания. Эта характеристика MySQL особенно полезна при простом обмене информации и рабочих процессах в веб-решениях с интенсивным чтением данных. Простота развертывания БД означает, что вы можете пользоваться MySQL для быстрого и горизонтального масштабирования данных. Лицензия и поддержка сообщества PostgreSQL – это бесплатное решение с полностью открытым исходным кодом. Лицензия Open Source означает, что исходный код находится в открытом доступе; кто угодно может его копировать, изменять и распространять. Такая схема создала активное сообщество разработчиков, которое постоянно анализирует текущее состояние системы и разрабатывает новые, улучшенные решения. MySQL доступна в бесплатном доступе с открытым кодом, а также в нескольких платных коммерческих версиях с проприетарной лицензией. Некоторые элементы и плагины доступны только в проприетарных версиях, что в итоге может приводить к дополнительным затратам. Кроме того, люди жалуются, что процесс разработки слегка замедлился, поскольку после покупки компанией Oracle, MySQL перестал быть системой с полностью открытым кодом. Соответствие SQL Современные приложения и базы данных часто имеют распределенную архитектуру. Следование официальным стандартам и руководствам SQL упрощает обмен данными между различными БД и помогает им соответствовать строгим регуляторным требованиям (например, GDPR, PCI и ISO). Соответствие SQL-стандартам: MySQL сосредоточена на увеличении скорости и надежности. В итоге MySQL не до конца соответствует стандартам ISO PostgreSQL придерживается большей части основных принципов и стандартов SQL; это портативная система, с которой легко интегрируются различные инструменты PostgreSQL и MySQL: синтаксические отличия MySQL и PostgreSQL основаны на одних и тех же стандартах SQL и активно пытаются следовать максимально возможному количеству требований. Так что синтаксис и команды в двух РСУБД практически одинаковы. Давайте рассмотрим несколько основных отличий, которые могут сказаться на управлении данными. Синтаксис PostgreSQL Синтаксис MySQL Данные из таблицы чувствительны к регистру. WHERE Company = ‘Merion’ это не то же самое, что WHERE Company = ‘merion’ Данные не чувствительны к регистру. WHERE Company = ‘Merion’ – это то же самое, что и WHERE Company = ‘merion’ PostgreSQL допускает использование только одиночных кавычек: Company = ‘merion’ Поддерживает одиночные и двойные кавычки: Company = ‘merion’, равно как и Company = “merion” Команды для даты и времени: CURDATE(), CURTIME(), EXTRACT() Команды для даты и времени: CURRENT_DATE(), CURRENT_TIME(), EXTRACT() Отличия в безопасности PostgreSQL и MySQL Необходимость защиты баз данных в РСУБД от вредоносной активности привела к созданию множества инструментов, протоколов безопасности и процедур. Главную функцию безопасности в MySQL выполняют списки управления доступом (ACL). В PostgreSQL встроена поддержка SSL, а для настройки разрешений пользователей используется функция ROLE. MySQL возлагает функцию безопасности на списки управления доступом (Access Control Lists - ACL), которые следят за всеми подключениями, запросами и другими операциями. Кроме того, предоставляется ограниченная поддержка подключений между MySQL-клиентами и серверами с SSL-шифрованием. Например, в MySQL есть сценарий, который повышает безопасность вашей БД за счет настройки пароля для пользователя root. Этот же сценарий автоматически удаляет все стандартные тестовые базы данных из вашей системы. Кроме того, MySQL поддерживает управление пользователями и позволяет настраивать уровни доступа для каждого пользователя. Для настройки разрешений пользователей PostgreSQL использует функцию ROLE. В ней есть встроенная поддержка SSL и шифрование обмена данными между клиентом и сервером. PostgreSQL также предлагает встроенное расширение под названием SE-PostgreSQL для настройки дополнительных элементов контроля доступа в соответствии с политикой безопасности SELinux. Удобство для пользователей и универсальность интерфейса Пользовательский интерфейс в PostgreSQL называется pgAdmin4. Он помогает начинающим пользователям выполнять сложные задачи и управлять базами данных. Основной акцент в PostgreSQL сделан на расширяемости, поэтому вы можете использовать pgAdmin4 для добавления новых типов данных, функций и типов индексов. Графический пользовательский интерфейс в MySQL называется Workbench. Этот инструмент объединяет в себе разработку, управление, проектирование, создание и поддержание базы данных в единую интегрированную среду СУБД MySQL. Языки программирования Один из важнейших аспектов, которые необходимо учитывать при переходе на новую среду, заключается в том, как это повлияет на сотрудников из отдела разработки и эксплуатации. Чем больше языков программирования поддерживает сервер базы данных, тем легче разработчикам добавлять новые функции и улучшать уже существующие. В этом плане PostgreSQL и MySQL поддерживает большое количество языков программирования. PostgreSQL MySQL C++, .NET, Java, Delphi, Perl, Lua, Node.js, Python, PHP, R, D, Erlang, Go, Lisp C, C++, Java, Perl, Delphi, Lua, Go, R, .NET, Node.js, Python, PHP, Erlang, Lisp, D Параллельная обработка данных Хорошо реализованный параллелизм позволяет многим людям из разных мест одновременно обращаться к БД и работать с ней без ограничений и угрозы противоречивости данных. Когда базе данных с управлением параллельным доступом посредством многоверсионности (MVCC - multi-versioning concurrency control) необходимо обновить данные, она не перезаписывает оригинальную информацию. Вместо этого она создает более свежую версию файла и сохраняет ее предыдущую копию. Это принципиально важный момент, если к вашим наборам данных одновременно должны обращаться многие подписчики. Если в системе отсутствует контроль параллельной обработки данных, то чтение из БД, пока другой процесс записывает в нее данные, приводит к несогласованности данных. Встроенная реализация MVCC позволяет достичь высочайшего уровня параллелизма в PostgreSQ MySQL тоже предлагает поддержку MVCC, но только если она поддерживается подсистемой хранилища InnoDB. Репликация базы данных Копирование данных из одного сервера БД в другую базу на другом сервере называется репликацией. При таком распределении информации группа пользователей сможет обращаться к новым данным, и это никак помешает работе других пользователей. Одной из самых сложных задач в репликации БД является поддержание согласованности данных внутри распределенной системы. MySQL и PostgreSQL предлагают различные возможности для репликации БД. PostgreSQL и MySQL поддерживают репликацию в виде master – standby (основной источник – резервная БД) и нескольких standby, а также предлагают ряд возможностей: PostgreSQL: логическая репликация; потоковая репликация; двунаправленная репликация. MySQL: репликация master – master; master – standby, перенаправленная на один или несколько резервных серверов; круговая репликация. Заключение PostgreSQL – это многофункциональная БД для обработки сложных запросов и больших баз данных. MySQL – это быстрое, надежное и популярное решение. MySQL относительно прост в установке и обслуживании. Функциональные возможности PostgreSQL и MySQL во многом схожи. PostgreSQL отличается от MySQL по определенным рабочим нагрузкам. Данная статья поможет вам принять осмысленное решение с учетом всех достоинств той или иной РСУБД.
img
Резервное копирование данных - важная часть как индивидуальной, так и корпоративной инфраструктуры. Машины с операционной системой Linux могут использовать rsync и ssh для облегчения процесса. Rsync - это утилита командной строки, которая позволяет передавать файлы в локальные и удаленные места. Rsync удобен в использовании, поскольку он по умолчанию входит в состав большинства дистрибутивов Linux. Вы можете настроить инструмент, используя многие из доступных опций. В этом случае мы будем использовать SSH в сочетании с rsync для защиты передачи файлов. Следуйте этому руководству, чтобы узнать, как использовать rsync для резервного копирования данных. В руководстве будет приведено несколько примеров, иллюстрирующих, как работает этот процесс. Базовый синтаксис Rsync для локальной и внешней передачи Синтаксис использования инструмента rsync отличается для локальной и удаленной передачи. Для локальных резервных копий синтаксис следует этой базовой схеме: rsync options SOURCE DESTINATION Для передачи файлов во внешнее хранилище мы будем использовать несколько иной шаблон: rsync options SOURCE user@IP_or_hostname:DESTINATION В обоих случаях источником и местом назначения являются каталог или путь к файлу. Резервное копирование данных с помощью Rsync Для лучшего понимания того, что делает rsync, мы будем использовать подробный ключ -v. Кроме того, поскольку мы будем создавать резервные копии данных в каталогах, мы будем использовать режим архива -a для рекурсивной синхронизации. Существует множество вариантов и примеров rsync, поэтому используйте любой из них, который вам нужен. Rsync Dry Run - Меры предосторожности Утилита rsync позволяет вам по-разному манипулировать вашими данными. Так что будьте осторожны при резервном копировании файлов. Если вы используете неправильный вариант или неправильный пункт назначения, вы можете смешать свои данные. Хуже того, вы можете случайно перезаписать или удалить файлы. По этой причине используйте параметр --dry-run, чтобы убедиться, что инструмент делает то, что вы хотите. Возможна случайная потеря данных, но этот параметр помогает предотвратить ее. Для простых передач вам может не понадобиться использовать --dry-run, но когда речь идет о большем наборе данных, мы настоятельно рекомендуем вам это сделать. Используйте основной формат синтаксиса и добавьте --dry-run: rsync options --dry-run SOURCE DESTINATION Используйте Rsync для локального резервного копирования данных Мы начнем с резервного копирования каталога на той же машине Linux. Путь может быть любым - другой раздел, жесткий диск, внешнее хранилище и так далее. Используйте полный путь как к источнику, так и к месту назначения, чтобы избежать ошибок. Например, чтобы создать резервную копию Dir1 из документов в /media/hdd2/rscync_backup, используйте команду rsync в этой форме: rsync -av /home/test/Documents/Dir1 /media/hdd2/rsync_backup На выходе отображается список переданных файлов и каталогов, а также другие сведения о передаче. Примечание. Чтобы создать новый каталог в месте назначения и создать в нем резервную копию файлов, добавьте в конец пути к месту назначения косую черту /. Если вы добавите завершающую косую черту к источнику, то исходный каталог не будет создан в месте назначения. Rsync передает только свое содержимое в этом случае. Используйте Rsync для резервного копирования данных по сети Для безопасного резервного копирования данных по сети rsync использует SSH для передачи. Ваш сервер должен быть настроен на разрешение SSH-соединения. Как только вам удастся подключиться к удаленному компьютеру через SSH, вы можете начать резервное копирование данных в место на этой машине. Например, чтобы создать резервную копию Dir1 для резервного копирования на другой машине по сети, введите: rsync -av /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup В выводе перечислены каталоги и файлы, перенесенные rsync на другой компьютер. Вы можете проверить, действительно ли файлы находятся на удаленном сервере: Если вы подключаетесь в первый раз, вам нужно будет ввести свой пароль и подтвердить его, когда вы получите запрос. Нет необходимости вводить имя пользователя для удаленных передач, если вы хотите подключиться как текущий пользователь. Примечание: вы можете избежать ввода пароля каждый раз, когда вы хотите создать резервную копию данных с помощью rsync через SSH. Настройте аутентификацию на основе ключей SSH, и вы сможете использовать беспарольный вход на удаленный компьютер. В примере, который мы использовали здесь, предполагается, что SSH использует порт по умолчанию. Если вам нужно указать другой порт для SSH-соединения, используйте флаг -e и введите параметры SSH. Чтобы указать порт 4455, например, выполните указанную выше команду в следующем формате: rsync -av -e 'ssh -p 4455' /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup При необходимости вы можете удалить исходные файлы после их переноса в другое место. Сжать данные при резервном копировании с помощью Rsync Чтобы сэкономить место, вы можете сжать свои данные перед их переносом в другое место. Вы можете использовать встроенную опцию rsync для сжатия данных или можете использовать другой инструмент для этого перед запуском rsync. Чтобы сжать данные во время передачи, используйте параметр -z с командой rsync. rsync -avz /home/test/Documents/Dir1 test@192.168.56.101:/home/test/backup Другой вариант - использовать команду zip, чтобы заархивировать ваши файлы или каталог, а затем запустить rsync. В нашем случае мы заархивируем Dir1 в Dir.zip: zip /home/test/Documents/Dir1.zip /home/test/Documents/Dir1 Затем перенесите этот файл в другое место: rsync -avz /home/test/Documents/Dir1.zip test@192.168.56.101:/home/test/backup Теперь у вас есть заархивированная копия вашего каталога на удаленном сервере. Вы также можете сделать это для локальных передач, если хотите иметь резервную копию на другом диске или разделе. Итог В этом руководстве показано, как создавать резервные копии данных с помощью rsync как локально, так и по сети. Будьте осторожны при использовании этого инструмента и обязательно выполните пробный запуск, если вы не уверены в параметрах rsync, которые хотите использовать.
img
В этой статье мы расскажем как исправить ошибку «System logs are stored on non-persistent storage» (Ваши события не будут сохранены при отключении сервера) в VMware ESXi Решение Проверка местоположения системных событий в vSphere Client (HTML5) В навигаторе vSphere Client выберите Hosts and Clusters view. Выберите хост-объект в навигаторе vSphere Client. Нажмите на вкладку Configure, затем System expander. В разделе System выберите Advanced System Settings. Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище. Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище. Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов. Примечание: Чтобы войти в datastore, запись Syslog.global.logDir должна быть в формате [Datastorename]/foldername. Чтобы войти в scratch partition в ScratchConfig.CurrentScratchLocation введите пустой формат или []/foldername. Версии ESXi 6.5, 6.7 и выше реагируют на изменения незамедлительно. Более старым версиям для этого может потребоваться перезагрузка. Проверка местоположения системных событий в vSphere Web Client Перейдите к хосту в навигаторе vSphere Web Client. Нажмите вкладку Manage, затем Settings. В разделе System выберите Advanced System Settings. Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище. Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище. Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов. Проверка местоположения системных событий в vSphere Client (vSphere 6.0 и более ранние версии) В программе vSphere Client выберите хост на инвентарной панели. Нажмите на вкладку Configuration, затем – на Advanced Settings в разделе Software. Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище. У каталога должны быть название и путь к хранилищу данных [datastorename] path_to_file. Например, [datastore1] /systemlogs. Если поле Syslog.global.logDir пустое или указывает scratch partition в качестве хранилища, убедитесь, что поле ScratchConfig.CurrentScratchLocation указывает в качестве местонахождения постоянное хранилище. Дополнительная информация Если вы видите, что работающий хост сохраняет информацию в хранилище scratch в формате >UUID (/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/foldername) и хотите, чтобы имя «friendly» отобразилось в вашем vCenter или host client view, вы можете: Подключиться к рабочему хосту через сеанс SSH и войти в систему с учетными данными root Использовать команду: # esxcli storage filesystem list. Выход будет приблизительно таким: /vmfs/volumes/ad495351-37d00fe1-c498-a82a72e0c050 abc-lun3 ad495351-37d00fe1-c498-a82a72e0c050 true VMFS-5 805037932544 400613703680 В этом примере abc-lun3 – это имя «friendly» хранилища данных, которое вы найдете в вашем vCenter или host client, и запись Syslog.global.logDir должна быть в формате [abc-lun3]/foldername.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59