Мне нужно получить доступ к базе данных sybase (12.5) из-за границы. Большая задержка - определенно проблема.
Я уже оптимизировал параметры подключения, чтобы лучше использовать сеть, и добился 20-кратного увеличения производительности, но этого все еще недостаточно: 1 минута, чтобы получить 3 МБ данных.
Для нашего приложения нам нужно еще 10- или 20-кратное увеличение.
Технические данные :
- данные передаются через одно TCP-соединение с использованием протокола TDS
- клиентское приложение - это таблица Excel с макросами, использующая драйвер Sybase по умолчанию
- Корпоративная среда затрудняет внесение больших изменений в архитектуру, созданную более чем за 10 лет, поэтому решения должны быть наименее навязчивыми. Но о некоторых изменениях можно договориться из-за важности этого проекта.
Кто-нибудь может дать мне указатели?
Я уже думал о:
- разделение SQL-запросов на несколько одновременных подключений к базе данных. Проблема заключается в согласованности данных: что, если записи изменяются одновременно, поскольку запросы не будут выполняться точно в одно и то же время? Есть ли существующий механизм для распределения запроса по нескольким вызовам по разным соединениям?
- используя какой-то «кеш» базы данных или «локальную репликацию» за границей, но я не знаю, что возможно.
Спасибо.