SpringLover
400
2019-10-18 11:06:36
4
206

Mysql 시간당 약 2만개의 레코드가 들어오는데, 테이블 설계는 어떻게 해야하나요?


일반웹은 아니고 임베디드 IOT 모듈에서 수십개의 값들을 받아서

일반 서버의 mysql database에 저장하는 테스트를 진행하고 있습니다.


총 20개의 모듈중 3개만 연결해서 

매초당 수십개의 센서값들을 받아보니...

1시간에 약 2만개의 레코드가 저장되더군요. 

누적 데이터가 10만개 데이터일때, 용량은 약 30메가 정도됩니다.

나머지 모듈 17개를 다시 연결한다면 레코드양은 하루 100만개는 훌쩍 넘어갈것 같고...

365일 하루종일 데이터를 받아야 하는데, 최소 3~5년은 쉬지 않고 받을 것 같습니다..


프론트엔드에서는 실시간으로 데이터값을 받아서 보고서형태로 출력해야되고

그래프화도 시켜야 하는데...

효율적인 출력을 위해 데이터베이스의 스키마, 테이블등을 어떻게 설계해야 할지 모르겠습니다. 


매월 / 그룹 마다 201910_table, 201911_table,.........202010_table.... 식으로

테이블을 생성해서 따로 분할 저장 하는것이 맞는 것인지요?

항상 값을 조회할때는 날짜가 기준이 될 것 같습니다. 

효율적으로 검색하기 위해 어떻게 하는 것이 좋을까요?


경험자분들 충고 부탁 드립니다.




2
0
  • 답변 4

  • bayleys
    1k
    2019-10-18 13:05:23

    파티션테이블

    1
  • 모모
    173
    2019-10-18 14:18:54

    elastic search 사용 추천드립니다.

    1
  • SpringLover
    400
    2019-10-18 17:31:20

    bayleys // 파티션 테이블이란게 있군요. 짧지만 강력한 댓글 감사 드립니다 ㅎ;


    모모 // elastic search 는 돈주고 타서버에서 인증받으면서 사용하는건가요? 

    지금 자체서버 구축해서 쓰는거라 잘 모르겠네요 ㅠ


    답변 감사드립니다~


    0
  • 모모
    173
    2019-11-08 15:00:13

    답변이 늦었네요~

    해결하셨는지는 모르겠지만

    서버에 무료로 설치하셔서 쓰시면됩니다

    ELK 로그서버 이런식으로 검색해보시면 많이나올거에요~

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.