#️⃣1. 이진 부호화 ✅1.1. 이진 부호화 데이터를 파일에 쓰거나 네트워크를 통해 전송 혹은 메모리를 공유하지 않는 다른 프로세스로 일부 데이터를 전송하려면 바이트열 형태로 부호화해야 한다. 부호화 == 직렬화 == 마샬링 복호화 == 파싱 == 역직렬화 == 언마샬링 ✅1.2. 이진 부호화 라이브러리 비교 '스피프트'와 '프로토콜 버퍼'이진 부호화 라이브러리를 사용하려면 부호화할 데이터를 위한 스키마가 필요하다. 각각 스키마 정의를 상용해 코드를 생성하는 도구가 있다. 1.2.1 스리프트 (Thrift) # 스리프트 스키마 struct Person{ 1: required string userName, 2: optional i64 favoriteNumber, 3: optional list intere..
#️⃣ CS (Computer Science)/Database
책 '데이터 중심 애플리케이션 설계' - 3장. 저장소와 검색을 읽고 정리한 글입니다. #️⃣ 1. 인덱스(색인) 1-1. 정의 데이터베이스에서 특정 키의 값을 효율적으로 찾기 위한 데이터 구조 어떤 부가적인 메타 데이터를 유지하는 것으로, 이정표 역할을 해서 데이터 위치 찾는데 도움을 줌 기본 데이터에서 파생된 추가적인 구조 쉽게 말해 책의 목차 대부분 데이터베이스는 색인 추가와 삭제 허용 색인은 데이터베이스 내용에는 영향을 주지 않지만, 질의 성능(읽기 속도 향상)에만 영향줌 특정 테이블의 컬럼 검색 시, 테이블의 레코드를 full scan하는 것보다, index화되어 있는 index 파일을 검색하여 질의 성능 향상 시킴 특히 쓰기 과정에서 오버헤드 발생함 이는 저장소의 ‘트레이드 오프’ ⇒ 색인 잘..