January 23, 2022
복제 란 네트워크로 연결된 여러 장비에 동일한 데이터 복사본을 유지한다는 의미이다. 데이터 복제가 필요한 이유는 다음과 같다. 지리적으로 사용자와 가깝게 데이터를 유지해 지연 시간을 줄인다. 시스템의 일부에 장애가 발생해도 지속적으로 동작할 수 있게 해 가용성을 높인다. 읽기 질의를 제공하는 장비의 수를 확장해 읽기 처리량을 늘린다. 복제에서 모든 어려움…
January 18, 2022
데이터 타입이나 스키마가 변경될 때 애플리케이션 코드에 대한 변경이 종종 발생한다. 하지만 대규모 애플리케이션에서 코드 변경은 대게 즉시 반영할 수 없다. 서버 측 애플리케이션에서는 한 번에 몇 개의 노드에 새 버전을 배포하고 새로운 버전이 원할하게 실행되는지 확인한 다음 서서히 모든 노드에서 실행되게 하는 방식이 있다. 클라이언트 측 애플리케이션은 사용…
January 14, 2022
데이터베이스를 강력하게 만드는 데이터 구조 일반적으로 파일 추가 작업은 매우 효율적이기 때문에 로그(log)를 기록할 때 파일을 사용한다. 하지만 파일에서 특정 로그키를 찾을 때마다 만큼 걸리기 때문에 성능이 매우 좋지 않다. 데이터베이스에서 특정 키의 값을 효율적으로 찾기 위해서는 가 필요하다. 색인의 일반적인 개념은 어떤 부가적인 메타데이터를 유지하…
January 10, 2022
데이터 모델은 소프트웨어가 할 수 있는 일과 할 수 없는 일에 지대한 영향을 주므로 애플리케이션에 적합한 데이터 모델을 선택하는 작업은 상당히 중요하다. 관계형 모델과 문서 모델 오늘날 가장 장 알려진 데이터 모델은 관계형 모델을 기반으로 한 SQL 이다. 데이터는 관계(relation) 로 구성되고 각 관계는 순서 없는 튜플(tuple) 의 모음이다.…
January 05, 2022
일반적으로 데이터 중심 애플리케이션은 다음을 필요로 한다. 구동 애플리케이션이나 다른 애플리케이션에서 나중에 다시 데이터를 찾을 수 있게 데이터를 저장 (데이터베이스) 읽기 속도 향상을 위해 값비싼 수행결과를 기억 (캐시) 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링 할 수 있게 제공 (검색 색인, search Index) 비동기 처리를 …