Содержание
Архитектурные подходы к хранилищу и данным в мультитенантных решениях — Azure Architecture Center
При планировании мультитенантного хранилища или компонентов данных необходимо выбрать подход к совместному использованию или изоляции данных клиентов. Данные часто считаются наиболее ценными частью решения, так как они представляют ценную бизнес-информацию ваших клиентов или ваших клиентов. Поэтому важно тщательно спланировать подход, используемый для управления данными в мультитенантной среде. На этой странице мы предоставляем рекомендации по ключевым соображениям и требованиям, необходимым для архитекторов решений при принятии решения о подходе к хранению данных в мультитенантной системе. Затем мы предлагаем некоторые распространенные шаблоны применения мультитенантности к службам хранения и данных, а также некоторые антишаблики, чтобы избежать. Наконец, мы предоставляем целевое руководство для некоторых конкретных ситуаций.
Ключевые рекомендации и требования
Важно учитывать подходы, используемые для служб хранилища и данных, с нескольких точек зрения, которые приблизительно соответствуют основам платформы Azure Well-Architected Framework.
Масштабирование
При работе со службами, в которых хранятся данные, следует учитывать количество клиентов и объем данных, которые вы храните. Если у вас есть небольшое количество клиентов (например, пять или меньше) и вы храните небольшие объемы данных для каждого клиента, скорее всего, это будет пустая попытка спланировать высокомасштабируемый подход к хранилищу данных или создать полностью автоматизированный подход к управлению ресурсами данных. По мере роста вы будете все более эффективно использовать четкую стратегию масштабирования данных и ресурсов хранилища, а также применять автоматизацию к управлению ими. Если у вас есть 50 клиентов или более, или если вы планируете достичь этого уровня масштабирования, то особенно важно разработать подход к данным и хранилищу с учетом масштаба в качестве ключевого вопроса.
Рассмотрим степень масштабирования и четко спланируйте архитектурный подход к хранилищу данных в соответствии с этим уровнем масштабирования.
Прогнозируемость производительности
Мультитенантные данные и службы хранения особенно подвержены проблеме шумного соседа. Важно учитывать, могут ли ваши клиенты влиять на производительность друг друга. Например, с течением времени клиенты имеют перекрывающиеся пиковые нагрузки в шаблонах использования? Используют ли все клиенты ваше решение одновременно каждый день или равномерно распределяют запросы? Эти факторы повлияют на уровень изоляции, необходимый для разработки, объем ресурсов, необходимых для подготовки, и степень совместного использования ресурсов между клиентами.
Важно учитывать ресурсы Azure и запрашивать квоты в рамках этого решения. Например, предположим, что вы развертываете одну учетную запись хранения для хранения всех данных клиентов. Если вы превышаете определенное количество операций хранилища в секунду, служба хранилища Azure отклонит запросы приложения, и все клиенты будут затронуты. Это называется поведением регулирования . Важно отслеживать регулирование запросов. Дополнительные сведения см. в руководстве по повторным попыткам для служб Azure .
Изоляция данных
При разработке решения, содержащего мультитенантные службы данных, обычно существуют различные варианты и уровни изоляции данных, каждый из которых имеет свои преимущества и компромиссы. Например:
- При использовании Azure Cosmos DB можно развертывать отдельные контейнеры для каждого клиента, а также совместно использовать базы данных и учетные записи между несколькими клиентами. Кроме того, можно рассмотреть возможность развертывания разных баз данных или даже учетных записей для каждого клиента в зависимости от требуемого уровня изоляции.
- При использовании службы хранилища Azure для данных BLOB-объектов можно развернуть отдельные контейнеры BLOB-объектов для каждого клиента или развернуть отдельные учетные записи хранения.
- При использовании Azure SQL можно использовать отдельные таблицы в общих базах данных или развертывать отдельные базы данных или серверы для каждого клиента.
- Во всех службах Azure можно рассмотреть возможность развертывания ресурсов в одной общей подписке Azure или использовать несколько подписок Azure, возможно, даже один на клиент.
Для каждой ситуации не существует единого решения. Выбранный вариант зависит от ряда факторов и требований клиентов. Например, если клиенты должны соответствовать определенным стандартам соответствия или нормативным требованиям, может потребоваться применить более высокий уровень изоляции. Аналогичным образом, у вас могут быть коммерческие требования к физической изоляции данных клиентов, или вам может потребоваться применить изоляцию, чтобы избежать проблемы с шумным соседем. Кроме того, если клиентам необходимо использовать собственные ключи шифрования, у них есть отдельные политики резервного копирования и восстановления, или они должны хранить свои данные в разных географических расположениях, может потребоваться изолировать их от других клиентов или сгруппировать их с клиентами, имеющими аналогичные политики.
Сложность реализации
Важно учитывать сложность реализации. Рекомендуется максимально упростить архитектуру, сохраняя при этом все равное соответствие вашим требованиям. Избегайте фиксации архитектуры, которая становится все более сложной по мере масштабирования или архитектуры, у вас нет ресурсов или опыта для разработки и обслуживания.
Аналогичным образом, если решение не требует масштабирования до большого количества клиентов или если у вас нет проблем с производительностью или изоляцией данных, лучше обеспечить простоту решения и избежать ненужных сложностей.
Особую озабоченность по поводу мультитенантных решений данных вызывает уровень поддержки настройки. Например, может ли клиент расширить модель данных или применить пользовательские правила данных? Убедитесь, что вы разрабатываете этот проект заранее. Избегайте вилки или предоставления пользовательской инфраструктуры для отдельных клиентов, так как это препятствует масштабированию, тестированию решения и развертыванию обновлений. Вместо этого рекомендуется использовать флаги компонентов и другие формы конфигурации клиента.
Сложность управления и операций
Рассмотрим, как вы планируете работать с решением и как подход к мультитенантности влияет на ваши операции и процессы. Пример:
- Рассмотрите возможность выполнения операций управления между клиентами, таких как регулярные действия по обслуживанию.
Если вы используете несколько учетных записей, серверов или баз данных, как инициировать и отслеживать операции для каждого клиента?
- Если вы отслеживаете или отслеживаете ваши клиенты, рассмотрите, как решение сообщает метрики и можно ли легко связать их с клиентом, который вызвал запрос.
- Для создания отчетов между изолированными клиентами может потребоваться, чтобы каждый клиент публиковал данные в централизованном хранилище данных, а не выполнял запросы к каждой базе данных по отдельности, а затем агрегировал результаты.
- Если вы используете базу данных, которая применяет схему, спланируйте развертывание обновлений схемы в пределах вашего пространства. Рассмотрим, как приложение знает, какая версия схемы будет использоваться для запросов к базе данных конкретного клиента.
- Учитывайте требования к высокой доступности клиентов (например, соглашения об уровне обслуживания и соглашения об уровне обслуживания) и требования к аварийному восстановлению (например, целевые показатели времени восстановления или ОСРВ, цели точек восстановления или RPO).
Если клиенты имеют разные ожидания, сможете ли вы соответствовать требованиям каждого клиента?
- Как перенести клиентов, если им нужно перейти на другой тип службы, другое развертывание или другой регион?
Cost
Как правило, чем выше плотность клиентов в инфраструктуре развертывания, тем ниже затраты на подготовку этой инфраструктуры. Однако общая инфраструктура повышает вероятность таких проблем, как проблема шумного соседа, поэтому тщательно рассмотрите компромиссы.
Подходы и шаблоны, которые следует учитывать
Несколько шаблонов проектирования из Центра архитектуры Azure имеют отношение к мультитенантным хранилищам и службам данных. Вы можете последовательно следовать одному шаблону. Или можно рассмотреть возможность смешивания и сопоставления шаблонов. Например, можно использовать мультитенантную базу данных для большинства клиентов, но развертывать метки с одним клиентом для клиентов, которые платят больше или имеют необычные требования. Аналогичным образом рекомендуется масштабировать с помощью меток развертывания, даже если в метках используется мультитенантная база данных или сегментированные базы данных.
Шаблон меток развертывания
Дополнительные сведения о том, как шаблон меток развертывания можно использовать для поддержки мультитенантного решения, см. в разделе «Обзор».
Общие мультитенантные базы данных и хранилища файлов
Вы можете развернуть общую мультитенантную базу данных, учетную запись хранения или общую папку, а также предоставить общий доступ ко всем клиентам.
Такой подход обеспечивает самую высокую плотность клиентов к инфраструктуре, поэтому она, как правило, приходится на самые низкие затраты любого подхода. Это также часто сокращает затраты на управление, так как существует отдельная база данных или ресурс для управления, резервного копирования и защиты.
Однако при работе с общей инфраструктурой необходимо учитывать несколько предостережений.
- При использовании одного ресурса учитывайте поддерживаемый масштаб и ограничения этого ресурса. Например, максимальный размер одной базы данных или хранилища файлов или максимальный предел пропускной способности в конечном итоге станет жестким блокировщиком, если архитектура использует одну базу данных.
Тщательно рассмотрите максимальный масштаб, который необходимо достичь, и сравните его с текущими и будущими ограничениями, прежде чем выбрать этот шаблон.
- Проблема «Шумный сосед» может стать фактором, особенно если у вас есть клиенты, которые особенно заняты или создают более высокие рабочие нагрузки, чем другие. Учитывая применение шаблона регулирования или шаблона ограничения скорости для устранения этих последствий.
- Возможно, у вас возникли трудности при мониторинге действий и измерении потребления для одного клиента. Некоторые службы, такие как Azure Cosmos DB, предоставляют отчеты об использовании ресурсов для каждого запроса, поэтому эти сведения можно отслеживать для измерения потребления для каждого клиента. Другие службы не предоставляют тот же уровень детализации. Например, метрики Файлы Azure для емкости файлов доступны для измерения общей папки только при использовании общих папок уровня «Премиум». Однако уровень «Стандартный» предоставляет метрики только на уровне учетной записи хранения.
- Клиенты могут иметь различные требования к безопасности, резервному копированию, доступности или расположению хранилища. Если они не соответствуют конфигурации одного ресурса, возможно, вы не сможете их разместить.
- При работе с реляционной базой данных или другой ситуацией, когда важна схема данных, настройка схемы на уровне клиента затруднена.
Шаблон сегментирования
Шаблон сегментирования включает развертывание нескольких отдельных баз данных, называемых сегментами, которые содержат данные одного или нескольких клиентов. В отличие от меток развертывания сегменты не подразумевают дублирование всей инфраструктуры. Вы можете сегментировать базы данных без дублирования или сегментирования другой инфраструктуры в решении.
Сегментирование тесно связано с секционированием, и термины часто используются взаимозаменяемо. Рассмотрим рекомендации по секционирования горизонтальных, вертикальных и функциональных данных.
Шаблон сегментирования может масштабироваться до очень большого количества клиентов. Кроме того, в зависимости от рабочей нагрузки вы можете достичь высокой плотности клиентов для сегментов, чтобы затраты могли быть привлекательными. Шаблон сегментирования также можно использовать для решения квот подписки Azure и служб, ограничений и ограничений.
Некоторые хранилища данных, такие как Azure Cosmos DB, обеспечивают встроенную поддержку сегментирования или секционирования. При работе с другими решениями, такими как Azure SQL, может быть сложнее создать инфраструктуру сегментирования и направить запросы в правильный сегмент для данного клиента.
Мультитенантное приложение с выделенными базами данных для каждого клиента
Другой распространенный подход заключается в развертывании одного мультитенантного приложения с выделенными базами данных для каждого клиента.
В этой модели данные каждого клиента изолированы от других, и вы можете поддерживать определенную степень настройки для каждого клиента.
Так как вы подготавливаете выделенные ресурсы данных для каждого клиента, затраты на этот подход могут быть выше, чем модели общего размещения. Однако Azure предоставляет несколько вариантов, которые можно рассмотреть для совместного размещения отдельных ресурсов данных в нескольких клиентах. Например, при работе с Azure SQL можно рассмотреть эластичные пулы. Для Azure Cosmos DB можно подготовить пропускную способность для базы данных , а пропускная способность совместно используется между контейнерами в этой базе данных, хотя этот подход не подходит, если требуется гарантированная производительность для каждого контейнера.
В этом подходе, так как только компоненты данных развертываются по отдельности для каждого клиента, скорее всего, можно достичь высокой плотности для других компонентов в решении и снизить затраты на эти компоненты.
При подготовке баз данных для каждого клиента важно использовать подходы к автоматическому развертыванию.
Шаблон геообъектов
Шаблон geode предназначен специально для географически распределенных решений, включая мультитенантные решения. Он поддерживает высокую нагрузку и высокий уровень устойчивости. При работе с шаблоном geode уровень данных должен иметь возможность реплицировать данные в географических регионах и поддерживать операции записи с несколькими географическими регионами.
Azure Cosmos DB предоставляет многопользовательские операции записи для поддержки этого шаблона, а Cassandra поддерживает кластеры с несколькими регионами. Другие службы данных обычно не могут поддерживать этот шаблон без существенной настройки.
Неподходящие антишаблоны
При работе с мультитенантными службами данных важно избегать ситуаций, которые препятствуют масштабированию.
К реляционным базам данных относятся:
- Изоляция на основе таблиц. При работе в одной базе данных не создавайте отдельные таблицы для каждого клиента. При использовании этого подхода отдельная база данных не сможет поддерживать очень большое количество клиентов, и становится все труднее запрашивать, администрировать и обновлять данные. Вместо этого рассмотрите возможность использования одного набора мультитенантных таблиц со столбцом идентификатора клиента.
Кроме того, можно использовать один из описанных выше шаблонов для развертывания отдельных баз данных для каждого клиента.
- Настройка клиента на уровне столбца. Избегайте применения обновлений схемы, которые применяются только к одному клиенту. Например, предположим, что у вас есть одна мультитенантная база данных. Избегайте добавления нового столбца в соответствии с требованиями конкретного клиента. Это может быть приемлемо для небольшого количества настроек, но это быстро становится неуправляемым, если у вас есть большое количество настроек для рассмотрения. Вместо этого рекомендуется пересмотреть модель данных, чтобы отслеживать пользовательские данные для каждого клиента в выделенной таблице.
- Изменения схемы вручную. Не обновляйте схему базы данных вручную, даже если у вас есть только одна общая база данных. Легко потерять отслеживание примененных обновлений, и если вам нужно увеличить масштаб до дополнительных баз данных, сложно определить правильную схему для применения.
Вместо этого создайте автоматизированный конвейер для развертывания изменений схемы и согласованного использования. Отслеживайте версию схемы, используемую для каждого клиента в выделенной базе данных или таблице подстановки.
- Зависимости версий. Избегайте того, чтобы приложение зависело от одной версии схемы базы данных. При масштабировании может потребоваться применить обновления схемы в разное время для разных клиентов. Вместо этого убедитесь, что версия приложения совместима по крайней мере с одной версией схемы и избежать разрушительных обновлений схемы.
Базы данных
Существуют некоторые функции, которые могут быть полезны для мультитенантности. Однако они недоступны во всех службах баз данных. Учитывайте, нужны ли они, если вы решите использовать службу для вашего сценария:
- Безопасность на уровне строк может обеспечить изоляцию безопасности для данных конкретных клиентов в общей мультитенантной базе данных. Эта функция доступна в Azure SQL и Postgres Flex, но она недоступна в других базах данных, таких как MySQL или Azure Cosmos DB.
- Шифрование на уровне клиента может потребоваться для поддержки клиентов, которые предоставляют собственные ключи шифрования для своих данных. Эта функция доступна в Azure SQL как часть Always Encrypted. Azure Cosmos DB предоставляет ключи, управляемые клиентом, на уровне учетной записи, а также поддерживает Always Encrypted.
- Пул ресурсов позволяет совместно использовать ресурсы и затраты между несколькими базами данных или контейнерами. Эта функция доступна в эластичных пулах и управляемых экземплярах Azure SQL, а также в пропускной способности базы данных Azure Cosmos DB, хотя каждый из них имеет ограничения, которые следует учитывать.
- Сегментирование и секционирование имеют более надежную встроенную поддержку в некоторых службах, чем другие. Эта функция доступна в Azure Cosmos DB с помощью логического и физического секционирования, а также в Гипермасштабировании PostgreSQL. Хотя Azure SQL изначально не поддерживает сегментирование, он предоставляет средства сегментирования для поддержки этого типа архитектуры.
Кроме того, при работе с реляционными базами данных или другими базами данных на основе схем следует учитывать, где следует активировать процесс обновления схемы при обслуживании парка баз данных. В небольшом пространстве баз данных можно использовать конвейер развертывания для развертывания изменений схемы. По мере роста уровень приложения может быть лучше для обнаружения версии схемы для конкретной базы данных и запуска процесса обновления.
Хранилище файлов и BLOB-объектов
Рассмотрите подход, используемый для изоляции данных в учетной записи хранения. Например, можно развернуть отдельные учетные записи хранения для каждого клиента или предоставить общий доступ к учетным записям хранения и развернуть отдельные контейнеры. Кроме того, можно создать общие контейнеры больших двоичных объектов, а затем использовать путь к большому двоичному объекту для разделения данных для каждого клиента. Рассмотрите ограничения и квоты подписки Azure, а также тщательно спланируйте рост, чтобы обеспечить масштабирование ресурсов Azure для поддержки ваших будущих потребностей.
Если вы используете общие контейнеры, тщательно спланируйте стратегию проверки подлинности и авторизации, чтобы клиенты не могли получить доступ к данным друг друга. При предоставлении клиентам доступа к ресурсам службы хранилища Azure учитывайте шаблон ключа valet.
Распределение затрат
Рассмотрим, как измерять потребление и распределять затраты для клиентов для использования общих служб данных. По возможности старайтесь использовать встроенные метрики вместо вычисления собственных. Однако при использовании общей инфраструктуры становится трудно разделить данные телеметрии для отдельных клиентов. Необходимо учитывать пользовательские метрики на уровне приложения.
Как правило, облачные службы, такие как Azure Cosmos DB и Хранилище BLOB-объектов Azure, предоставляют более детализированные метрики для отслеживания и моделирования использования для конкретного клиента. Например, Azure Cosmos DB предоставляет потребляемую пропускную способность для каждого запроса и ответа.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Джон Даунингс | Главный инженер клиентов, FastTrack для Azure
Другие участники:
- Пол Берпо | Главный инженер клиентов, FastTrack для Azure
- Дэниел Скотт-Рейнсфорд | Стратег партнерских технологий
- Арсен Владимирский | Главный инженер клиентов, FastTrack для Azure
Чтобы просмотреть профили LinkedIn, не являющиеся общедоступными, войдите в LinkedIn.
Дальнейшие действия
Дополнительные сведения о мультитенантности и конкретных службах Azure см. в статье:
- Мультитенантность и служба хранилища Azure
- Мультитенантность и база данных Azure SQL
- Мультитенантность и Azure Cosmos DB
Университет Шарда | Учеба в Индии
Об Университете
Университет Шарда предоставляет образование мирового класса с 1996 года. Название университета «Шарда» является синонимом «Богини знаний и обучения — Сарасвати». Это самая большая образовательная группа, базирующаяся в Уттар-Прадеше, насчитывающая более 13 000 студентов и более 1200 преподавателей. В нем более 47 500 выпускников, которые сегодня являются профессионалами в своей области. Благодаря современным кампусам в Агре, Матхуре и Большой Ноиде группа изменила восприятие образования, приняв более широкий подход и сосредоточив внимание на общем развитии человека.
Расположенный на 180 акрах земли с 3,5 миллионами квадратных футов инфраструктуры, университет заслужил доверие и уважение как прогрессивный провайдер образования с успешными выпускниками и опытными преподавателями.
Университет одобрен UGC и гордится тем, что является единственным многопрофильным кампусом в NCR, раскинувшимся на 63 акрах и оснащенным оборудованием мирового класса.
Университет Шарда обещает стать одним из ведущих университетов Индии с признанной репутацией в области исследований и преподавания. Благодаря своим выдающимся преподавателям, стандартам преподавания мирового класса и инновационным академическим программам Sharda намерена установить новую планку в системе образования Индии.
Его миссия
- Развитие глубоких дисциплинарных знаний, способности решать проблемы, лидерских качеств, навыков общения и межличностного общения.
- Укрепление гибкой кредитной системы для междисциплинарного обучения с целью обогащения академического опыта.
- Обеспечение участия студентов в деятельности по продвижению по службе через программы обмена, студенческое предпринимательство, волонтерство и обучение на рабочем месте.
- Сосредоточение внимания на крепких отношениях наставника и подопечного, которые повышают общую индивидуальность учащихся и готовят их к решению будущих проблем.
- Поощрение студентов к тому, чтобы они учились на протяжении всей жизни и усваивали необходимые навыки для служения обществу на самом высоком уровне.
Программы
- Бизнес-аналитика
- Облачные вычисления
- Управление проектом
- Управление цепочками поставок
- Корпоративные инновации
- Цифровой маркетинг/менеджмент
- Развитие личности
- Деловое общение
- Дизайн бизнес-процессов
- Лидерство и менеджмент
- Предпринимательство
- Семейный бизнес
Оснащение кампуса
В кампусе Университета Шарда имеется широкий спектр исключительных возможностей для создания среды, в которой вы можете формировать свое будущее. У них есть различные кафе и рестораны для конференций и встреч, специальных мероприятий, приемов и спортивных соревнований. Они придают огромное значение своим объектам и учебным ресурсам и постоянно следят за тем, чтобы их сотрудники и студенты имели полный доступ ко всему, что им нужно, чтобы помочь им добиться успеха в работе и учебе.
Они знают, как важно отдохнуть от стрессов академической жизни и расслабиться с друзьями. Их жилье, принадлежащее и управляемое университетом, предлагает выбор более тихой обстановки и превосходные социальные возможности для тех, кто хочет встретить новых друзей. Их спортивные центры предоставляют фантастические возможности для людей с любым уровнем подготовки. Безопасность и комфорт наших сотрудников и студентов являются для них первоочередной задачей. Парк университетских автобусов предоставляет своим студентам возможность посадки и высадки и предлагает им комфортное путешествие.
Государственная принадлежность
Утверждение UGC
Комиссия по университетским грантам после детальной проверки физической и академической инфраструктуры предоставила им регистрацию в соответствии с разделом 2 Закона о UGC 1956 года.
Комиссия по университетским грантам уполномочила их присуждать степени в соответствии с разделом 22 Закона о UGC 1956 года.
Утверждение правительства
Университет Шарда — государственный университет, финансируемый из частных источников, учрежденный постановлением Законодательного собрания штата Уттар-Прадеш (14 от 2009 г.)
Правительство штата Уттар-Прадеш выдало им свидетельство об отсутствии возражений для управления Университетом.
Что мы можем сделать для вас, чтобы вы начали учиться в стране Индия в учебном заведении Университет Шарда?
World.uz – официальный представитель многих учебных заведений за границей. Мы используем наработанные технологии поиска академических программ и успешные стратегии поступления, поэтому наши клиенты не тратят время на поиск информации и совершение лишних шагов. Пока мы занимаемся Вашим поступлением, Вы можете подтянуть иностранный язык или подготовиться к экзаменам.
- Бесплатно дадим информацию по обучению в стране — Индия;
- Подберём университет, школу, курсы и академическую программу;
- Подготовим правильный комплект документов;
- Отправим заявку в учебное заведение;
- Подадим документы на стипендию/грант;
- Поможем оформить студенческую визу;
- Организуем трансфер до дверей учебного заведения.
Для того чтобы получить бесплатную консультацию, просто заполните форму ниже и мы свяжемся с вами в течении рабочего дня!
Получить бесплатную консультацию
Ваше полное имя
Ваш телефон номер
Регион
АндижанБухараДжиззакФерганаХорезмНаманганНавоиКашкадарьяСамаркандСырдарьяСурхандарьяТашкентская областьКаракалпакстанТашкент город
Твое сообщение
НетДа
Captcha
Связанные программы
Посмотреть больше
Пожалуйста, позвоните мне!
Ваше имя
Телефон номер
Captcha
Что такое Шардинг?
ПоискOracle
По
- Рахул Авати
- Джеймс Денман
Что такое шардинг?
Шардинг — это тип разделения базы данных, который разделяет большие базы данных на более мелкие, более быстрые и более простые в управлении части. Эти более мелкие части называются осколками данных 9.0026 . Слово осколок означает «маленькая часть целого».
Горизонтальное и вертикальное разделение
Разделение включает в себя разделение и распределение одного логического набора данных по нескольким базам данных, которые не имеют ничего общего и могут быть развернуты на нескольких серверах. Для сегментирования строки или столбцы большой таблицы базы данных разбиваются на несколько меньших таблиц.
Когда логический сегмент хранится на другом узле, он называется физическим сегментом 9.0026 . Один физический сегмент может содержать несколько логических сегментов. Осколки автономны и не используют одни и те же данные или вычислительные ресурсы. Вот почему они являются примером архитектуры без общего доступа. В то же время данные во всех шардах представляют собой логический набор данных.
Разделение может быть горизонтальным или вертикальным:
- Горизонтальное сегментирование.
Когда каждая новая таблица имеет одинаковую схему, но уникальные строки, это называется горизонтальным сегментированием . В этом типе сегментирования к существующему стеку добавляется больше машин, чтобы распределить нагрузку, увеличить скорость обработки и поддерживать больший трафик. Этот метод наиболее эффективен, когда запросы возвращают подмножество строк, которые часто группируются вместе.
- Вертикальное сегментирование . Когда каждая новая таблица имеет схему, которая является точным подмножеством схемы исходной таблицы, это называется вертикальным сегментированием . Это эффективно, когда запросы обычно возвращают только подмножество столбцов данных.
Ниже показано, как выглядят новые таблицы, когда для одного и того же исходного набора данных выполняется как горизонтальное, так и вертикальное сегментирование.
Исходный набор данных
Студенческий билет | Имя | Возраст | Майор | Родной город |
1 | Эми | 21 | Экономика | Остин |
2 | Джек | 20 | История | Сан-Франциско |
3 | Мэтью | 22 | Политология | Нью-Йорк |
4 | Прия | 19 | Биология | Гэри |
5 | Ахмед | 19 | Философия | Бостон |
Горизонтальные осколки
Осколок 1
Студенческий билет | Имя | Возраст | Майор | Родной город |
1 | Эми | 21 | Экономика | Остин |
2 | Джек | 20 | История | Сан-Франциско |
Осколок 2
Студенческий билет | Имя | 9 лет0065 | Майор | Родной город |
3 | Мэтью | 22 | Политология | Нью-Йорк |
4 | Прия | 19 | Биология | Гэри |
5 | Ахмед | 19 | Философия | Бостон |
Вертикальные осколки
Осколок 1
Студенческий билет | Имя | Возраст |
1 | Эми | 21 |
2 | Джек | 20 |
Осколок 2
Студенческий билет | Майор |
1 | Экономика |
2 | История |
Осколок 3
Студенческий билет | Родной город |
1 | Остин |
2 | Сан-Франциско |
Преимущества шардинга
Разделение часто используется в масштабируемых архитектурах баз данных. Поскольку сегменты меньше, быстрее и проще в управлении, они помогают повысить масштабируемость базы данных, производительность и администрирование. Разделение также снижает транзакционные издержки базы данных.
Горизонтальное масштабирование, также известное как масштабирование , , помогает создать более гибкую структуру базы данных, что особенно полезно для параллельной обработки. Он обеспечивает почти неограниченную масштабируемость для интенсивных рабочих нагрузок и требований к большим данным. Благодаря горизонтальному сегментированию пользователи могут оптимально использовать все вычислительные ресурсы кластера для каждого запроса. Этот метод сегментирования также ускоряет разрешение запросов, поскольку каждой машине приходится сканировать меньше строк при ответе на запрос.
Вертикальное сегментирование увеличивает объем оперативной памяти или хранилища, а также повышает производительность центрального процессора (ЦП). Таким образом, увеличивается мощность отдельной машины или сервера.
Разделенные базы данных также обеспечивают более высокую доступность и смягчают последствия простоев, поскольку во время простоя становятся непригодными для использования только те части приложения, которые полагаются на отсутствующие фрагменты данных. Сегментированная база данных также реплицирует сегменты резервных копий на дополнительные узлы, чтобы еще больше свести к минимуму ущерб из-за сбоя. Напротив, приложение, работающее без сегментированных баз данных, может быть полностью недоступно после сбоя.
Еще одно преимущество сегментирования заключается в том, что оно увеличивает пропускную способность чтения/записи, когда такие операции ограничены одним сегментом.
Разница между шардингом и секционированием
Хотя сегментация и секционирование разбивают большую базу данных на более мелкие базы данных, между этими двумя методами есть разница.
После сегментации базы данных данные в новых таблицах распределяются по нескольким системам, но при секционировании это не так. Разделение группирует подмножества данных в одном экземпляре базы данных.
Типы архитектуры сегментирования
Ниже приведены основные типы архитектур сегментирования.
Шардинг на основе ключей
В сегментировании на основе ключа, которое также известно как хэш на основе сегментирования , данные подключаются к хеш-функции, чтобы определить, к какому сегменту должно относиться каждое значение данных.
Хэш-функция принимает часть входных данных и генерирует дискретное выходное значение, известное как хэш-значение . В сегментировании на основе ключа хеш-значение — это идентификатор сегмента, который определяет, в каком сегменте хранятся данные. Все значения, введенные в хэш-функцию, поступают из одного и того же столбца, известного как 9.0025 ключ сегмента , чтобы обеспечить последовательное размещение записей и соответствующих сопутствующих данных в правильных сегментах.
Этот ключ является статическим, т. е. его значения не меняются со временем. Если они это сделают, это может снизить производительность.
Чтобы понять сегментирование на основе ключей, рассмотрим этот пример.
Столбец 1 в большой базе данных
Столбец 1 |
МН |
ОП |
АВ |
CD |
После прохождения столбца через хеш-функцию хэш-значения генерируются на основе идентификатора сегмента. Столбцы с похожими хеш-значениями хранятся в одном сегменте.
Столбец 1 | Хэш-значения |
МН | 2 |
ОП | 1 |
АБ | 2 |
CD | 1 |
Итак, два осколка могут выглядеть следующим образом.
Осколок 1
Столбец 1 | Столбец 1 |
ОП | Значение 1 |
CD | Значение 2 |
Осколок 2
Столбец 1 | Столбец 1 |
МН | Значение 3 |
АВ | Значение 4 |
Преимущества сегментирования на основе ключей
- подходит для равномерного распределения данных для предотвращения горячих точек; и
- нет необходимости вести карту данных, так как данные распределяются алгоритмически.
Недостатки сегментирования на основе ключей
- сложно динамически добавлять или удалять дополнительные серверы в базе данных;
- при перебалансировке данных как новые, так и старые функции хеширования могли стать недействительными; и
- во время миграции серверы не могут записывать новые данные, что может привести к простою приложения.
Сегментация на основе ключей, сегментация на основе диапазона и сегментация на основе каталогов
Что такое сегментирование на основе диапазона?
Как следует из названия, сегментация на основе диапазона включает сегментацию данных в соответствии с диапазонами заданного значения. Диапазон основан на поле, которое известно как ключ осколка .
Например, в базе данных, в которой хранится информация об оценках учащихся, сегменты можно использовать для классификации данных на основе различных диапазонов оценок.
Студент | Марки |
Адам | 89 |
Бен | 95 |
Екатерина | 54 |
Дэвид | 33 |
Элизабет | 68 |
Али | 76 |
Часть 1. Учащиеся с оценками от 0 до 60
Студент | Марки |
Екатерина | 54 |
Дэвид | 33 |
Часть 2. Учащиеся с оценками от 60 до 85
Студент | Марки |
Элизабет | 68 |
Али | 76 |
Часть 3. Учащиеся с оценками от 85 до 100
Студент | Марки |
Адам | 89 |
Бен | 95 |
Преимущества сегментации на основе диапазонов
- простая реализация; и
- простой алгоритм, так как разные шарды имеют одинаковую схему как друг к другу, так и к исходной базе данных.
Недостатки сегментации на основе диапазона
- может создавать точки доступа к базе данных, поскольку данные могут быть распределены неравномерно; и
- неправильный выбор ключа сегмента может привести к несбалансированности сегментов и отрицательно сказаться на производительности.
Что такое сегментирование на основе каталогов?
При сегментировании на основе каталогов создается и поддерживается таблица поиска. Он использует ключ сегмента, чтобы отслеживать, какой сегмент содержит какие данные.
Рассмотрим базу данных, содержащую информацию о студентах.
Раздел | Имя ученика | Фамилия студента |
С | Алекс | Хейлз |
Б | Бен | Дэвис |
А | Крейг | Зал |
Д | Дэвид | Копперфильд |
Столбец Section ниже определяется как ключ осколка. Данные из ключа сегмента записываются в таблицу поиска с сегментом, в который должна быть записана каждая соответствующая строка.
Секция (Осколок) | Идентификатор осколка |
А | С1 |
Б | С2 |
С | С3 |
Д | С4 |
Осколок S1
А | Крейг | Зал |
Осколок S2
Б | Бен | Дэвис |
Осколок S3
С | Алекс | Хейлз |
Осколок S4
Д | Дэвид | Копперфильд |
Преимущества сегментирования на основе каталогов
- обеспечивает большую гибкость с точки зрения динамического назначения данных шардам;
- превосходит сегментирование на основе ключей, поскольку не требует хэш-функции; и
- превосходит сегментирование на основе диапазона, поскольку привязывает каждый ключ к своему конкретному сегменту.
Недостатки сегментирования на основе каталогов
- может отрицательно сказаться на производительности приложения, поскольку требует подключения к таблице поиска перед каждым запросом или записью; и
- повреждение или сбой таблицы поиска может привести к потере данных или проблемам с доступом.
Последнее обновление: январь 2022 г.
Продолжить чтение О шардинге
- Что такое распределенная система баз данных?
- Открытое и проприетарное управление базами данных
- Прочтите об immudb (неизменяемой базе данных) — «защищенной от несанкционированного доступа» базе данных
- Как сегментация блокчейна решает проблему масштабируемости блокчейна
- Декомпозиция монолитной базы данных для микросервисов
Копайте глубже в администрировании базы данных Oracle
первичный ключ (основное ключевое слово)
Автор: Кинза Ясар
Сравните типы баз данных NoSQL в облаке
Автор: Курт Марко
Столбцы и строки: в чем разница?
Автор: Кэмерон Маккензи
Терминология блокчейна: глоссарий для начинающих
Автор: Эндрю Фрелих
Управление данными
-
Различия между хранилищем данных и киоском данныхВитрины данных и хранилища данных играют ключевую роль в процессах бизнес-аналитики и аналитики.
Вот чем они отличаются и какими могут быть…
-
CockroachDB привносит определяемые пользователем функции в распределенный SQLПользовательские функции добавлены в новое обновление базы данных Cockroach Labs, направленное на улучшение разработки приложений. Выпуск также…
-
Disney повышает эффективность интеграции данных с помощью AWS GlueВо время пандемии компания Disney обновила процесс интеграции данных после того, как существующие данные гиганта медиа и развлечений …
Бизнес-аналитика
-
Люди и процессы — ключ к успешной стратегии аналитикиОбязательство высшего руководства, включая назначение руководителей по работе с данными, которое приводит к процессам, позволяющим принимать решения на основе данных…
-
Инструменты аналитики AWS помогают французской коммунальной компании стать «зеленой»Пакет гиганта облачных вычислений позволил Engie SA отказаться от ископаемого топлива и теперь помогает французской коммунальной.
..
-
Поставщик ипотечных данных использует Qlik для создания аналитической платформыКомпания Polygon Research использовала инструменты поставщика аналитических услуг для разработки платформы SaaS, состоящей из девяти информационных панелей, которые …
ПоискSAP
-
Безопасность SAP требует определенных навыков, командной работыКритические уязвимости SAP вызывают постоянную озабоченность, и их количество растет по мере того, как системы SAP становятся все более открытыми благодаря цифровому преобразованию и…
-
Платформа SAP с низким кодом надеется заполнить пробелы разработчиковSAP Build, новая платформа с низким кодом, дебютировавшая на SAP TechEd, предназначена для того, чтобы бизнес-пользователи могли создавать приложения, но она …
-
SAP Sustainability Control Tower стремится упростить отчетность ESGSAP Sustainability Control Tower позволяет компаниям любого размера собирать данные ESG и управлять ими.
Обновленная модель SaaS ориентирована на…
TheServerSide.com
-
Скрам против Канбана: в чем разница?Когда вы сравниваете Scrum и Kanban, вы понимаете, что между ними столько же общего, сколько и различий. Здесь мы поможем вам выбрать …
-
Различия между Java и TypeScript должны знать разработчикиВы знаете Java? Вы пытаетесь изучить TypeScript? Вот пять различий между TypeScript и Java, которые сделают …
-
Владелец продукта и менеджер продукта: в чем разница?Работа менеджера по продукту в компании сильно отличается от роли владельца продукта в команде Scrum. Узнать ключ…
Центр обработки данных
-
Ключевые различия между стандартами BICSI и TIA/EIA
Стандартыдля центров обработки данных помогают организациям проектировать объекты с учетом эффективности и безопасности.
Организации могут использовать BICSI и TIA …
-
Лучшее программное обеспечение для управления инфраструктурой ЦОД в 2023 году
ИнструментыDCIM могут улучшить управление и эксплуатацию центра обработки данных. Узнайте, как шесть известных продуктов могут помочь организациям контролировать …
-
Используйте стандарты центров обработки данных NFPA, чтобы избежать рисков возгоранияПожар в центре обработки данных может повредить оборудование, привести к потере данных и причинить вред персоналу. Посмотрите на противопожарную защиту NFPA …
Управление контентом
-
7 лучших практик для стратегий управления знаниямиОрганизации не могут развернуть стратегию управления знаниями за один день. Тем не менее, с помощью этих передовых методов эти предприятия могут …
-
Как правильно выбрать PIM-систему для вашего бизнеса
9Системы 0024 PIM гарантируют, что каналы продаж отображают точную информацию о продукте.Чтобы найти правильную систему, лидеры электронной коммерции должны сначала …
-
PIM и DAM: в чем разница?
СистемыPIM и DAM помогают розничным торговцам управлять информацией, но они сосредоточены на разных типах информации. Агрегат систем PIM …
HRSoftware
-
Гигантская работа остается популярной, поскольку недостатки взвешиваются, а контроль растетГигантская и нестандартная работа подвергается нападкам в Вашингтоне и, вероятно, столкнется с новыми препятствиями в 2023 году. Департамент труда и …
-
Компенсация EEOC в размере 8 миллионов долларов с Circle K направлена на изменение культурыСоглашение Circle K на этой неделе с Комиссией по обеспечению равных возможностей при трудоустройстве включает положения о мониторинге, в том числе …
-
7 стратегий привлечения талантов для лучшего найма в 2023 годуПо мере того, как пандемия отступает, а стоимость жизни растет, кандидаты ищут более высокую оплату в других местах.
Будьте готовы с …
Shard Определение и значение — Merriam-Webster
ˈshärd
1
а
: кусок или фрагмент хрупкого вещества
осколки стекла
широко
: небольшой кусочек или деталь : лом
маленькие осколки времени и пространства, зафиксированные объективом камеры Розалинда Краусс
б
: корпус, шкала
специально
: надкрылья
2
или черепок
ˈshərd
: фрагмент гончарного сосуда, найденный на стоянках и в отвалах, где жили гончарные народы
3
: сильно изогнутые осколки стекла туфогенных отложений
Знаете ли вы?
Осколок восходит к староанглийскому (где он был записан как sceard ) и родственно древнеанглийскому scieran , что означает «резать». Носители английского языка приняли модернизированное написание shard для большинства случаев использования, но археологи предпочитают писать слово shard , когда речь идет о древних фрагментах керамики (иногда называемых конкретно черепками), которые они раскапывают. Хотя осколок изначально относился именно к таким предметам, сегодня это слово также используется в более широком смысле, чтобы охватить осколки нематериальных понятий. Безосновательное обвинение может быть выдвинуто «без осколка улик», а болельщики проигравшей команды могут «цепляться за осколок надежды» до окончательного счета. Полезность осколок — это, гм, точка.
Примеры предложений
Недавние примеры в Интернете
Теперь в Окленде есть авторитетный аль-пастор, тонко выбритый от тромпо и увенчанный осколком ананаса.
Сезар Эрнандес, Хроника Сан-Франциско , 26 октября 2022 г.
Это позволяет организации назначать дополнительные базы данных меньшего размера каждому отдельному сегменту .
Адриан Бриджуотер, Forbes , 16 августа 2022 г.
Лаура берет осколок разбитой керамической вазы и разрезает свою плоть.
Ловия Гьяркье, The Hollywood Reporter , 28 сентября 2022 г.
Что происходит, когда осколок стекла должен рассказать всю историю?
Оливер Мандей, The Atlantic , 22 августа 2022 г.
Томлинсон упал на колени, когда осколок летучей мыши Майка Траута попал в Томлинсона между прутьями его маски, порезав ему лицо чуть выше глаза и носа.
Скотт Боек, USA TODAY , 15 июня 2022 г.
Но судья установил, что двое других бунтовщиков разбили окно до того, как Зеефрид очистил осколок .
Майкл Кунзельман, BostonGlobe.com , 15 июня 2022 г.
Затворническая башня Понти была отделена проезжей частью от здания Либескинда, остроконечного титанового осколка , похожего на космический корабль, потерпевший крушение посреди Денвера (и не сочувствующий ни городу, ни его искусству).
Los Angeles Times , 28 июля 2022 г.
Увидев, как другие бунтовщики используют полицейский щит и деревянную доску, чтобы разбить окно, Хантер Сифрид использовал кулак в перчатке, чтобы разбить окно.0025 осколок стекла в одном из разбитых оконных стекол, заявили прокуроры.
Майкл Кунзельман, BostonGlobe.com , 15 июня 2022 г.
Узнать больше
Эти примеры предложений автоматически выбираются из различных онлайн-источников новостей, чтобы отразить текущее использование слова «осколок». Мнения, выраженные в примерах, не отражают точку зрения Merriam-Webster или ее редакторов. Отправьте нам отзыв.
История слов
Этимология
Среднеанглийский, от древнеанглийского sceard ; сродни древнеанглийскому scieran to cut — more at shear
Первое известное использование
до XII века, в значении, определенном в смысле 1a
Путешественник во времени
Первое известное использование осколка было
до 12 века
Другие слова того же века
Подкаст
Получайте Слово дня на свой почтовый ящик!
Словарные статьи рядом с осколком
Шапвайлутан
осколок
Шардана
Посмотреть другие записи поблизости
Процитировать эту запись0024
«Осколок».
Словарь Merriam-Webster.com , Merriam-Webster, https://www.merriam-webster.com/dictionary/shard. По состоянию на 12 декабря 2022 г.
Копия цитирования
Детское определение
осколок
существительное
ˈshärd
: кусок или фрагмент чего-то хрупкого (например, глиняной посуды)
Подробнее от Merriam-Webster на
Shard
Тезаурус: все синонимы и антонимы для Shard
Nglish: перевод Shard для испанского динамика
Britannica Alcongence: Translation of Transwation of Transwation .
Последнее обновление: