MySQL 하나의 테이블에 들어갈 수 있는 최대 row? 데이터 사이즈? 0 2 1,877

by kjp [MySQL] MySql 최적화 [2020.09.03 12:01:45]


안녕하세요. 항상 많은 도움을 받고 있는 DB ㅊ보입니다.

IoT 기기들의 데이터를 수집하고 있는데,
1분 단위로 수집되는 데이터들을 계속 테이블에 넣고 있는데,
(데이터 형태는 대략 DATETIME, DeviceId, 10여개 정도의 DOUBLE 타입 데이터)

이게 계속 쌓여서 점점 커지면 보통 어떻게 대응을 하나요?
row가 1억개 이상 이렇게 커지면 어떻게 대응을 해야하는지 궁금합니다.

1억개 row 그 이상으로 많이 넣어도 일반적으로 괜찮은 것인지요? 성능상의 문제가 없다면 괜찮은 것인지요?

 

끊임없이 쌓이는 시계열 데이터들은 현업에서 DB 관리를 어떻게 하시는지 궁금합니다.
 

단순히 Server 사양을 높이면 되는지 (CPU나 Memory나, 스토리지)
다니면 다른 최적화가 반드시 필요한지 궁금합니다.

 

DB는 AWS RDS MySql을 사용 중입니다.

 

by pajama [2020.09.03 12:55:40]

mysql 버전에 따라 다른듯 합니다. rds 매뉴얼을 보면 16TB라고 하는데 row size를 65,535 바이트이면 약 10억건을 저장할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/MySQL.KnownIssuesAndLimitations.html#MySQL.Concepts.Limits.FileSize

https://stackoverflow.com/questions/30419920/how-many-rows-can-mysql-store

시계열이나 수집성 데이터는 보통 월별로 테이블을 만들거나 파티셔닝 기능을 사용하는 경우가 많았습니다. 데이터가 쌓이기만 한다면 상관없겠지만, 조회는 아무래도 커질수록 느려지니까 분할하거나 주기적으로 삭제해서 최근 데이터만 남겨놓는식으로 관리합니다. 그냥 계속 쌓고 쌓다가 문제되서야 데이터 지우는 곳도 간혹 있더군요.


by kjp [2020.09.04 18:45:12]

답변 감사드립니다~!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입