У меня есть окно Vagrant с conf logstash, которое подключается к базе данных и ставит результаты в очередь в SQS. Сценарий более или менее похож на это:
input {
jdbc {
jdbc_driver_library => "ojdbc7.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string => "jdbc:oracle:thin:@//dsn:1521/name"
jdbc_user => "user"
jdbc_password => "pass"
statement => "myQuery"
jdbc_paging_enabled => true
jdbc_page_size => 1000
}
}
output {
stdout { codec => rubydebug }
sqs {
region => "myRegion"
aws_credentials_file => ".aws_credentials.yaml"
queue => "sqsQueue"
}
}
Когда он выполняется и между датами не так много данных, его процесс запускается нормально и без задержки, но если данных больше, проблема масштабируется и занимает слишком много времени для постановки в очередь в SQS.
Как показано, я запускаю драйвер ojdbc7 oracle, подключаюсь к своей базе данных, запускаю запрос, который извлекает данные между двумя датами, и здесь возникает проблема:
- Как мне управлять, если мой запрос извлекает огромное количество данных?
- Как я могу гарантировать его устойчивость, даже если есть проблема с моим компьютером, сетью и т. Д.?