Настойчивость полиглота - Polyglot persistence

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

Описание

Polyglot Persistence, берет свое начало от того, как термин Полиглот программирование определено. Полиглот программирование - термин, придуманный Нилом Фордом в 2006 году, он выражает идею о том, что компьютерные приложения должны быть написаны на сочетании различных языки программирования, чтобы воспользоваться тем фактом, что разные языки подходят для решения разных задач. Сложные приложения сочетают в себе разные типы задач, поэтому выбор правильного языка для каждой работы может быть более продуктивным, чем попытки решить все аспекты проблемы с использованием одного языка. Эту же концепцию можно применить к базы данных, что приложение может взаимодействовать с разными базами данных, используя каждую для того, что лучше всего подходит для достижения конечной цели, отсюда и термин настойчивость полиглота.

Поскольку существует множество баз данных для решения различных задач, использование единой базы данных для удовлетворения всех требований программы может привести к неэффективный, решение "мастер на все руки, не мастер". Реляционные базы данных, например, хороши в установлении отношений, существующих между различными таблицами данных. Чтобы обнаружить связь или найти данные из разных таблиц, принадлежащих одному объекту, SQL присоединиться операция может быть использована. Это может сработать, когда размер данных меньше, но становится проблематичным, когда задействованные данные становятся больше. А база данных графов может решить проблему взаимоотношений в случае Большое количество данных, но это может не решить проблему транзакции базы данных, которые предоставляются системами RDBM. Вместо этого NoSQL база данных документов может использоваться для хранения неструктурированных данных для этой конкретной части проблемы. Таким образом, разные проблемы решаются разными системами баз данных в одном приложении.

Некоторые из таких технологий хранения данных, но не ограничиваясь ими, могут быть

  • Реляционный
  • NoSQL
  • График
  • В памяти

В качестве Мартин Фаулер (инженер-программист) также цитирует это в одной из своих статей, Одним из интересных последствий этого является то, что мы готовимся к переходу к постоянному использованию полиглотов, когда любое предприятие приличного размера будет иметь множество различных технологий хранения данных для разных типов данных. В реляционных хранилищах по-прежнему будет обрабатываться большое количество данных, но все чаще мы сначала будем спрашивать, как мы хотим манипулировать данными, и только потом выясняем, какая технология для этого лучше всего подходит.[1]

Рекомендации

  1. ^ "блики: ПолиглотПостоянство". martinfowler.com. Получено 2020-07-09.

внешняя ссылка