Database
-
[ClickHouse] Block 알아보기Database/Clickhouse 2024. 1. 10. 06:46
- 목차 들어가며. 이번 글에서는 ClickHouse 의 Block 의 개념에 대해서 알아보려고 합니다. ClickHouse MergeTree 엔진의 Table 을 생성하고, 해당 테이블에 데이터를 추가하게 되면 Parts 가 생성됩니다. ClickHouse Parts 의 개념은 아래의 페이지에서 알 수 있는데요. Parts 에 대해서 간단한 설명을 해보려고 합니다. https://clickhouse.com/docs/en/operations/system-tables/parts parts | ClickHouse Docs system_tables-parts} clickhouse.com Parts 란 ? https://westlife0615.tistory.com/737 [ClickHouse] Parts & P..
-
[Vitess] PlannedReparentShard 알아보기 ( PRS , Planned Reparent Shard )Database/Vitess 2024. 1. 2. 04:37
- 목차 들어가며.이번 글에서는 Vitess 의 PlannedReparentShard 에 대해서 알아보도록 하겠습니다.Vitess 는 여러 MySQL Instance 들을 매니징하는 서비스로써하나의 Vitess Cluster 내부에서 여러 MySQL Instance 들이 존재합니다.그리고 Primary - Replica 구조를 통해서 MySQL 의 Replication 을 지원합니다. Primary - Replica 구조에서 Replica 를 새로운 Primary 로 변경하는 작업을 Leader Election, Failover 등으로 표현하곤 하는데요.Vitess 에서는 이러한 작업을 Reparent 라고 합니다.Primary 를 Parent 로 여기고, Replica 들을 Child 로 간주하는 컨셉..
-
[Vitess] Etcd 알아보기Database/Vitess 2023. 12. 30. 23:39
- 목차 소개. Vitess 는 내부적으로 etcd 를 사용합니다. etcd 는 ZooKeeper 처럼 분산 시스템의 상태 정보와 메타데이터를 저장하는데요. Vitess 의 여러 Topology 들의 상태와 정보를 저장합니다. etcd 를 통해서 Keyspace, Cell, Shard, Tablet 의 상태와 정보가 관리된다고 생각하시면 됩니다. 이번 글을 통해서 Vitess 는 Etcd 에 어떤 정보를 저장하고, Etcd 를 활용하는 Orchestration 에 대해 알아보려고 합니다. Vitess Cluster 구현하기. 아래 예시는 Kubernetes 위에서 Vitess 를 실행하는 간단한 예시입니다. Kubernetes 와 Vitess 환경에서 Etcd 가 어떻게 동작하는지 알아보려고 합니다. h..
-
[Vitess] Topology Service 알아보기Database/Vitess 2023. 12. 30. 21:50
- 목차 소개. Vitess 의 Topology 는 Vitess 의 여러 구성요소들의 구조와 관계를 설정하는 논리적인 개념입니다. Vitess 의 구성요소들은 다음과 같습니다. Server, Cell, Keyspace, Shard, Tablet 등으로 구성됩니다. 이번 글에서는 각각의 요소들이 무엇인지 알아보고 Topology 를 구성하는 방법에 대해서 알아보려고 합니다. 구성요소. Vitess 의 구성요소들을 알아봅니다. 구성요소들은 Server, Cell, Keyspace, Shard, Tablet 등이 존재합니다. Server. Vitess 에서 지칭하는 Server 는 실제 물리적인 서버를 의미합니다. Vitess 는 MySQL 을 관리하는 클러스터인데요. 여러 개의 MySQL 서버 또는 프로세스..
-
[Vitess & Kubernetes] Cell 알아보기Database/Vitess 2023. 12. 30. 16:36
- 목차 함께 보면 좋은 자료. https://westlife0615.tistory.com/232 KinD 로 Vitess 구현하기. - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/407 KinD 알아보기. - 목차 소개. KinD 는 "카인드" 라고 발음되며, 로컬 머신에서 쿠버네티스를 간편하게 실행할 수 있는 도구입니다. KinD 는 Kuberne westlife0615.tistory.com 소개. Cell 은 Vitess 가 관리하는 데이터베이스들을 논리적으로 묶는 단위입니다. "논리적 단위" 라는 표현이 좀 애매한데요. 이를 잘 표현하는 다른 사례들을 먼저 얘기하고자 합니다. 쿠버네티스를 예로 들면, ReplicaSet 이나 Service 를 이야기할 수..
-
MySQL User, Grant 생성하기.Database 2023. 12. 15. 06:40
- 목차 소개. MySQL 에서 사용자를 생성하는 방식에 대해서 알아보려고 합니다. 가장 간단한 방법은 아래와 같습니다. CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 위 쿼리에서 3가지 정보가 사용되는데요. 1. 사용자 이름 2. 사용자의 접속 IP 3. 사용자의 비밀번호 입니다. 그리고 사용자의 권한에 대한 설정 또한 필요합니다. GRANT SELECT, INSERT, UPDATE, DELETE ON mysql.* TO 'developer'@'localhost'; 위 쿼리의 내용은 "developer 라는 사용자는 localhost IP 에서 mysql Database 의 모든 테이블에 SELECT, INSERT, UPDATE, DELETE" 가 ..
-
[Vitess] VTGate 알아보기Database/Vitess 2023. 11. 24. 13:08
- 목차 들어가며.VTGate 는 Vitess 생태계에서 중요한 구성 요소로, 클라이언트 애플리케이션이 Vitess 클러스터와 상호 작용할 수 있도록 하는 게이트웨이 역할을 합니다. VTGate 의 역할은 다음과 같이 나열할 수 있습니다. 클라이언트의 요청 쿼리를 적절한 VTTablet 으로 라우팅합니다.다중 VTGate 를 두어 로드 밸런서 & 리버스 프록시의 역할을 수행할 수 있습니다.Multi Shards 로부터 전달받은 데이터를 Join, Merge, Sorting 을 수행합니다. 추가적으로, 사용자와 권한(예: User 및 Grant) 설정도 지원하여 데이터베이스의 보안을 효과적으로 관리할 수 있습니다.이 문서에서는 VTGate 의 주요 기능에 대한 설명과 실습을 진행하려고 합니다. VTGa..
-
ClickHouse MergeTree 알아보기Database/Clickhouse 2023. 11. 7. 08:10
- 목차 소개. ClickHouse 는 러시아의 검색 사이트인 Yandex 에서 개발한 Column 기반의 데이터베이스입니다. 분석용 데이터베이스로 사용되구요. Row 기반이 아닌 Column 기반으로 데이터를 취급하는 것이 큰 특징입니다. 흔히 로그성 데이터들이 ClickHouse 가 취급하는 데이터들입니다. 로그성 데이터의 예를 들면, - 시스템 또는 서버의 로그 데이터 - 서버의 상태 정보들 (CPU, Memory 사용량, Network IO 등) - 웹/앱 내부에서 사용자들의 행동데이터 - IoT 센서 데이터 등이 존재합니다. 이러한 로그성 데이터들의 큰 특징은 High Volume Write 가 빈번합니다. 즉, 데이터의 생성의 양이 매우 많습니다. 일반적인 경우의 데이터 생성 시나리오와는 크게..
-
Database Driver 알아보기Database 2023. 11. 4. 07:47
- 목차 소개. Database 의 Driver 에 대해서 알아보도록 하겠습니다. Driver 는 Application 과 Database 를 잇는 중간다리 역할을 합니다. Application 과 Database 가 소통을 하기 위해서 필요한 기능들을 수행하는데요. 예를 들어, Connection, Serialization/Deserialization 등이 있습니다. Application 과 Database 는 보통 물리적으로 떨어져 있을 겁니다. 서로 다른 서버인 것이죠. 그래서 이들은 네트워크적으로 연결이 되어있어야하고, Application 과 Database 가 서로 통신할 수 있도록 Connection 이 관리됩니다. 그리고 이들은 서로 데이터를 주고 받습니다. Application 은 Dat..
-
[Vitess] VTOrc Orchestration 알아보기 ( EmergencyReparentShard )Database/Vitess 2023. 10. 30. 22:04
- 목차 들어가며.Vitess 는 MySQL 기반의 대규모 분산 데이터베이스 관리 시스템으로, 대규모 트래픽과 데이터베이스 확장성 문제를 해결합니다. 이러한 Vitess 의 강력한 기능 중 하나인 VTOrc는 복제(replication) 관리와 장애 복구(failover)를 자동화하는 Orchestration 도구입니다. 이 글에서는 VTOrc의 역할, 주요 기능, 동작 방식, 그리고 사용 사례에 대해 알아보겠습니다. 아래의 링크들은 Docker 로 구현하는 Vitess 에 관한 글들의 링크입니다. 아래 내용을 먼저 참고하시면 VTOrc에 대한 이해를 돕는데 유용할 것입니다. https://westlife0615.tistory.com/73 [Vitess] mysqlctld 기본적인 사용법 알아보기- 목차..