더북(TheBook)

다만 컬럼 단위가 아닌 행 단위까지 모두 다른 암호화 키를 사용하는 것은 비현실적입니다. 이때는 데이터베이스 테이블의 각 칸이 서로 다른 키를 사용하는 셈이 됩니다. 데이터를 사용하려고 복호화를 수행할 때는 매우 많은 키를 참조해야 합니다. 이는 가용성을 해치는 비효율적인 방법이기 때문에 권하지 않습니다.

이제 암호화된 데이터베이스의 성능 이슈를 살펴봅니다. 효과적으로 데이터베이스를 사용하는 핵심은 바로 ‘인덱스’에 있습니다. 데이터베이스 암호화에서 가장 복잡한 문제도 인덱스 구축이고, 모든 데이터베이스 암호화 제품 제조사가 다투는 문제도 암호화된 데이터의 인덱스 구축입니다.

인덱스는 데이터베이스에서 쉽게 검색하려고 데이터마다 붙여 놓은 꼬리표입니다. 데이터베이스에서는 인덱스를 생성할 때 자체적으로 인덱스 생성 함수를 사용합니다. 인덱스는 데이터를 쉽게 찾을 수 있도록 실제 데이터의 순서대로 배열합니다. 특정 데이터를 검색할 때는 먼저 인덱스에서 관련 내용을 찾은 후 그 인덱스가 참조하는 데이터를 찾습니다. 물론 전체 데이터를 일일이 확인하면서 검색해야 할 때는 인덱스가 큰 의미가 없지만, 특정 조건으로 검색할 때는 매우 유용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.