대용량 db 자료 구할곳이 있나요?

destroy의 이미지

DB암호화 공부중에 있는데요

실무에서 쓰이는 데이터(안에 내용은 가짜여도 상관 없습니다)를 구하라고

스승님께서 던져주셨네요

몇주동안 지금 찾고 있는데 구할곳이 없어서ㅠ_ㅠ

10만건 이상되는 자료(50만건이상이 되면 더욱 좋겟져?ㅠ)..

테이블이 40개 이상되는 자료를 구할곳이 있나요?

DB암호화시 속도 차이를 확연하게 확인할려고 하는거라고 하시는데

자료 공유 부탁좀 드리겠습니다ㅠ

rgbi3307의 이미지

안녕하세요?
의미 있는 결과값을 산출하기 위해서 테스트용 데이터는 중요하지만,
말씀하신 대용량의 DB를 제공해 주는 곳은 없을듯 합니다.
가장 큰 이유는, 암호화를 하셔서 잘 아시겠지만, 보안적인 문제입니다.
실무에서 사용하는 대용량의 DB, 특히, 기업에서 사용하는 DB라면 보안 문제가 심각하게 노출될 수 있습니다.
그래서 아래와 같이 PL/SQL 쿼리문으로 테이블을 생성하고,
루프를 돌리면서 숫자와 문자열 난수를 발생시킨 데이터를 테이블에 저장시키는 방법도 괜찮습니다.
(아래 쿼리는 오라클에서 사용한 것입니다. 다른 DBMS들도 유사할듯...)

--테이블 생성
CREATE TABLE emp_normal_tbl (
       emp_no      number(10)
     , emp_name    varchar2(30)
     , emp_salary  number(10)
);
 
--테이블에 100만행 삽입
BEGIN
FOR i IN 1..1000000 
LOOP
    INSERT INTO emp_normal_tbl
        VALUES (i, DBMS_RANDOM.STRING('U',30), DBMS_RANDOM.VALUE(1000,7000));
    IF MOD(i, 10000) = 0 THEN
        COMMIT;
    END IF;
END LOOP;
END;

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))

익명 사용자의 이미지

직접 DB를 만드셔야 할 듯. 위에서 스크립트로 돌린 예처럼 하셔도 일부 테스트 하실 수 있어 보입니다

destroy의 이미지

제가 아직 이제 막 입사한 초보라서ㅠ

이제 설치위주로 끝내지밖에 못해서 아무것도 모르네요

간단히 시작 종료와 테이블 설치정도밖에 모르는데

오라클 실행후

위에대로 따라만 하면 되는건가요?

익명 사용자의 이미지

그 정도시라면 무조건 따라한다고 좋지는 않아 보입니다.
위의 예제는 상당히 단순한 SQL스크립팅입니다. 관련 문서를 차근차근 읽어보고 튜토리얼 등등을 살펴보세요. 금방 익숙해지실 겁니다.

destroy의 이미지

답변 감사합니다~

sql2의 이미지

사실 단순한 스터디차원에서면 단순한 테이블에 단순한 데이터라도 상관없을 것 같습니다.

TPC-DS ( TPC-C + TPC-H 형태라고 보시면... )
http://www.tpc.org/tpcds/tpcds.asp
( spec 1.0 인데. 버그가 좀 있고, SQL 구문에러도 나지만, 그냥 쓰셔도 됨. )

TPC-E ( 테이블 많음. )
http://www.tpc.org/tpce/

혹은

Data Charmer's
http://dev.mysql.com/doc/employee/en/employee.html
https://edge.launchpad.net/test-db

둘다 원하시는 만큼의 scale factor 를 넣으시면 데이터 뻥튀기(?)가 가능하시고요.

worst case 는 TPC-CS 와 같이 복잡한 relationship
sample case 는 Employee db 와 같은 star schema 스타일을....

시간나시면...

Abadi daniel blog
http://dbmsmusings.blogspot.com/2010/12/machine-vs-human-generated-data.html