분류 전체보기
-
[SQL] GROUP BY와 PARTITION BY의 차이점데이터베이스 2024. 10. 14. 11:18
1. GROUP BY데이터를 그룹화하여 각 그룹당 하나의 결과를 반환합니다.그룹화된 각 결과에 대해 집계 함수(SUM, AVG, COUNT 등)가 적용됩니다.GROUP BY를 사용하면 데이터가 그룹별로 집계되어, 원래의 개별 행을 유지하지 않습니다.예시:SELECT department_id, COUNT(*) AS employee_countFROM employeesGROUP BY department_id; 설명:department_id별로 그룹화하고, 각 부서의 직원 수를 계산합니다.결과에는 각 부서당 하나의 행만 남습니다. (즉, department_id별로 집계된 결과만 표시)2. PARTITION BY데이터를 특정 기준으로 나누지만, 데이터의 원래 행은 유지합니다.주로 윈도우 함수(ROW_NUMBER..
-
트래픽과 대역폭이 계산방법컴퓨터과학/네트워크 2024. 10. 10. 13:19
트래픽과 대역폭을 계산하는 것은 네트워크를 설계하거나 용량을 계획할 때 매우 중요한 작업입니다. 아래에서 네트워크 트래픽 및 대역폭을 계산하는 방법을 설명하겠습니다.1. 트래픽 계산 방법트래픽은 주로 네트워크를 통해 전송되는 데이터의 양을 의미하며, 이를 측정하려면 몇 가지 주요 개념을 이해해야 합니다.트래픽 계산의 기본 요소:데이터 크기 (Data Size): 전송되는 데이터의 크기, 일반적으로 바이트 단위로 측정 (MB, GB 등).사용자 수 (Number of Users): 네트워크를 사용하는 총 사용자 수.요청 빈도 (Request Frequency): 각 사용자가 얼마나 자주 네트워크를 통해 요청을 하는지.응답 크기 (Response Size): 각 요청에 대해 네트워크에서 반환되는 데이터의 크..
-
aws cloudfront invalidation(무효화)란? cli통해 하는법클라우드/aws 2024. 10. 5. 11:54
AWS CloudFront Invalidation은 CloudFront의 **캐시된 콘텐츠를 무효화(삭제)**하여, 사용자들이 새로운 버전의 콘텐츠를 즉시 받을 수 있도록 하는 기능입니다. CloudFront는 엣지 로케이션(전 세계에 분산된 서버)에서 콘텐츠를 캐시하여 사용자에게 빠르게 제공하는데, 원본 서버에서 콘텐츠를 업데이트했을 때, CloudFront 엣지 로케이션에 저장된 캐시도 최신 상태로 업데이트되어야 합니다.CloudFront Invalidation의 주요 목적캐시된 콘텐츠 무효화: 클라이언트에게 전달되는 캐시된 파일이 최신 파일이 아니거나, 변경된 경우 무효화를 통해 새 파일을 가져올 수 있습니다.콘텐츠 업데이트: 배포된 웹사이트나 애플리케이션의 파일(예: CSS, JS, 이미지 등)이..
-
CDN은 왜 사용할까? GSLB는 무엇일까?자바웹프로그래밍 2024. 10. 4. 09:50
CDN(Content Delivery Network)을 사용하는 이유는 주로 성능 향상, 사용자 경험 개선, 그리고 서버 부하 감소를 위함입니다. 주요 이유는 다음과 같습니다:전송 속도 향상: CDN은 전 세계에 분산된 서버를 통해 콘텐츠를 사용자에게 제공하기 때문에, 사용자와 가장 가까운 서버에서 데이터를 전송합니다. 이를 통해 지연 시간을 줄이고 웹 페이지 로딩 속도를 빠르게 합니다.서버 부하 분산: 많은 사용자가 동시에 접근할 때 하나의 서버에만 요청이 몰리는 경우 서버가 과부하되거나 다운될 수 있습니다. CDN은 여러 서버로 트래픽을 분산시켜 서버 부하를 줄여줍니다.높은 가용성 및 신뢰성: CDN은 여러 지역에 서버를 분산시켜 두기 때문에 한 지역의 서버에 문제가 생기더라도 다른 서버가 이를 대신..
-
왜 kafka를 사용하는것인가? 만약 kafka가 없었다면..?웹서버/kafka 2024. 10. 3. 08:42
Kafka 없이 데이터를 처리할 때의 복잡성서버 간 직접 연결: 여러 서버가 서로 다른 데이터를 교환하거나 서로 필요한 데이터를 받아오기 위해 서버 간 직접적인 연결을 설정해야 합니다. 예를 들어, 서버 A에서 생성된 데이터를 서버 B, C, D가 각각 받으려면, 각 서버 간에 개별적으로 데이터를 주고받는 코드를 작성해야 합니다.다양한 프로토콜: 각 서버가 데이터를 다르게 처리하거나, 사용하는 통신 프로토콜이나 데이터 포맷이 다를 경우, 데이터 변환과 통신을 위한 코드가 더 복잡해질 수 있습니다.실시간 데이터 처리의 어려움: 데이터를 실시간으로 여러 곳에서 동시에 처리하려면, 각각의 서버 간 데이터 동기화를 관리해야 하며, 이 역시 복잡한 문제로 이어집니다.이렇게 여러 서버 간에 직접 데이터를 주고받는 ..
-
redis centinel이란 무엇이며, 설정방법데이터베이스/redis 2024. 10. 1. 08:32
Redis Sentinel은 Redis 클러스터의 고가용성을 보장하기 위해 사용하는 시스템입니다. Redis Sentinel은 Redis 인스턴스의 모니터링, 장애 감지, 자동 장애 조치(failover) 및 클러스터의 구성을 관리하는 역할을 합니다. 이를 통해 Redis 서버에 문제가 발생했을 때, Sentinel이 이를 감지하고 자동으로 마스터 Redis 인스턴스를 교체하여 서비스 중단을 최소화할 수 있습니다.Redis Sentinel의 주요 기능:모니터링: Sentinel은 Redis 마스터와 슬레이브 인스턴스를 지속적으로 모니터링하여 인스턴스가 정상적으로 동작하는지 확인합니다.장애 감지: 마스터가 응답하지 않을 경우, Sentinel은 이를 감지하고 해당 인스턴스를 장애 상태로 판단합니다.자동 장..
-
로컬 캐시(Local Cache)와 글로벌 캐시(Global Cache)는 캐시의 범위와 사용 방법자바웹프로그래밍 2024. 9. 30. 14:54
1. 로컬 캐시 (Local Cache)로컬 캐시는 개별 애플리케이션 인스턴스(또는 서버)의 메모리에 저장되는 캐시입니다. 특정 서버 또는 애플리케이션 프로세스에만 유효하고, 다른 서버나 애플리케이션 인스턴스와 공유되지 않습니다. 주로 서버나 애플리케이션의 성능을 높이기 위해 자주 접근하는 데이터를 메모리에 저장하는 방식입니다.특징:빠른 접근 속도: 메모리 내에 캐시되어 있어 매우 빠른 접근이 가능하며, 네트워크 통신이 필요 없습니다.서버별 독립성: 각 서버나 애플리케이션 인스턴스가 자신만의 캐시를 유지합니다. 서로 다른 서버 간에는 캐시가 공유되지 않기 때문에 다른 서버의 캐시 업데이트를 반영할 수 없습니다.스케일 문제: 여러 대의 서버가 있는 경우, 각 서버가 다른 버전의 캐시를 가지고 있을 수 있습..
-
이더리움의 애플리케이션 바이너리 인터페이스(ABI, Application Binary Interface)블록체인 2024. 9. 25. 17:39
이더리움의 애플리케이션 바이너리 인터페이스(ABI, Application Binary Interface)는 스마트 컨트랙트와 외부 애플리케이션 간의 소통 방식을 정의한 규약입니다. 이더리움에서 스마트 컨트랙트는 블록체인에 저장된 코드로, 이를 실행하려면 외부에서 정확한 방법으로 데이터를 보내야 합니다. ABI는 이러한 데이터의 형식과 함수를 호출하는 방법을 정해줍니다.ABI의 역할:함수 호출 규칙: 스마트 컨트랙트는 여러 함수로 구성되어 있을 수 있는데, ABI는 어떤 함수를 호출할지, 그리고 그 함수에 어떤 데이터를 보내야 할지 정해줍니다.데이터 인코딩: ABI는 스마트 컨트랙트에 전달할 데이터 형식을 정의하고, 컨트랙트가 반환하는 데이터를 이해할 수 있도록 변환하는 역할을 합니다.실생활 예시:ABI를..