본문 바로가기

일상/TIL

TIL - 20241115

반응형

MySQL 데이터 전체를 가져올 때 유의할 점.

mysql에 직접 쿼리를 날리면서 분석하는 경우 부하 이슈라던지 혹은 다른 db와 연결해서 분석하는 것이 어렵기 때문에 mysql 데이터 전체를 가져와서 하둡에 적재하고 이를 Hive나 Spark 등을 사용해서 분석합니다.

다만 직접 쿼리를 날릴 때도 한 번에 많은 데이터를 가져오려고 하면 db에 부하가 가기 때문에 적절한 조건문을 걸어서 조회해가는 것이 필요합니다.

그래서 pk를 사용해서 범위로 조회하는 것이 좋으며 이 범위를 잘 설정하는 것이 중요합니다. 너무 짧게 잡게되면 연결을 자주하는 이슈가 있고, 너무 크게 잡으면 db 입장에서 데이터를 쿼리하는 과정에서 부하가 발생합니다.

이 때 당연히 데이터를 조회할 때 항상 pk를 기준으로 정렬해서 보여주는 것이 당연한 방식인줄 알았는데, 실제 동작의 경우 pk를 기준으로 정렬이 안되는 경우가 있는 것을 확인했습니다.

그래서 데이터를 조회할 때 order by를 사용해서 명시적으로 정렬을 하지 않는 경우 db는 정렬을 보장하지 않으며 order by를 작성해야 하는 것을 경험했습니다.

반응형

'일상 > TIL' 카테고리의 다른 글

TIL - 20241120  (0) 2024.11.20
TIL - 20241119  (0) 2024.11.19
TIL - 20241114  (0) 2024.11.14
TIL - 20241113  (0) 2024.11.13
TIL - 20241112  (1) 2024.11.12