본문 바로가기
728x90
반응형

개발/DB6

[DB] Redis 에 대해서 알아보자 우리 모두는 인기 있는 콘서트 티켓을 예매하거나, 인기 강좌에 수강 신청을 서두르는 등, 한정된 자원을 두고 경쟁해 본 경험이 있을 겁니다. 이런 상황에서 발생하는 대량의 트래픽은 어떻게 안전하고 효율적으로 관리할 수 있을까요? 이 궁금증이 저를 여기 어때 캠퍼니의 유용한 글에 이르게 했습니다. 그들의 글에서 얻은 통찰력을 바탕으로, 저는 Redis라는 흥미로운 기술에 대해 더 알아보고 이를 여러분과 공유하고자 합니다. Redis&Kafka를 활용한 선착순 쿠폰 이벤트 개발기 (feat. 네고왕) Redis&Kafka를 활용한 선착순 쿠폰 이벤트 개발기 (feat. 네고왕) 안녕하세요. 유저혜택개발팀 쿠폰 백앤드 개발자 페이든입니다. techblog.gccompany.co.kr Redis 란? Redi.. 2023. 12. 20.
[DB] 트랜잭션(Transaction)에 대해서 알아보자. 데이터베이스 트랜잭션(Transaction)은 정보 시스템에서 핵심적인 개념으로, 데이터의 안전하고 일관된 상태를 유지하는데 중요한 역할을 합니다. 이는 마치 금융 거래에서의 금액 이체가 진행될 때, 돈을 보내주는 사람의 통장에서 금액이 출금되고, 돈을 받는 통장에서 금액이 입금되는 일련의 작업을 의미합니다. 데이터의 정확성과 신뢰성을 보장하기 위하여 트랜잭션이 무엇인지, 어떤 속성을 따르는지 자세히 알아보겠습니다. 트랜잭션이란? 트랜잭션(Transcation) 이란 여러개의 작업을 하나로 묶은 실행 유닛을 말하며, 데이터베이스 관점에서는 데이터베이스의 상태를 변환시키는 기능을 수행하기 위한 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위를 말합니다. 한 번에 수행되어야 하는 일련의 데이터베이스 작업들이.. 2023. 12. 9.
[DB] Not Null 과 Default 설정 들어가기 전에 일반적으로 DB 를 생성하여 각 Column 에 특정한 설정을 할 수 있습니다. NOT NULL과 DEFAULT는 데이터베이스에서 열(컬럼)의 제약 조건을 정의하는 데 사용되는 용어입니다. 테이블을 조사하다보니, 개발계와 운영계에 특정 컬럼의 제약 조건이 달랐습니다. 시스템의 안정화를 위해서 대부분의 시스템은 개발계와 운영계를 나누어 운영하고 있습니다. 물론 회사마다 조금씩 구조는 다르며 사용하는 DB 마다 다를 수 있습니다. 코딩으로 글짓기 개발 서버 운영 서버 나누는 이유 (개발계 → 운영계) 대부분의 소프트웨어는 개발 서버와 운영 서버를 각각 두는 전략을 사용합니다. 특히 분리는 물리적입니다. 실제 서버 장비를 두 대 이상 사용합니다. 개발과 운영 서버를 분리하는 이유는 서비 chan.. 2023. 12. 7.
[DB] Random Access (랜덤 액세스) 란? 들어가기 전에 업무 중에 성능 향상을 위하여 쿼리 튜닝에 대해서 공부하고 있었습니다. "랜덤 액세스"라는 단어를 맨 처음 봤을 때, '접근을 임의로 할 수 있다'라는 용어로 생각했습니다. 당연히 잘못 알고 있었기 때문에 공부하게 되었고, 실제 면접에서도 많이 질문이 들어온다고 하여서 해당 내용을 간단하게 정리하고자 합니다. Random Access(랜덤 액세스) 란? 랜덤 액세스란 데이터를 저장하는 블록을 한 번에 여러 개 액세스하는 것이 아니라 한 번에 하나의 블록만을 액세스 하는 방식입니다. 한 번에 여러 개의 블록을 액세스 한다면(랜덤 액세스와 반대) 같은 양의 데이터에 대해 적은 횟수의 디스크 I/O가 발생하기 때문에 성능이 향상될 수 있습니다. 이렇게만 내용을 봤을 때는 랜덤 액세스 자체가 언제.. 2023. 10. 14.
[DB] 스키마와 테이블은 다른가요? 들어가기 전에 개발을 하다 보면, 스키마 설계하고 진행해야 하는 상황이 발생한다. 실제로 쿼리를 사용하여 데이터베이스를 접근할 때, 테이블 기준으로 쿼리를 작성한다. 또한 테이블 내의 칼럼 기준으로 객체를 구성하게 되는데, 갑자기 '스키마와 테이블을 동일한 것인가'라는 생각이 들었다. 해당 내용으로 검색을 하면 어떤 블로그는 동일하다고 설명하고, 다른 블로그는 다르다고 설명합니다. 해당 내용에 대하여 검색해 보고 내용을 공유하고자 작성합니다. 먼저 스키마와 테이블은 다르지만, DB에 따라 같을 수도 있습니다. ChatGpt 한테 물어보자. 테이블 (Table) 이란? 테이블은 데이터베이스에서 실제 데이터를 저장하는 구조입니다. 테이블은 행과 열로 이루어져 있으며, 각 행은 레코드 또는 튜플을 나타내며, .. 2023. 9. 6.
[DB] 프로시저(Procedure) 그리고 경험 들어가기 앞서 얼마 전 필자는 연차를 쓰고 휴가를 다녀왔습니다.(TMI) 다음 날 출근 했을 때, 결산 중 오류가 났었다고 들었습니다. 물론 시스템마다 구조나 비즈니스 로직 구성이 다르지만, 필자가 사용하고 있는 재무 시스템은 결산 로직에 많은 프로시저가 있습니다. 결산 중 프로시저를 호출하는 곳이 에러가 났었고 프로시저 내에 문제가 생긴 부분을 확인하기가 어려워 상당한 시간을 소요했다고 들었습니다. 프로시저란 무엇인지, 다음 오류가 발생했을 때 어떤 식으로 해결해야 할지 고민하며 글을 작성합니다. 프로시저(Procedure) 란? 데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것으로 영구저장모듈 (Persistent Storage Module)이라고도 불립니다.. 2023. 9. 3.
728x90
반응형