Да, уточнение архитектуры приложения является важным шагом перед выбором конкретных технологий и баз данных.
Для микросервисов, обрабатывающих cdr файлы в реальном времени и использующих xa транзакции, возможно стоит рассмотреть использование баз данных, поддерживающих ACID транзакции, таких как PostgreSQL, Oracle или Microsoft SQL Server. Для хранения аналитических данных из cdr файлов, вам скорее всего потребуется мощная и быстрая база данных для аналитики, такая как ClickHouse, которая специализируется на обработке больших объемов данных.
Для избежания проблем с блокировками таблиц при использовании MySQL, можно применить следующие техники:
1. Использовать индексы: хорошо спроектированные индексы могут значительно улучшить производительность запросов и снизить возможность блокировок таблиц.
2. Использовать транзакции с минимальным временем блокировки: минимизируйте время, в течение которого таблица блокируется при выполнении транзакции.
3. Использовать различные типы блокировки: изучите различные уровни изоляции транзакций и выберите наиболее подходящий в вашем случае.
4. Оптимизировать запросы: убедитесь, что ваши запросы к базе данных эффективны и не блокируют другие запросы.
В целом, выбор базы данных и способы избежания проблем блокировок таблиц зависят от конкретных требований и особенностей вашего приложения. Рекомендуется провести дополнительный анализ и тестирование, чтобы найти оптимальное решение для вашего случая.