Модель разработки
Рационализация согласованности приводит к усложнению процесса разработки приложений, выполяемых над "облачной" системой хранения данных. Во-первых, данные должны быть разделены (рационированы) на категории согласованности. Этот процесс производится на основе операционной стоимости транзакций и расходов, вызываемых несогласованностью данных. Во-вторых, требуемый уровень согласованности должен быть определен для коллекции данных (т.е. отношения) вместе с соответствующей политикой и всеми ограничениями целостности. Это можно сделать путем аннотирования схемы, аналогично тому, что предлагается в .
Мы думаем, что процессы разработки приложения и рационализации согласованности можно разделить. В течение процесса разработки предполагается наличие строгой согласованности. Программист будет следовать обычной модели программирования приложений баз данных с явно определяемыми транзакциями. Независимо от категоризации данных программист будет всегда задавать команду start transaction в начале транзакции и команду commit transaction в конце транзакции. При развертывании приложения данные рационируются в соответствии со стоимостью. Рационализация может производится специалистом не из отдела разработки. Конечно, при этом предполагается. что разделение разработки и рационирования не влияет на корректность системы. Вопрос о том, какими свойствами должно обладать приложение, чтобы можно было разделить процессы разработки и рационирования данных, в этой статье не обсуждается и заслуживает дополнительных исследований.