2011-11-08 3 views
0

최근에 일부 회사의 소프트웨어에 대한 직렬 키를 생성하는 스크립트를 만드는 프로젝트가있었습니다. 처음에는 제 생각에 각 소프트웨어마다 다른 MySQL 테이블을 저장하고있었습니다. 그들이 저에게 요구 한 것은 10 개의 소프트웨어 각각에 대해 2000 개의 고유 한 키 코드를 생성하는 것이 었습니다. 그들이 요구하는 양의 데이터를들은 후에, 데이터는 다른 텍스트 파일에 저장되었습니다.MySQL 또는 텍스트 파일에 대한 레코드 저장

이제 각 소프트웨어에 대해 10 개의 열과 텍스트 형식의 열에 2000 개의 직렬 키를 저장하는 견고한 MySQL 테이블을 생각해 보았습니다.

각 직렬 키는 10 정수 코드이며 반복하지 않습니다.

그들은 CD에 인쇄하기위한 시리얼 키를 생성 할 수있는 스크립트를 만들 것을 요청하고 있으며 웹 사이트에서 최종 사용자로부터 시리얼 키를 가져 와서 고유 한 컴퓨터 인코딩 키로 믹스 할 수있는 스크립트가 필요합니다. 사용자에게 암호.

이 경우, MySQL 데이터베이스가이 거대한 양의 데이터에 대처할 수 없으므로 텍스트 파일을 저장하는 것이 더 좋은 아이디어라고 생각하지만이 작업의 보안에 대해서는 확실하지 않습니다.

제 문제는 프로젝트의 데이터베이스 디자인에 대한 결정입니다.

어느 것이 좋습니다?

+0

"이 경우 텍스트 파일을 저장하는 것이 MySQL 데이터베이스가이 엄청난 양의 데이터에 대처할 수 없기 때문에 더 좋은 아이디어이지만이 작업의 보안에 대해서는 확신 할 수 없습니다." MySQL은 ** 많은 양의 데이터를 처리 할 수 ​​있도록 설계되었습니다 **! 그것은, afterall, ** database **입니다. 게다가 그것은 많은 데이터가 아닙니다. – Flukey

+0

"이 경우, MySQL 데이터베이스가이 거대한 양의 데이터에 대처할 수 없으므로 텍스트 파일을 저장하는 것이 더 좋은 생각이지만,이 작업의 보안에 대해서는 확신하지 못합니다." 저는 MySQL을 좋아하지 않습니다. 그러나 당신의 생각은 이것에 대해 완전히 뒤떨어져 있습니다. 그것은 당신의 판단을 의문으로 여깁니다. 이 클라이언트에 관심이 있다면 숙련 된 개발자에게 문의하십시오. –

답변

2

문제가 될 수있는 MySQL 데이터베이스에 데이터를 저장하는 이유는 예를 들어, 당신은 다음과 같은 두 가지 간단한 테이블을 디자인 할 수 있습니다, 이해가 안 :

Table : programs 
    -id - INT [PK] 
    -name - VARCHAR(50) 


Table : serials 
    -id - INT [PK] 
    -p_id - INT [FK] ---> programs.id 
    -scode - INT (the program serial) 

하나의 테이블 (프로그램)의 목록이 포함되어 있습니다 프로그램 (사용 가능한 프로그램에 대한 일종의 열거 형)이고, 다른 하나는 프로그램 표의 특정 프로그램을 참조하는 일련 번호가 들어있는 프로그램입니다.

+0

그들은 25000 개의 시리얼 키에 대해 이야기하고 있으며,이 양의 데이터를 읽고 저장하는 것은 서버의 높은 소스 사용량의 문제입니다. 그러나이 금액을 파일에 저장하도록 선택하면 쉽고 빠르지 만 보안은 확실하지 않습니다. –

+1

25000은 위와 같이 설계된 두 개의 테이블에 문제가 없습니다 ... – aleroot

+0

@MacTaylor -이 디자인을 따르십시오. 새 프로그램을 추가 할 때마다 DB 테이블을 변경하고 응용 프로그램을 다시 작성하기를 원하지는 않습니다. –

관련 문제