본문 바로가기

전체 글68

분산 키-값 저장소에서 고려해야할 점 아래 내용은 "가상면접 사례로 배우는 대규모 시스템 설계기초" 의 6장인 '분산 키-값 저장소 설계' 의 내용을 정리했습니다.  만약, 우리 서비스가 키-값 저장소를 사용하려 하는데 아래와 같은 요구사항이 필요하다고 한다.큰 데이터를 저장할 수 있어야 한다. 높은 가용성을 제공해야 한다. 장애시 빠르게 응답해야 한다. 높은 확장성을 제공해서, 트래픽양에 따라 자동적으로 서버 증설/삭제가 이뤄져야 한다. 데이터 일관성 수준은 조정 가능해야 한다. latency 가 짧아야 한다.  위와 같은 요구사항을 만족시켜야 할때, 우선 아래와 같은 선택지가 있다. 단일 저장소 분산 저장소하지만.. 단일 저장소는 빠른 응답을 위해 메모리에 올려두는 방식을 선택할 수 있겠지만, 많은 요청을 한번에 감당하거나 장애시 대응에.. 2025. 1. 23.
[postgreSQL] replication slots postgreSQL 에는 replication slot 이라는 개념이 있다.  replication slots 이란이 개념은 stanby 서버가 primary 의 wal 파일을 전달받지 못하는 상황을 방지하기 위한 목적으로 존재한다. 우선 postgreSQL 에서 replication 을 맺는 방법을 알아야 하는데, 기본적으로 WAL(Wrtie-Ahead Log) 를 이용한 방식으로 전달한다. 데이터 변경을 모두 WAL 을 통해서 파일이 쌓이게 되고, standby 서버는 이 WAL 파일을 전달 받아서 primary 와의 동기화를 보장하게 된다. 하지만 어떤 이유로 standby 가 잠시 WAL 을 전송받지 못하는 경우에는 문제가 발생할 수 있다.왜냐하면 WAL 파일은 primary 에서 주기적으로 정리.. 2024. 12. 27.
2024 읽은 책 후기 올 해에는 짧은 소설 책들과 과학, 전공 책들을 번갈아 가면서 읽은것 같다. 중간에 "한강-흰" 에 대한 후기는 별도의 페이지로 분리해두었다.   홍학의 자리 - 정해연    이 책은 정말 읽는 동안 며칠 안에 다 읽었을 정도로 후루룩 읽히는 책이었다. 대신 그만큼 학교와 학생, 선생님 이라는 배경이 있어서 어려운 주제는 아니었다.  정해연 작가님은 처음 들어보았는데, 요즘 추리소설 베스트 셀러에 많이 언급되고 있는 분이셨다. 특히 최근에 드라마 화가 되었던 '유괴의 날' 원작 소설 작가님으로 이름이 더 알려진듯 했다. '유괴의 날' 도 읽어보고 싶었지만, 우선 가볍게 읽을 수 있는 짧은 추리 소설이 있길래 해당 책을 읽게 되었다.   책 내용은 추리소설 이기 때문에.. 범인을 찾는 과정인데 사실 범인은.. 2024. 12. 27.
[책 후기] 흰 - 한강 한강 작가님이 노벨 문학상을 타게 된 소식을 접하고 난 뒤에 여기저기서 한강 작가의 책을 구하고 읽고 있다는 얘기들이 들렸다. 나는 사실 기존에 소설 이라고 한다면 추리 소설이나 SF 소설 등을 주로 읽었어서 한강 작가의 책을 읽어볼 생각을 못했는데, 막상 노벨 문학상 소식을 듣고 나니까 어떤 책을 쓰셨고 어떻게 쓰셨는지 궁금해졌다. 그렇게 해서 어떤 책을 읽을지 찾아보던 중에 회사 동아리 에서 '흰' 책을 다같이 읽어보는 활동이 생겨서 자연스럽게 한강의 소설들 중 '흰' 을 처음으로 읽게 되었다. 처음에 책을 한번 훑어봤을때는 크게 '나', '그녀', '모든 흰' 이라는 세 파트로 나뉘어져 있고 한, 두페이지 짜리의 소제목으로 구성된 짧은 소설 들이 연결되어 있어서 시집 이나 단편 소설 집 인.. 2024. 11. 28.
postgreSQL에서의 database, schema, user 권한 정리 postgreSQL 에서 관리하는 database, schema, user 등에 대한 개념을 정리한다. postgreSQL에서는 크게 database, schema, table 단위로 데이터 그룹이 분리된다. mySQL 에서는 크게 databse, table 단위로 구분이 되어서 database 안에 table 이 1:n 관계로 묶여있게 되는데, postgreSQL 에서는 schema 라고 하는 단위가 하나 더 추가된다. postgreSQL 에서도 마찬가지로 database 가 가장 큰 단위로 존재하고 그, database > schema > table 단위로 구분된다. 한 세션은 무조건 하나의 database 에 접속 할 수 있고, 서로 다른 database 의 table 끼리는 데이터 접근이 안.. 2024. 8. 25.
postgreSQL의 고가용성을 위한 방법 database 에서는 고가용성을 위해 메인으로 운영되는 db 이외에 백업 본으로 replica db 가 연결된 상태로 운영되는 경우가 많다. replication  이라고 하는데, primary-standby 구조라고 하기도 하고 active-standby, master-slave 등으로 다양하게 부른다. 1대의 read/write 가 가능한 primary 노드가 있고, 그 이외에 standby 노드 들이 해당 primary의 데이터를 계속 동기화 시키면서 복제 해두는 방식으로 운영 된다.  이렇게 replica  를 나누는 이유는, primary 노드에 장애가 발생 했을때 빠르게 standby 노드를 이용해 복구 시킬 수 있고, standby 노드는 read 용으로 사용할 수 있기 때문에 부하를 분산.. 2024. 8. 4.