본문 바로가기

개발자 기술 면접51

[DB] 인덱스란? 인덱스 인덱스는 테이블에 대한 검색 속도를 높여주는 자료 구조를 말합니다. 인덱스는 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있습니다. 고속의 검색 동작 뿐만 아니라 레코드 접근과 관련하여 효율적인 순서 매김 동작에 대한 기초를 제공합니다. 인덱스 사용의 장단점 장점 테이블 검색과 정렬 속도가 향상됩니다. 이에 따라 시스템의 전반적인 부하를 줄일 수 있습니다. 단점 인덱스를 관리하기 위해 DB의 약 10%에 해당하는 저장공간이 필요합니다. 인덱스를 잘못 사용할 경우 오히려 성능이 저하되는 역효과가 발생할 수 있습니다. → INSERT: 새로운 데이터에 대한 인덱스를 추가. → DELETE: 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업 수행. → UPDATE: 기존의 인덱.. 2023. 12. 30.
[DB] RDBMS와 NoSQL의 차이 RDBMS는 정해진 스키마가 존재하고, 데이터 테이블 간의 정보가 서로 관계성을 가지고 있는 것이 특징입니다. 또한 2차원의 행(row) 렬(column)로 테이블을 표현하는 데이터베이스입니다. NoSQL(ex. MongoDB, Redis)은 정해진 스키마가 없다는 것이 RDBMS와의 가장 큰 차이입니다. NoSQL은 정해진 스키마가 없어 데이터 구조 변화가 자유롭고 데이터 분산이 용이합니다. 하지만 데이터 중복이 발생하거나 데이터 변경 시에 연산이 오래 걸린다는 단점이 있습니다. RDBMS(Relational DataBase Management System, 관계형 데이터베이스 관리 시스템) 장점 정해진 스키마에 따라 데이터를 저장해야하므로 명확한 데이터 구조를 보장받을 수 있습니다. 각 테이블 간의 .. 2023. 12. 30.
[JAVA] JAVA API란? JAVA API 자바 API란, 개발에 필요한 주요 기능들을 미리 작성하고 컴파일하여 클래스 라이브러리로 묶어 놓은 패키지들이며 JDK 내에 제공됩니다. 2023. 12. 29.
[JAVA] JRE와 JDK의 차이 JRE(Java Runtime Environment) 자바 실행 환경의 약자로, 자바 프로그램을 실행하기 위한 java 클래스 라이브러리 등의 도구들이 들어있으며 JVM도 이 안에 포함되어 있습니다. JDK(Java Development Kit) 자바 개발 도구의 약자로, 자바 애플리케이션을 개발하기 위한 모든 것을 묶어 놓은 키트입니다. JRE를 포함할 뿐만 아니라 컴파일러, 디버거 등 개발에 유용한 도구들을 포함하고 있습니다. 따라서 자바 프로그램을 개발하기 위해서는 JDK를 다운로드하여야 합니다. 2023. 12. 29.
[JAVA] JVM(Java Virtual Machine)의 역할 JVM의 역할 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 역할을 합니다. 그리고 JVM은 JAVA와 OS 사이에서 중개자 역할을 수행하여, JAVA가 OS에 구애받지 않고 독립적으로 작동이 가능하게 합니다. 또한, 메모리 관리 기능인 GC(가비지 컬렉션)를 수행합니다. 2023. 12. 29.
728x90