분류 전체보기(301)
-
[SQL] FROM절 JOIN 형태
ANSI/ISO SQL JOIN 설명 ANSI/ISO SQL에서 규정한 조인 문법은 WHERE 절에 조인 조건을 기술하는 전통적인 방식의 조인 문법과 차이가 있다. 사용자는 기존 WHERE 절의 검색 조건과 테이블 간의 조인 조건을 구분 없이 사용하던 방식으로 그대로 사용할 수 있으며, 추가된 선택 기능으로 테이블 간의 조인 조건을 FROM 절에서 명시적으로 정의할 수 있게 되었다. 가장 두드러지는 특징은 ON 조건절을 통해 JOIN 조건과 데이터 제한 조건을 분리해 기술하는 것이다. 전통적인 방식의 JOIN 문법에서는 WHERE 절에 JOIN 조건을 FROM 절의 ON 조건절로 분리해 표시함으로써 사용자가 이해하기 쉽도록 한다. ON 조건절의 경우 NATURAL JOIN처럼 JOIN 조건이 숨어 있지 ..
2022.03.29 -
[EF Core]Entity Framework core
✅ Introduction Entity Framework Core은 가볍고, 확장 가능성이 높은 크로스 플랫폼 버전의 마이크로소프트 ORM이다. Entity Framework는 공식적인 데이터 액세스 플래솦밍다. ✅ Why Entity Framework Core EF Core은 ORM(Object-Relational Mapper)로 .NET 개발자들이 .NET 오브젝트로 데이터베이스 개발할 수 있도록 한다. 이는 lighweight, extensible하고, 크로스플랫폼적으로 사용될 수 있다. 이를 통해 개발자들이 데이터를 접근하는 코드를 작성할 필요를 줄인다. ✅ Basic Query Entity Framework Core는 LINQ(Language Integrate Query)를 사용해 데이터베이스로..
2022.03.13 -
[Redis] 데이터 타입의 최적화
레디스에서 모든 데이터 타입은 메모리를 저장하거나 성능을 높이는 다양한 인코딩을 사용할 수 있다. 예를 들어 단지 숫자만 갖는 문자열은 다른 인코딩을 사용하기 때문에 글자만 갖는 문자열보다 메모리를 덜 사용한다. 데이터 타입은 레디스 서버 설정에 정의된 임계값을 기반으로 다양한 인코딩을 사용한다. 레디스를 다운로드하면, redis.config라는 파일을 통해 설정값을 변경할 수 있고 커맨드라인을 통해 설정을 간단하게 바꿀 수 있다. $ redis-server --hash-max-ziplist-entries 3 --hash-max-ziplist-value 5 --list-max-ziplist-entries 3 --list-max-ziplist-value 5 --set-max-intset-entries 3 ..
2022.02.27 -
[Redis] 다양한 커맨드와 기능 소개
💚 Pub / Sub 메시지를 특정 수신자에게 직접 발송하지 못하는 곳에서 쓰이는 패턴 Publish-Subscribe(발송하다-구독하다)의 약자다. 발송자(Publisher)와 구독자(Subscriber)가 특정 채널을 리스닝하고 있다면, 발송자는 채널에 메시지를 보내고 구독자는 발송자의 메시지를 받는다. 레디스는 Pub/Sub 패턴을 지원하고, 메시지를 발송하고 채널을 구독하는 커맨드를 제공한다. 사용 예시 ✨ 뉴스와 날씨 대시보드 ✨ 채팅 애플리케이션 ✨ 지하철 지연 경고 등의 푸시 알림 ✨ SaltStack 툴이 지원하는 것과 유사한 리모트 코드의 실행 예제 발송자가 커맨드를 채널에 보내고, 채널을 구독한 서버는 해당 커내드를 실행하는 원격 커맨드 실행 시스템을 구현 PUBLISH 커맨드는 메시지..
2022.02.27 -
[Redis] 데이터타입 실습2
💚 Set 레디스에서의 셋은 순서가 없고 동일한 문자열이 없는 콜렉션이다. 따라서 셋에 동일한 엘리먼트를 계속 추가할 수 없다. 내부적으로 셋은 일부 커맨드(엘리먼트 추가 및 삭제, 검색의 성능 속도는 항상 O(1)다)를 최적화해야하기 때문에 해시 테이블로 구현됐다. 셋의 모든 엘리먼트 값이 정수면 셋의 메모리 영역은 줄어들고, 전체 엘리먼트 개수는 set-max-intset-entries 설정 값만큼 커질 수 있다. 셋이 가질 수 있는 엘리먼트의 최대 개수는 2^32 - 1이다. (아무래도 셋의 개수가 unsigned int형으로 세팅되어 있나 보다.) 즉 한 셋에 40억개 이상의 엘리먼트를 저장할 수 있음을 의미한다. 사용 예시 ✨ 데이터 필터링 주어진 한 도시에서 출발해서 다른 도시로 도착하는 모든..
2022.02.27 -
[Redis] Redis 학습 및 데이터 타입 실습1
Redis는 가장 인기 있는 인메모리(In-memory) Key-Value 저장소이다. Redis 기초 설명 String, Hash, List, Set, Sorted Set, Bitmap, HyperLogLog와 같은 강력한 데이터 타입 때문에 데이터 구조 서버라고도 불린다. Redis는 기본적으로 메모리에 저장하기 때문에 읽기와 쓰기 명령이 매우 빠르다. Redis는 디스크에도 데이터를 저장할 수 있다. 방법 Snapshot - 저장된 데이터를 바이너리 스냅샷으로 생성 Journaling - 시간에 걸쳐 실행된 모든 커맨드를 순서대로 저장해 사람이 읽을 수 있는 파일로 생성 이를 통해 데이터의 영속성을 달성할 수 있다. 추가적으로 Redis는 Key Expiration, Transaction, Publ..
2022.02.26