본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


AsterixDB

AsterixDB 테스트용 환경 구축 - 4 (Insert performance)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 12. 10.

 

Java에서 http를 통하여 데이터를 CRUD 하는 기능을 테스트 해 보았다.

이에 아스트릭스DB에서 대량의 데이터를 조회하는 데 얼마나 빠른지 직접 확인해 보고자 데이터를 넣는 프로그램을 만든 후 동작시켜 보았다.

 

* 테스트 프로그램 환경

 - Java 프로그램을 통한 http post 요청

 - 한번에 저장요청을 1천개 단위로 저장 요청

 - http 커넥션 종료 후 5초간 대기

 

아래 움짤은 대략 1초마다 COUNT 쿼리를 클릭(?)하여 한번에 얼마씩 들어가는지 테스트해본 사진이다.

 

1초마다 쿼리를 갱신해 보았다...

 

 

대략적으로 1초에 5~7건정도가 들어가는 것을 볼 수 있었다.

이러한 속도면은 평균 1초에 6건이 저장된다고 하면,

 - 1분 : 360개

 - 1시간 : 약 2만 1천개

 - 하루 : 약 51만개

 

테스트 목적으로 1천만개를 넣어보려 했는데.. 위 내용에 따르면 약 20일동안 프로그램을 돌려야 겨우 1천만개 데이터가 저장이된다.

일반 관계형 데이터베이스도 1초에 저장속도가 이것보다는 훨씬 빨랐던 것으로 기억하는데.. 예상외의 저장속도에 많이 당황하였다.

 

그래서, 별도의 쓰레드를 통해서 3곳에서 HTTP 요청을 통해 데이터저장을 시도하여보았는데.. 마찬가지로 평균 1초에 6개씩 넣을 뿐 이였다.

아스트릭스DB는 어떠한 큐를 통해서 들어온 요청을 쌓아두고 처리하는 것이 아닌지 싶다.

시계열 데이터베이스라 뭔가 초(milliseconds) 값을 유니크하게 주려고 그런가 싶기도 한데..

 

물론 개발PC가 하드디스크로 된 것이 함정이긴 하지만 그래도 많이 느렸던 것 같다.

아무튼, 1천만개 이상 데이터를 넣어보고 조회속도, 퍼포먼스를 확인 해 보아야 할 것 같다.

20일 뒤에 다음 테스트를 해 볼수 있을 것 같다.

 

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글