Постоянство полиглота - это термин, который относится к использованию нескольких технологий хранения данных для различных потребностей в хранении данных в приложении или в более мелких компонентах приложения. Такие различные потребности в хранении данных могут возникнуть в обоих случаях, т. Е. На предприятии с несколькими приложениями или отдельными компонентами приложения необходимо хранить данные по-разному.
Описание
Настойчивость полиглота берет свое начало с определением термина « программирование полиглота» . Полиглот-программирование - это термин, введенный Нилом Фордом в 2006 году, он выражает идею о том, что компьютерные приложения должны быть написаны на смеси разных языков программирования , чтобы использовать тот факт, что разные языки подходят для решения разных задач. Сложные приложения сочетают в себе разные типы проблем, поэтому выбор правильного языка для каждой работы может быть более продуктивным, чем попытки решить все аспекты проблемы с использованием одного языка. Та же самая концепция может быть применена к базам данных , что приложение может взаимодействовать с разными базами данных, используя каждую для того, что лучше всего для достижения конечной цели, отсюда и термин постоянство полиглота .
Поскольку существует множество баз данных , доступные для решения различных задач, используя единую базу данных для удовлетворения всех требований программы , может привести к не-производительному «джеку всех профессий, мастер нет» решения. Например, реляционные базы данных хорошо справляются с установлением отношений, существующих между различными таблицами данных. Чтобы обнаружить связь или найти данные из разных таблиц, принадлежащих одному объекту, можно использовать операцию соединения SQL . Это может работать, когда размер данных меньше, но становится проблематичным, когда задействованные данные становятся больше. Базы данных граф может решить проблему взаимоотношений в случае больших данных , но она не может решить проблему транзакций базы данных , которые обеспечиваются системами управления реляционными базами данных. Вместо этого можно использовать базу данных документов NoSQL для хранения неструктурированных данных для этой конкретной части проблемы. Таким образом, разные проблемы решаются разными системами баз данных в одном приложении.
Некоторые из таких технологий хранения данных, но не ограничиваясь ими, могут быть
- Реляционный
- NoSQL
- График
- В памяти
Как Мартин Фаулер (инженер - программиста) также приводит его в одной из своих статей, один из интересных следствий этого является то , что мы готовимся к переходу на многоязычную настойчивость , где любое порядочного размером предприятие будет иметь множество различных технологий хранения данных для разные виды данных. В реляционных хранилищах по-прежнему будет обрабатываться большое количество данных, но мы все чаще будем сначала спрашивать, как мы хотим манипулировать данными, и только потом выяснять, какая технология для этого лучше всего подходит. [1]
Рекомендации
- ^ "блики: ПолиглотПостоянство" . martinfowler.com . Проверено 9 июля 2020 .