해결된 질문
24.07.14 04:40 작성
·
90
·
수정됨
0
안녕하세요!
14분 쯤 나오는 단일 인덱스 크기와 전체 인덱스 크기가 얼마인지 나오는데, 각각 구하는 계산식을 알 수 있을까요..?
어떻게 8바이트가 1억건의 테이블이 있을때 6GB가 되는지 잘 모르겠습니다..
8바이트 x 1억 레코드 = 800MB
800MB / 1000 = 0.8GB
인줄알았는데 따로 계산법이 있는걸가요?
추가적으로 필요인스턴스 관련해서 aws에서 계산해보고싶은데 aws요금 계산기에서 Aurora MySQL 서비스 로 검색하면되는게 맞을까요? 서비스 찾기에 Aurora MySQL 검색해도 결과없음으로 나와서요..ㅠㅠ
답변 2
0
2024. 07. 16. 20:03
세진님 안녕하세요.
강의 내용에서 언급한 6GB와 24GB는 계산 착오가 있었으며,
서비스에서 사용하는 대용량 테이블의 개수를 8개 정도로 가정(대략 데이터베이스에 1억건 레코드를 가진 테이블 8개를 가정)했었는데, 이 부분도 누락되어서 혼란을 드린 것으로 보입니다.
여기에서 예시한 1억건 레코드, 8개 테이블, 그리고 테이블당 10개 인덱스는 모두 이해를 돕기 위해서 임의로 샘플링 된 값들일 뿐이니, 너무 큰 의미를 두지 않으셔도 될것 같습니다.
제가 예시로 한 값도 세진님이 말씀하신 형태로 단순 바이트 수와 레코드 건수의 곱을 예시로 비교한 것으로 이해해주시면 좋을 듯 합니다. (이 부분은 다시 동영상 강의를 수정하도록 하겠습니다. 오류 알려주셔서 감사합니다.)
참고로, 여기에서 사용한 단순 계산 방법은, 실제 인덱스를 정확히 반영하기 어렵습니다. 일반적으로 인덱스의 크기는 Fragmentaion과 다른 오버헤드 값들이 있기 때문에 예측하기 어렵습니다. 그래서 정확한 크기를 계산해내기는 어렵다고 봐주시면 좋을 것 같습니다.
AWS 요금 계산기(https://calculator.aws/#/addService )에서,
Amazon Aurora MySQL-Compatible
로 검색하시면 될듯 해요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변 드리겠습니다. 인덱스 크기를 계산할 때 실제 데이터 크기 이외에도 인덱스를 관리하기 위한 추가적인 정보가 저장되기 때문에, 단순히 데이터 크기만 고려해서는 정확한 인덱스 크기를 계산할 수 없습니다. 실제 인덱스 크기는 데이터 크기, 인덱스 구조(예: B-tree), 페이지 오버헤드, 트리의 깊이 등 다양한 요소에 따라 달라집니다. 따라서 8바이트 데이터 크기를 가진 1억 건의 레코드를 인덱싱할 때 발생하는 실제 인덱스 크기는 앞선 계산보다 클 수 있으며, 6GB에 이르는 것도 가능합니다.
AWS Aurora MySQL 서비스 관련해서는, AWS 요금 계산기에서 ‘Amazon Aurora’로 검색하셔야 합니다. ‘Aurora MySQL’이라고 직접 검색하시면 결과가 나오지 않을 수 있으니, ‘Amazon Aurora’를 선택하셔서 계산하시면 됩니다. Amazon Aurora 서비스는 MySQL과 PostgreSQL 호환 모드를 제공하므로, MySQL 호환 모드를 선택하시면됩니다.
필요한 정보를 찾으시는 데 도움이 되셨길 바랍니다.