DB, MW5 [DB] Primary Key 이란? Primary Key란? - 테이블 내에서 row의 유일함을 보장하는 컬럼 또는 컬럼의 집합이다. - 한 테이블에서 Primary Key는 반드시 하나만 존재한다. - PostgreSQL에서는 Primary Key 생성 시 구성된 컬럼으로 B-tree Index를 생성해준다. Primary Key 선정 기준 - Unique, Not Null 인 것을 고르자 - row를 식별할 수 있는 명확한 컬럼이 있는 경우 해당 컬럼을 Primary Key로 선정 - 명확한 컬럼이 없는 경우 auto-increment id로 설정 2021. 12. 2. MongoDB 속도 개선 네이버 검색에서 몽고 DB FAST + SCALABLE + HIGHLY AVAILABLE = MongoDB * 하위 레이어... 최종적으로... - 1초안에 return 해주어야 함 = 평균 10ms 미만 * 초당 6천건 수준.. 일 평균 4~5언건. 몽고 DB 초당 만건 이상 몽고DB 속도 올리기 - Index * MongoDB는 컬렉션 당 최대 64개의 인덱스만 생성 가능 * 너무 많은 인덱스를 추가하면, 오히려 side effects가 발생한다. * Frequent Swap -> 몽고DB는 인데스를 메모리에 올려놓음. * Write Performance 감소 -> Read Performance에 영향 Index Prefix를 사용하자 => !! sorting 순서 맞추자! 하나의 컬렉션이 너무 많은.. 2020. 3. 20. [Kafka] 카프카 옵션 셋팅 추천 설정 log.retention.hours = default 168시간 (1주일) 데이터를 저장하는 기간 => 디스크 풀이 쉽게 날 수 있음 => 72시간 추천 (3일) 토일월!! delete.topic.enable 토픽 삭제를 허용하는지 여부 => 디스크 풀이 났을 때 급하게 토픽을 지우는 상황이 올 수 있음 => true로 설정해 놔야 바로 지워짐 allow.auto.create.topics 프로듀서가 해당 토픽이 없을 시 클러스터에 토픽을 생성 => 사용 상 오류 방지를 위해 disable 추천 => 지워하 하는 토픽인데 계속 생성될 수 있음 log.dirs = default tmp로 되어 있음 카프카 데이터 저장 디렉토리 => 별도 디렉토리로 운영할 것 프로듀서 Ack = 0 빠른 전송, 메시.. 2020. 3. 4. [Kafka] 커밋과 오프셋 kafka는 각 그룹의 컨슈머가 읽은 레코드들을 추적 관리하는 방법이 있다. 파티션 내부의 위치를 변경하는 것을 commit이라고 한다. 컨슈머는 어떻게 오프셋을 커밋할까? 자동 커밋 현재의 오프셋 커밋 2020. 3. 3. 카프카(kafka) docker 설정 Kafka docker 설치 $ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-kafka/master/docker-compose.yml > docker-compose.yml $ docker-compose up -d 토픽 생성 # 토픽 생성 > bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test # 토픽 리스트 확인 > bin/kafka-list-topic.sh --zookeeper localhost:2181 2020. 2. 28. 이전 1 다음