Обмен технологиями

Многопользовательское хранилище данных куста

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Концепция

Мультитенантность соответствует одному арендатору. В этой статье основное внимание уделяется мультитенантности.

1.1 Мультиарендность

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

1.2 Один арендатор

Разница между одноарендной и многотенантной архитектурой заключается в том, что один арендатор создает отдельные программные приложения и поддерживающие среды для каждого пользователя. SaaS с одним арендатором широко упоминается в приложениях, где клиентам необходимо поддерживать настройку либо из-за географического расположения, либо потому, что им требуются более строгие меры безопасности. Благодаря одноарендной модели каждый клиент имеет копию базы данных и операционной системы, размещенную на независимом сервере или в виртуальной сетевой среде, изолированной с использованием строгих мер безопасности.

1.3 Разница между одним арендатором и несколькими арендаторами

  1. Существуют разные уровни контроля безопасности. Мультитенантные базы данных хранят данные от нескольких независимых арендаторов. Несмотря на то, что изоляция безопасности настроена, уровень контроля безопасности все равно выше, чем у одного арендатора. Поскольку один арендатор имеет независимую программную и аппаратную среду, а в базе данных хранятся данные только одного арендатора, возможность утечки данных технически исключена. Однотенантная архитектура иногда больше подходит для определенных отраслей, где требуется контроль безопасности или даже. требования соблюдения законодательства.
  2. Резервные копии данных различаются по сложности. Один арендатор имеет независимую базу данных, а резервное копирование и восстановление баз данных клиентов очень просто. База данных используется несколькими арендаторами, а данные арендаторов одновременно изолированы и совместно используются. Система не может автоматически выполнять независимое резервное копирование предприятия каждый день.
  3. Время обновления управления варьируется. Затраты на обслуживание мультитенантной системы невелики, а при обновлении мультитенантной системы ее необходимо обновить только один раз. Обслуживающему персоналу не нужно обновлять информацию для каждого пользователя, что экономит значительные затраты на эксплуатацию и техническое обслуживание. Это полезно для систем, где все клиенты делают одно и то же. Однако если обновление системы приходится на период особой занятости предприятия, это неизбежно окажет влияние на корпоративных пользователей.

Сценарии применения: Мультитенантность подходит для нескольких разных компаний (отделов) в одной группе (компании). Даже если данные утекут, они не утекут наружу.

2. Многопользовательское решение для изоляции данных.

  • независимая база данных
  • Общая база данных, независимая схема
  • Общая база данных, общая схема, общая таблица данных

2.1 Независимая база данных

Это первое решение, один арендатор и одна база данных.Это решение имеет самый высокий уровень изоляции пользовательских данных и лучшую безопасность, но стоимость выше.

  • Преимущества: Предоставление независимых баз данных для разных арендаторов помогает упростить разработку расширения модели данных и удовлетворить уникальные потребности разных арендаторов. В случае возникновения сбоя данные относительно просто восстановить.
  • Недостатки: Увеличивается количество установок базы данных, что приводит к увеличению затрат на обслуживание и приобретение.

Это решение похоже на традиционное решение «один клиент, один набор данных и один набор развертывания». Единственное отличие состоит в том, что программное обеспечение развертывается единообразно у оператора. Если вы сталкиваетесь с арендаторами, такими как банки и больницы, которым требуется очень высокий уровень изоляции данных, вы можете выбрать эту модель, чтобы повысить стоимость аренды. Если цены низкие и продукт идет по маршруту с низкой ценой, это решение, как правило, недоступно для операторов.

2.2 Общая база данных, независимая схема

Это второе решение, то есть несколько или все арендаторы совместно используют базу данных, но у каждого арендатора есть схема (также называемая пользователем). Базовыми библиотеками являются, например: DB2, ORACLE и т. д. В одной базе данных может быть несколько СХЕМ.

  • Преимущества: Обеспечивает определенную степень логической изоляции данных для клиентов с более высокими требованиями к безопасности, но не полную изоляцию, каждая база данных может поддерживать большее количество клиентов.
  • Недостатки: В случае сбоя восстановление данных затруднено, поскольку при восстановлении базы данных будут задействованы данные других арендаторов, если потребуется межтенантная статистика, возникнут определенные трудности;

2.3 Общая база данных, общая схема, общая таблица данных

Это третий вариант, То есть арендаторы используют одну и ту же базу данных и схему, но добавляют в таблицу поле мультитенантных данных TenantID.Это режим с самой высокой степенью совместного использования и самым низким уровнем изоляции.
То есть каждый раз, когда вставляется фрагмент данных, требуется идентификатор клиента. Таким образом, в одной таблице можно выделить данные разных клиентов.

  • Достоинства: Сравнение трех вариантов,Третий вариант имеет самые низкие затраты на обслуживание и приобретение и позволяет использовать наибольшее количество клиентов на одну базу данных.
  • Недостатки: Самый низкий уровень изоляции и самая низкая безопасность, требующие дополнительных усилий по обеспечению безопасности во время проектирования и разработки. Резервное копирование и восстановление данных являются наиболее сложными и требуют резервного копирования и восстановления по таблицам.Это решение лучше всего подходит, если вы хотите обслуживать как можно больше арендаторов с наименьшим количеством серверов, и арендаторы согласны пожертвовать уровнем изоляции в обмен на более низкие затраты.

2.4 Резюме

В процессе реализации SaaS существует очевидный момент, который необходимо учитывать: как спроектировать данные приложения для поддержки нескольких клиентов. Идея этого проекта состоит в том, чтобы найти баланс между совместным использованием данных, изоляцией безопасности и производительностью.Характеристики трех режимов можно суммировать на одной картинке.

Мультитенантное хранилище данных Hive, мультитенантное saas_multi-tenant