Я ищу решение для ускорения данных MySQL, но после попытки индексации я не нашел решения для ускорения данных подсчета MySQL (*). поэтому я использую эластичный поиск для лучшей производительности. У меня около 3 миллионов записей в MySQL, и я хочу также импортировать все записи с помощью join, поэтому я использую плагин PHPasticsearch для импорта данных, но это также займет очень много времени. Затем я использую logstash и создаю скрипт для чтения данных, но он также не работает. Я запустил свою систему всю ночь, тогда logstash вставит только 600 000 записей. так какое решение для этого? мне нужно улучшить производительность MySQL для импорта вasticsearch или любым другим способом для импорта больших данных вasticsearch.
также проверьте мой сценарий.
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://172.17.0.3:3306/repairs_db"
# The user we wish to execute our statement as
jdbc_user => "root"
jdbc_password => ""
jdbc_page_size => 50000
jdbc_paging_enabled => true
# The path to our downloaded jdbc driver
jdbc_driver_library => "/home/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
# our query
statement => "SELECT r.id,r.brand_id,r.product_brand,r.product_description,r.store_id,r.product_group,r.product_id,r.itm_product_group_desc,r.first_name,r.last_name,r.status,r.damaged,r.is_extended_warranty,r.is_floor_stock,r.is_inhome,r.callcentre,r.is_bsp_case,r.created,r.updated,r.is_sandbox_mode,pro.itm_descriptor,st.name as store_name,rp.name as repairer_name from requests r JOIN products pro ON r.product_id = pro.id JOIN stores st ON r.store_id = st.id JOIN repairers rp ON r.repairer_id = rp.id"
}
}
output {
stdout { codec => json_lines }
elasticsearch {
"hosts" => "172.17.0.3:9200"
"index" => "req-migrate"
"document_type" => "data"
}
}
Пожалуйста, предложите мне что-нибудь, чтобы загрузить данные вasticsearch. Можем ли мы использовать MySQL для такой ситуации?