Amazon Redshift ã¯ãã¯ã©ãŠãã«ããããã«ãããŒãžãåã®ãã¿ãã€ãèŠæš¡ã®ããŒã¿ãŠã§ã¢ããŠã¹ãµãŒãã¹ã§ãããä»ã®ã©ã®ã¯ã©ãŠãããŒã¿ãŠã§ã¢ããŠã¹ããã æå€§ 5 ååªããã³ã¹ãããã©ãŒãã³ã¹ ãå®çŸãã远å è²»çšãªãã§ããã«ããã©ãŒãã³ã¹ã®é©æ°çãªåäžãå®çŸã§ããŸãã äœäžãã®ã客æ§ã Amazon Redshift ã䜿çšããŠæ¯æ¥ãšã¯ãµãã€ãåäœã®ããŒã¿ãåŠçããåæã¯ãŒã¯ããŒãã匷åããŠããŸãã ãã®èšäºã§ã¯ãAmazon Redshift SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã«ã€ããŠèª¬æããAmazon Redshift ã®ã¯ãŒã¯ããŒããšãªãœãŒã¹äœ¿çšéã®ã¢ãã¿ãªã³ã°ãç°¡çŽ åããæ¹æ³ã«ã€ããŠèª¬æããŸãã SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã®æŠèŠ SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã¯ Amazon Redshift ã®ã·ã¹ãã ãã¥ãŒã§ãããããžã§ãã³ã°ãããã¯ã©ã¹ã¿ãŒããµãŒããŒã¬ã¹ã¯ãŒã¯ã°ã«ãŒãã®ã¯ãšãªãšã¯ãŒã¯ããŒãã®ãªãœãŒã¹äœ¿çšç¶æ³ãã¢ãã¿ãªã³ã°ããããã«äœ¿çšã§ããŸãã ãããã«ã¯æ¬¡ã®å©ç¹ããããŸã: ã¯ãšãªã®ç¶æ
ãããã©ãŒãã³ã¹ææšãã¯ãšãªã®çš®é¡ãèæ
®ããŠãæ©èœã®æŽåæ§ã«åºã¥ããŠåé¡ãããŠããŸã ããã©ãŒãã³ã¹ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«åœ¹ç«ã€ããã«ã planning_time ã lock_wait_time ã remote_read_io ã local_read_io ãªã©ã®æ°ããããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãå°å
¥ããŸãã Redshift ã® ãªããã£ãã€ã¶ã§æžãçŽãããã¯ãšãªã®ä»£ããã«ããŠãŒã¶ãŒãéä¿¡ããã¯ãšãªããã°ã«èšé²ããããšã§ãã¢ãã¿ãªã³ã°ãã¥ãŒã®äœ¿ãããããåäžããŠããŸã å°ãªããã¥ãŒã§ããå€ãã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã¡ããªã¯ã¹ãæäŸã§ããŸã ããããžã§ãã³ã°ãããã¯ã©ã¹ã¿ãŒã§ããµãŒããŒã¬ã¹ã¯ãŒã¯ã°ã«ãŒãã§ãåãã¯ãšãªã䜿çšã§ãããããAmazon Redshift ã®çµ±åçãªã¢ãã¿ãªã³ã°ãå¯èœã«ãªããŸã ã§ã¯ãããã€ãã®SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã®æ©èœãšãããããã¢ãã¿ãªã³ã°ã«ã©ã®ããã«äœ¿çšã§ããããèŠãŠãããŸãããã ããŸããŸãªã¯ãšãªã¬ãã«ã®ã¢ãã¿ãªã³ã°ã¡ããªã¯ã¹ãçµ±å æ¬¡ã®è¡šã¯ãè€æ°ã®ã·ã¹ãã ããŒãã«ãšãã¥ãŒãã¯ãšãªããããšã§åŸãããããŸããŸãªã¡ããªã¯ã¹ãšæ
å ±ããäžã€ã®SYSã¢ãã¿ãªã³ã°ãã¥ãŒã«ã©ã®ããã«çµ±åã§ããŠãããã瀺ããŠããŸã STL/SVL/STV åŸãããæ
å ± SYS ã¢ãã¿ãªã³ã°ãã¥ãŒ ãã¥ãŒã®ã«ã©ã STL_QUERY ã¯ãšãªã®æ¶è²»åèšæé, ã¯ãšãªåã®ç瞮系, ãŠãŒã¶ãŒID, ãã©ã³ã¶ã¯ã·ã§ã³ID, ã»ãã·ã§ã³ID,ã¯ãšãªã®ã¹ããŒã¿ã¹, ããŒã¿ããŒã¹å SYS_QUERY_HISTORY user_id query_id query_label transaction_id session_id database_name query_type status result_cache_hit start_time end_time elapsed_time queue_time execution_time error_message returned_rows returned_bytes query_text redshift_version usage_limit compute_type compile_time planning_time lock_wait_time STL_WLM_QUERY ãã¥ãŒæ»åšæé, å®è¡åèšæé SVL_QLOG ãã£ãã·ã¥ã®äœ¿çš STL_ERROR ãšã©ãŒã³ãŒãããšã©ãŒã¡ãã»ãŒãž STL_UTILITYTEXT SELECT以å€ã®SQL STL_DDLTEXT DDLã¹ããŒãã¡ã³ã SVL_STATEMENTEXT å
šãŠã®ã¿ã€ãã®SQLã¹ããŒãã¡ã³ã STL_RETURN çµæã®è¡æ°ãšãã€ã STL_USAGE_CONTROL ã¯ãšãªã«ãã£ãŠå°éãã䜿çšå¶é ID ã®ãªã¹ã STV_WLM_QUERY_STATE WLMã®çŸåšã®ç¶æ
STV_RECENTS çŸåšå®è¡äžã§ãããå®äºããŠããã¯ãšãª STV_INFLIGHT å®è¡äžã®ã¯ãšãª SVL_COMPILE ã³ã³ãã€ã« SYS ãã STL/SVL/STV ãžã®ãããã³ã°ã«é¢ããè¿œå æ
å ±ã«ã€ããŠã¯ã SYS ã¢ãã¿ãªã³ã°ãã¥ãŒãžã®ç§»è¡ ãåç
§ããŠãã ããã ãŠãŒã¶ãŒã¯ãšãªã¬ãã«ã®ãã®ã³ã° ã¯ãšãªã®ããã©ãŒãã³ã¹ãåäžãããããã«ãRedshift ã¯ãšãªãšã³ãžã³ã¯ãŠãŒã¶ãŒãéä¿¡ããã¯ãšãªãæžãæããããšãã§ããŸãã ãŠãŒã¶ãŒãéä¿¡ããã¯ãšãªã® ID ã¯ãæžãæããããã¯ãšãªã® ID ãšã¯ç°ãªããŸãã ãã®èšäºã§ã¯ããŠãŒã¶ãŒãéä¿¡ããã¯ãšãªã 芪ã¯ãšãª ãæžãçŽããã¯ãšãªã åã¯ãšãª ãšåŒã³ãŸãã æ¬¡ã®å³ã¯ã芪ã¯ãšãªã¬ãã«ãšåã¯ãšãªã¬ãã«ã§ã®ãã®ã³ã°ã瀺ããŠããŸãã 芪ã¯ãšãªã®ID㯠1000 ã§ãåã¯ãšãªã®ID㯠1001ã1002ã1003 ã§ãã ã¯ãšãªã®ã©ã€ããµã€ã¯ã«ã®ã¿ã€ãã³ã° SYS_QUERY_HISTORY ã§ã¯ãããŸããŸãªã¯ãšãªã©ã€ããµã€ã¯ã«ãã§ãŒãºã«é¢é£ããè©³çŽ°ãªæéã¡ããªã¯ã¹ãæäŸããããã«ãã«ã©ã ãæ¡åŒµãããŠããŸãã ãã¹ãŠã®æéã¯ãã€ã¯ãç§åäœã§èšé²ãããããšã«æ³šæããŠãã ããã æ¬¡ã®è¡šã¯ããããã®ã¡ããªã¯ã¹ããŸãšãããã®ã§ãã ã¿ã€ã ã¡ããªã¯ã¹ 詳现 planning_time ã¯ãšãªãå®è¡ããåã«ã¯ãšãªãè²»ãããæéãéåžžãããŒã¹ãåæãèšç»ãæžãæããªã©ã®ã¯ãšãªã©ã€ããµã€ã¯ã«ãã§ãŒãºãå«ãŸããŸãã lock_wait_time åç
§ãããŠããå¿
èŠãªããŒã¿ããŒã¹ãªããžã§ã¯ãã®ããã¯ã®ååŸã«ã¯ãšãªãè²»ãããæéã queue_time ãªãœãŒã¹ãå®è¡å¯èœã«ãªããŸã§ãã¯ãšãªããã¥ãŒå
ã§åŸ
æ©ããŠããæéã compile_time ã¯ãšãªã®ã³ã³ãã€ã«ã«ããã£ãæéã execution_time ã¯ãšãªã®å®è¡ã«ããã£ãæéã SELECT ã¯ãšãªã®å Žåãããã«ã¯çµæãè¿ã£ãŠãããŸã§ã®æéãå«ãŸããŸãã elapsed_time ã¯ãšãªå®è¡ã®éå§ããçµäºãŸã§ã®æéã ãœãªã¥ãŒã·ã§ã³ã®æŠèŠ SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã«æ
£ããããã«ã以äžã®ã·ããªãªã«ã€ããŠèª¬æããŸã: ã¯ãŒã¯ããŒããšã¯ãšãªã®ã©ã€ããµã€ã¯ã«ã®ã¢ãã¿ãªã³ã° ããŒã¿åã蟌ã¿ã¢ãã¿ãªã³ã° å€éšã¯ãšãªã®ã¢ãã¿ãªã³ã° ã¯ãšãªã®ããã©ãŒãã³ã¹ãé
ãå Žåã®ãã©ãã«ã·ã¥ãŒãã£ã³ã° åææ¡ä»¶ ãã®æçš¿ã®äŸã«åŸãã«ã¯ã以äžãäºåã«æºåããå¿
èŠããããŸã: AWS ã¢ã«ãŠã³ã ããããžã§ãã³ã°ããã Redshift ã¯ã©ã¹ã¿ãŒ (çŸåšã®ãã©ãã¯) ãŸã㯠Amazon Redshift Serverless ãšã³ããã€ã³ã å ããŠããã®èšäºã§åç
§ãããŠãããã¹ãŠã® SQL ã¯ãšãªã Redshift ã¯ãšãªãšãã£ã¿ v2 SQL ããŒãããã¯ãšã㊠ããŠã³ããŒã ããŠãã ããã ã¯ãŒã¯ããŒããšã¯ãšãªã®ã©ã€ããµã€ã¯ã«ã®ã¢ãã¿ãªã³ã° ãã®ã»ã¯ã·ã§ã³ã§ã¯ãã¯ãŒã¯ããŒããšã¯ãšãªã®ã©ã€ããµã€ã¯ã«ãã¢ãã¿ãªã³ã°ããæ¹æ³ã«ã€ããŠèª¬æããŸãã å®è¡äžã®ã¯ãšãªãèå¥ SYS_QUERY_HISTORY ã§ã¯ãå®è¡äžã®ãã¹ãŠã®ã¯ãšãªãšå®è¡å±¥æŽãäžå
çã«ç¢ºèªã§ããŸãã æ¬¡ã®ã¯ãšãªã®äŸãåç
§ããŠãã ãã: SELECT * FROM sys_query_history WHERE status IN ( 'planning' , 'queued' , 'running' , 'returning' ) ORDER BY start_time ; SQL 次ã®çµæã«ãªããŸãã å®è¡æéã®é·ãäžäœã¯ãšãªãç¹å® 次ã®ã¯ãšãªã¯ãå®è¡ã«æãæéããããäžäœ 100 ä»¶ã®ã¯ãšãªãååŸããã®ã«åœ¹ç«ã¡ãŸãã ãããã®ã¯ãšãªãåæ (å¯èœã§ããã°æé©å) ããããšã§ãå
šäœçãªããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã ãããã®ã¡ããªã¯ã¹ã¯ããã¹ãŠã®å®è¡ãããã¯ãšãªã环ç©ããçµ±èšå€ã§ãã æéã®å€ã¯ãã¹ãŠãã€ã¯ãç§åäœã§ããããšã«æ³šæããŠãã ããã --top long running query by elapsed_time SELECT user_id , transaction_id , query_id , database_name , query_type , query_text:: VARCHAR ( 100 ) , lock_wait_time , planning_time , compile_time , execution_time , elapsed_time FROM sys_query_history ORDER BY elapsed_time DESC LIMIT 100 ; SQL 次ã®çµæã«ãªããŸãã ã¯ãšãªã®çš®é¡ãæéãã¹ããŒã¿ã¹å¥ã«æ¯æ¥ã®ã¯ãšãªæ°ãåé æ¬¡ã®ã¯ãšãªã¯ãããŸããŸãªã¿ã€ãã®ã¯ãšãªã忥ã«ã©ã®ããã«ååžããŠããããææ¡ããã¯ãŒã¯ããŒãã®å€åãè©äŸ¡ããŠè¿œè·¡ããã®ã«åœ¹ç«ã¡ãŸã: --daily breakdown of workload by query types and status SELECT DATE_TRUNC ( 'day' , start_time ) period_daily , query_type , status , COUNT ( * ) FROM sys_query_history GROUP BY period_daily , query_type , status ORDER BY period_daily , query_type , status ; SQL 次ã®çµæã«ãªããŸãã å®è¡äžã®ã¯ãšãªã®å®è¡è©³çްãåéãã å®è¡äžã®ã¯ãšãªã®å®è¡ã¬ãã«ã®è©³çްã確èªããã«ã¯ã SYS_QUERY_DETAIL ããŒãã«ãã¯ãšãªãããšãã« is_active = 't' ãã£ã«ã¿ã䜿çšã§ããŸãã æ¬¡ã®äŸãåç
§ããŠãã ãã: SELECT query_id , child_query_sequence , stream_id , segment_id , step_id , step_name , table_id , coalesce ( table_name , '' ) || coalesce ( source , '' ) as table_name , start_time , end_time , duration , blocks_read , local_read_io , remote_read_io FROM sys_query_detail WHERE is_active = 't' ORDER BY query_id , child_query_sequence , stream_id , segment_id , step_id ; SQL å®è¡ãããææ°ã® 100 åã® COPY ã¯ãšãªã衚瀺ããã«ã¯ã次ã®ã³ãŒãã䜿çšããŸã: SELECT session_id , transaction_id , query_id , database_name , table_name , data_source , loaded_rows , loaded_bytes , duration / 1000.00 duration_ms FROM sys_load_history ORDER BY start_time DESC LIMIT 100 ; SQL 次ã®çµæã«ãªããŸãã ã³ããããšãã®åãæ¶ãã«å¯Ÿãããã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ã®è©³çްã®åé SYS_TRANSACTION_HISTORY ã¯ãã³ãããããããããã¯ãã¹ããŒã¿ã¹ãåé¢ã¬ãã« ( SERIALIZABLE ãŸã㯠SNAPSHOT ISOLATION ) ãªã©ã®è©³çްãšãšãã«ãã³ãããããããã©ã³ã¶ã¯ã·ã§ã³ã«é¢ããã€ã³ãµã€ããæäŸããããšã«ããããã©ã³ã¶ã¯ã·ã§ã³ã¬ãã«ã®ãã®ã³ã°ãæäŸããŸãã ãŸããããŒã«ããã¯ãŸãã¯åãæ¶ããã©ã³ã¶ã¯ã·ã§ã³ã®è©³çްãèšé²ãããŸãã æ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã¯ãæ£åžžã«ã³ãããããããã©ã³ã¶ã¯ã·ã§ã³ã«ã€ããŠã®è©³çްæ
å ±ãååŸããæ¹æ³ã瀺ããŠããŸãã æ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã¯ãããŒã«ããã¯ããããã©ã³ã¶ã¯ã·ã§ã³ã«ã€ããŠã®è©³çްæ
å ±ãååŸããæ¹æ³ã瀺ããŠããŸãã çµ±èšæ
å ±ãšããã¥ãŒã SYS_ANALYZE_HISTORY ã¢ãã¿ãªã³ã°ãã¥ãŒã«ã¯ãåæã¯ãšãªã®æçµã¿ã€ã ã¹ã¿ã³ããç¹å®ã®åæã¯ãšãªã®å®è¡æéãããŒãã«å
ã®è¡æ°ã倿Žãããè¡æ°ãªã©ã®è©³çްã衚瀺ãããŸãã æ¬¡ã®ã¯ãšãªäŸã¯ããã¹ãŠã®æ°žç¶ããŒãã«ã«å¯ŸããŠå®è¡ãããææ°ã®åæã¯ãšãªã®ãªã¹ããæäŸããŸã: SELECT TRIM ( schema_name ) schema_name , TRIM ( table_name ) table_name , table_id , status , COUNT ( * ) times_analyze_was_triggered , MAX ( last_analyze_time ) last_analyze_time , MAX ( end_time ) end_time , AVG ( ROWS ) "rows" , AVG ( modified_rows ) modified_rows FROM sys_analyze_history WHERE status != 'Skipped' GROUP BY schema_name , table_name , table_id , status ORDER BY schema_name , table_name , table_id , status , end_time ; SQL 次ã®çµæã«ãªããŸãã SYS_VACUUM_HISTORY ã¢ãã¿ãªã³ã°ãã¥ãŒã§ã¯ãããã¥ãŒã ã«é¢ãããã¹ãŠã®è©³çްã 1 ã€ã®ãã¥ãŒã«è¡šç€ºãããŸãã ããšãã°ã次ã®ã³ãŒããåç
§ããŠãã ãã: SELECT user_id , transaction_id , query_id , TRIM ( database_name ) as database_name , TRIM ( schema_name ) as schema_name , TRIM ( table_name ) table_name , table_id , vacuum_type , is_automatic as is_auto , duration , rows_before_vacuum , size_before_vacuum , reclaimable_rows , reclaimed_rows , reclaimed_blocks , sortedrows_before_vacuum , sortedrows_after_vacuum FROM sys_vacuum_history WHERE status LIKE '%Finished%' ORDER BY start_time ; SQL 次ã®çµæã«ãªããŸãã ããŒã¿åã蟌ã¿ã®ã¢ãã¿ãªã³ã° ãã®ã»ã¯ã·ã§ã³ã§ã¯ãããŒã¿åã蟌ã¿ãã¢ãã¿ãªã³ã°ããæ¹æ³ã«ã€ããŠèª¬æããŸãã åã蟌ã¿ã®æŠèŠ SYS_LOAD_HISTORY ã¯ãCOPY ã³ãã³ãã®çµ±èšã«é¢ãã詳现ãæäŸããŸãã ãã®ãã¥ãŒã䜿çšãããšãåã蟌ã¿ã¯ãŒã¯ããŒãã«é¢ããã€ã³ãµã€ãããŸãšããããšãã§ããŸãã æ¬¡ã®ã¯ãšãªäŸã¯ãããŒã¿åã蟌ã¿ãè¡ãããããŒãã«ããšã«åé¡ããããåã蟌ã¿ã®æŠèŠã 1 æéããšã«ç€ºããŠããŸãã SELECT date_trunc ( 'hour' , start_time ) period_hourly , database_name , table_name , status , file_format , SUM ( loaded_rows ) total_rows_ingested , SUM ( loaded_bytes ) total_bytes_ingested , SUM ( source_file_count ) num_of_files_to_process , SUM ( file_count_scanned ) num_of_files_processed , SUM ( error_count ) total_errors FROM sys_load_history GROUP BY period_hourly , database_name , table_name , status , file_format ORDER BY table_name , period_hourly , status ; SQL 次ã®çµæã«ãªããŸãã ãã¡ã€ã«ã¬ãã«ã®åã蟌ã¿ãã° SYS_LOAD_DETAIL ã¯ããã¡ã€ã«ã¬ãã«ã§ã®åã蟌ã¿åŠçã«é¢ãããã詳现ãªã€ã³ãµã€ããæäŸããŸãã äŸãšããŠã¯ã sys_load_history ã䜿çšããæ¬¡ã®ã¯ãšãªãåç
§ããŠãã ãã: SELECT * FROM sys_load_history WHERE table_name = 'catalog_sales' ORDER BY start_time ; SQL 次ã®çµæã«ãªããŸãã æ¬¡ã®äŸã¯ã詳现ãªãã¡ã€ã«ã¬ãã«ã®ã¢ãã¿ãªã³ã°ãã©ã®ãããªãã®ãã瀺ããŠããŸãã SELECT user_id , query_id , TRIM ( file_name ) file_name , bytes_scanned , lines_scanned , splits_scanned , record_time , start_time , end_time FROM sys_load_detail WHERE query_id = 1824870 ORDER BY start_time ; SQL åã蟌ã¿ããã»ã¹äžã®ãšã©ãŒããã§ã㯠SYS_LOAD_ERROR_DETAIL ã䜿çšãããšãåã蟌ã¿ããã»ã¹äžã«çºçããå¯èœæ§ã®ãããšã©ãŒã远跡ããŠãã©ãã«ã·ã¥ãŒãã£ã³ã°ã§ããŸãã ãã®ãã¥ãŒã«ã¯ãåã蟌ã¿åŠçäžã«ãšã©ãŒãçºçãããã¡ã€ã«ã®è©³çްãšããšã©ãŒãçºçããè¡çªå·ãããã³ãã®è¡å
ã®ã«ã©ã ã®è©³çްãèšé²ãããŸãã æ¬¡ã®ã³ãŒããåç
§ããŠãã ããã select * from sys_load_error_detail order by start_time limit 100 ; SQL 次ã®çµæã«ãªããŸãã å€éšã¯ãšãªã®ã¢ãã¿ãªã³ã° SYS_EXTERNAL_QUERY_DETAIL ã¯ã Amazon Redshift Spectrum ããã§ãã¬ãŒãããã¯ãšãªãå«ãå€éšã¯ãšãªã®å®è¡è©³çްãæäŸããŸãã ãã®ãã¥ãŒã¯ã詳现ãã»ã°ã¡ã³ãã¬ãã«ã§èšé²ããåäžã®ã¢ãã¿ãªã³ã°ãã¥ãŒã§å€éšã¯ãšãªã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãšããã©ãŒãã³ã¹ã®ã¢ãã¿ãªã³ã°ã«åœ¹ç«ã€ã€ã³ãµã€ããæäŸããŸãã ãã®ã¢ãã¿ãªã³ã°ãã¥ãŒãæäŸããæçšãªã¡ããªã¯ã¹ãšããŒã¿ãã€ã³ãã¯æ¬¡ã®ãšããã§ãã ã¹ãã£ã³ãããå€éšãã¡ã€ã« ( scanned_files ) ã®æ°ãšãParquetãããã¹ããã¡ã€ã«ãªã©ã®å€éšãã¡ã€ã«ã®ãã©ãŒããã ( file_format ) ã¹ãã£ã³ãããããŒã¿ã®è¡æ° ( returned_rows ) ãšãã€ãæ° ( returned_bytes ) å€éšã¯ãšãªãšããŒãã«ã«ããããŒãã£ã·ã§ãã³ã° ( total_partitions ãš qualified_partitions ) ã®äœ¿çš ç¹å®ã®å€éšãªããžã§ã¯ãã®äžèŠ§è¡šç€º ( s3list_time ) ãšããŒãã£ã·ã§ã³ã¹ãã£ã³ ( get_partition_time ) ã«ããã£ãæéã®è©³çްãªã€ã³ãµã€ã å€éšãã¡ã€ã«ã®å Žæ ( file_location ) ãšå€éšããŒãã«å ( table_name ) Redshift Spectrum çšã® Amazon Simple Storage Service (Amazon S3) ããã§ãã¬ãŒãããã¯ãšãªãšãã£ãå€éšãœãŒã¹ã®ã¿ã€ã( source_type ) ãµããã£ã¬ã¯ããªã®ååž°ã¹ãã£ã³ ( is_recursive ) ãŸãã¯ãã¹ããããåããŒã¿åãžã®ã¢ã¯ã»ã¹ ( is_nested ) ããšãã°ã次ã®ã¯ãšãªã¯ãå®è¡ãããå€éšã¯ãšãªæ°ãšã¹ãã£ã³ãããããŒã¿æ°ã®æ¥æ¬¡ã§ã®æŠèŠã瀺ããŠããŸãã SELECT DATE_TRUNC ( 'hour' , start_time ) period_hourly , user_id , TRIM ( source_type ) source_type , COUNT ( DISTINCT query_id ) query_counts , SUM ( returned_rows ) returned_rows , ROUND ( SUM ( returned_bytes ) / 1024 ^ 3 , 2 ) returned_gb FROM sys_external_query_detail GROUP BY period_hourly , user_id , source_type ORDER BY period_hourly , user_id , source_type ; SQL 次ã®çµæã«ãªããŸãã ããŒãã£ã·ã§ã³ã®äœ¿çš 倧éã®ããŒã¿ããã¡ã€ã«ãã¹ãã£ã³ããå€éšã¯ãšãªãããŒãã£ã·ã§ã³åãããŠãããã©ããã確èªã§ããŸãã ããŒãã£ã·ã§ã³ã䜿çšããå ŽåãããŒãã£ã·ã§ã³ããŒã«åºã¥ããŠçµã蟌ãããšã«ãã£ãŠãå€éšã¯ãšãªãã¹ãã£ã³ããå¿
èŠãããããŒã¿ã®éãå¶éã§ããŸãã æ¬¡ã®ã³ãŒããåç
§ããŠãã ããã SELECT file_location , CASE WHEN NVL ( total_partitions , 0 ) = 0 THEN 'No' ELSE 'Yes' END is_partitioned , SUM ( scanned_files ) total_scanned_files , COUNT ( DISTINCT query_id ) query_count FROM sys_external_query_detail GROUP BY file_location , is_partitioned ORDER BY total_scanned_files DESC ; SQL 次ã®çµæã«ãªããŸãã å€éšã¯ãšãªã§ãšã©ãŒãçºçããå Žåã¯ã SYS_EXTERNAL_QUERY_ERROR ã調ã¹ãŠãã ããã SYS_EXTERNAL_QUERY_ERROR ã«ã¯ããã®ãã¡ã€ã«å
ã® file_location ã column ãããã³ rowid ã®ã¬ãã«ã§è©³çްãèšé²ãããŸãã ã¯ãšãªã®ããã©ãŒãã³ã¹ãé
ãå Žåã®ãã©ãã«ã·ã¥ãŒãã£ã³ã° SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã䜿çšããã¯ãšãªã¬ãã«ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãããã®ãã¹ããããã€ã¹ãããã®ã¬ã€ããšããŠãåææ¡ä»¶ã®ã»ã¯ã·ã§ã³ã§ããŠã³ããŒããã sysview_slow_query_performance_troubleshooting SQL ããŒãããã¯ããããŸãããããåç
§ããŠã次ã®è³ªåã«å¯Ÿããåçãæ¢ããŠãã ããã æ¯èŒå¯Ÿè±¡ã®ã¯ãšãªãšãå®è¡ããã¯ãšãªã®ã¯ãšãªããã¹ãã¯äŒŒãŠããŸãã ? ã¯ãšãªã¯çµæãã£ãã·ã¥ã䜿çšããŠããŸãã ? ã¯ãšãªã®ã©ã€ããµã€ã¯ã« (ãã¥ãŒã€ã³ã°ãã³ã³ãã€ã«ããã©ã³ãã³ã°ãããã¯åŸ
æ©) ã®ã©ã®éšåãã¯ãšãªã®å®è¡æéã«æã圱é¿ãäžããŠããŸãã ? ã¯ãšãªãã©ã³ã¯å€æŽãããŸããã ? ã¯ãšãªã¯å€ãã®ããŒã¿ãããã¯ãèªã¿èŸŒãã§ããŸãã ? ã¯ãšãªããã£ã¹ã¯é åã䜿ã£ãŠããŸãããïŒããããã§ããã°ããã¯ããŒã«ã«ã¹ãã¬ãŒãžã§ããããªã¢ãŒãã¹ãã¬ãŒãžã§ãã? ããŒã¿ (忣) ãšæé (å®è¡æé) ã®ç¹ã§ã倧ããåã£ãŠããã¯ãšãªã§ãã ? ãžã§ã€ã³ãŸãã¯ãã¹ãã«ãŒãã§åŠçãããè¡ãå¢ããŠããŸãã ? çµ±èšæ
å ±ãå€ããªã£ãŠããããšã瀺ãã¢ã©ãŒãã¯ãããŸãã ? ã¯ãšãªã«é¢ä¿ããããŒãã«ã«å¯ŸããŠæåŸã« VACUUM ãš ANALYZE ãå®è¡ãããã®ã¯ãã€ã§ãã ? ã¯ãªãŒã³ã¢ãã Redshift ã®ããããžã§ãã³ã°ãããã¯ã©ã¹ã¿ãŒãŸã㯠Redshift ãµãŒããŒã¬ã¹ã¯ãŒã¯ã°ã«ãŒãããã®èšäºã®ããã«äœæããã¯ãŒã¯ããŒãã«å¯ŸããŠå¿
èŠãªããªã£ãå Žåã¯ãããããåé€ããŠè¿œå ã³ã¹ãã®çºçãé²ãããšãã§ããŸãã ãŸãšã ãã®èšäºã§ã¯ãRedshift SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã䜿çšããŠãããããžã§ãã³ã°ãããã¯ã©ã¹ã¿ãŒãšãµãŒããŒã¬ã¹ã¯ãŒã¯ã°ã«ãŒãã®ã¯ãŒã¯ããŒããã¢ãã¿ãªã³ã°ããæ¹æ³ã«ã€ããŠèª¬æããŸããã SYSã¢ãã¿ãªã³ã°ãã¥ãŒã§ã¯ãã¯ãŒã¯ããŒãã®ã¢ãã¿ãªã³ã°ãç°¡çŽ åãããçµ±äžããããã¥ãŒããããŸããŸãªã¯ãšãªã¬ãã«ã®ã¢ãã¿ãªã³ã°çšã®ã¡ããªã¯ã¹ã«ã¢ã¯ã»ã¹ã§ããŸãããŸããããããžã§ãã³ã°ãããã¯ã©ã¹ã¿ãŒãšãµãŒããŒã¬ã¹ã¯ãŒã¯ã°ã«ãŒãã®äž¡æ¹ã§ãåã SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã¯ãšãªã䜿çšã§ããŸãã ãŸããSYS ã¢ãã¿ãªã³ã°ãã¥ãŒã䜿çšããäž»èŠãªã¢ãã¿ãªã³ã°ããã³ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã·ããªãªã«ã€ããŠã説æããŸããã Redshift ã®ã¯ãŒã¯ããŒãã«ã¯ãæ°ãã SYS ã¢ãã¿ãªã³ã°ãã¥ãŒã䜿ãå§ããããšããå§ãããŸãã èè
ã«ã€ã㊠Urvish Shah 㯠Amazon Redshift ã®ã·ãã¢ããŒã¿ããŒã¹ãšã³ãžãã¢ã§ãã 圌ã¯ããŒã¿ããŒã¹ãããŒã¿ãŠã§ã¢ããŠã¹ãã¢ããªãã£ã¯ã¹åéã§10幎以äžåããŠããŸããã ä»äºä»¥å€ã§ã¯ãæçãæ
è¡ãåšãšã®æéãæ¥œããã§ããŸãã Ranjan Burman 㯠AWS ã®ã¢ããªãã£ã¯ã¹ã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãã Amazon Redshift ãå°éãšããã客æ§ãã¹ã±ãŒã©ãã«ãªã¢ããªãã£ã¯ã¹ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ã§ããããæ¯æŽããŠããŸãã 圌ã¯ããŸããŸãªããŒã¿ããŒã¹ããã³ããŒã¿ãŠã§ã¢ããŠã¹ãã¯ãããžãŒã§ 16 幎以äžã®çµéšããããŸãã ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ã«ãã顧客ã®åé¡ã®èªååãšè§£æ±ºã«æ
ç±ã泚ãã§ããŸãã 翻蚳ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®å°åœ¹äžžãæ
åœããŸãããåæã¯ ãã¡ã ã§ãã