mysql Develop/DevOps 2024. 10. 17. [Grafana] database is locked 에러 대응 + DB migration 쿠버네티스 환경에서의 grafana 작업을 진행하다가 계속해서 끊기는 문제가 발생하더니 더이상 접속이 안되는 현상이 발견됐다. grafana pod을 확인해보니 에러 로그와 함께 "database is locked"라는 로그가 계속해서 올라왔다. 일단 원인은Grafana에서도 다양한 정보를 저장하기 위해 DB를 사용하는데 기본적으로 SQLite3를 사용하고있음하지만 SQLite3같은 경우 저장되는 정보량(또는 트래픽)이 커질경우 동시제어성이 떨어져서 기존작업이 이미 할당되어있다면 database is locked라는 에러구문이 발생할수도 있다고한다.그래서 웬만하면 트래픽이 클경우 MySQL, Postgresql을 사용해야한다.가장 편한건 기존 데이터를 싹 버리고 새로 MySQL과 Grafana를 띄우면 .. Data/Data Analysis 2024. 9. 14. [MySQL] with recursive 구문 활용법 SQL관련 코딩에 대해서 공부하던중에 "0시~23시까지 속한 특정데이터 합산을 구해야함" 라는 문제가 있었고, 여기서 주의할점은 합산에 필요한 데이터에서 특정 시간대가 존재하지않을수도 있었다. 예시로, 계산에 사용되는 데이터에는 11시 데이터가 없을가능성이 있다. 따라서 11시에 해당되는 값은 0이 되어야한다. 그렇다면 0시~23시까지 있는 테이블을 만들어서 계산에 활용된 테이블을 join시켜줘야하는데, 0시~23시까지 있는 테이블을 어떻게 만들지가 관건이였다. 찾아보니 아래와같이 with recursive구문을 사용하면 쉽게 생성이 가능했다. WITH RECURSIVE DIGIT AS ( SELECT 0 as number UNION ALL SELECT number + 1 FROM .. 이전 1 다음