본문 바로가기

개발일지/TIL

[230811] Java Faker로 더미 데이터 생성

데이터 생성 방법 고민

💬 MVP 기능을 모두 구현한 이후에 성능 테스트를 진행하기로 했다. 성능 테스트를 위해서 먼저 데이터를 모으기로 했다. 

💢 아이디어 경매 데이터를 모으는 것은 어려웠다. 찾아보니 부동산, 법원 경매 등을 데이터 밖에 없었다.

💬 실제 서비스를 하기 위해서 만들어진 프로젝트가 아니라는 점이 다른 관점에서 접근하도록 만들었다. 연관이 없더라도 DB 스키마에 맞추어서 대량의 데이터를 넣어 성능을 테스트 해 볼 수 있겠다고 판단했다.

💢 더미 데이터를 만들어주는 사이트가 있어 사용하려고 했다. 하지만 유료가 아니면 만들 수 있는 건수는 1,000건 밖에 되지 않았다. 그 이상의 데이터가 필요한데 말이다.

✅ 찾아보니 Java로 더미 데이터를 만들 수 있는 Java Faker가 있다는 것을 알았다. Java Faker를 사용해 코드를 작성하여 데이터를 만들기로 했다. 

 

✔ Java Faker Dependency

 

dependencies {
    implementation 'com.github.javafaker:javafaker:1.0.2'
}

 

✔ Java Faker 사용한 예시 코드

 

public class JavaFaker {
    public static void main(String[] args) throws IOException {
        Random random = new Random();
        Faker faker = new Faker(Locale.ENGLISH);
        
        String title = faker.job().title();
        String content = faker.lorem().sentence(10, 20);
    }
}

더미 데이터 생성

💬 필요한 것은 유저와 아이디어 데이터였다. 한 번에 많은 데이터를 넣기보다는 점차적으로 늘려가보기로 했다. 
     ➡ 유저 : ( 10만 / 20만 / 30만 / ++ )
     ➡ 아이디어 : ( 100만 / 200만 / 300만 / ++ )

 

✔ 1차 데이터 DB에 넣기 [유저 - 10만 건]

 

 

✔ 1차 데이터 DB에 넣기 [아이디어 - 100만 건 (종료 경매(90만) + 종료 X 경매(10만))]