인프라
-
[MariaDB] ColumnStore Engine - Row-Oriented, Column-Oriented인프라/Database 2022. 3. 23. 23:39
들어가기 앞서 대량의 데이터를 저장해야하는 Database 는 보조기억장치에 저장됩니다. CPU - 레지스터 - 캐시 - 메모리 - 보조기억장치 CPU가 명령어를 실행하고 연관된 데이터를 가져오려면 대략적으로 위와같은 단계로 가져옵니다. 가장빠른 레지스터와 가장 느린 보조기억장치 사이에는 엄청난 속도의 차이가 있고, CPU가 동작할 때는 네트워크도 마찬가지지만 가장느린 속도에 Sync를 맞추게 되어있습니다. 느린 보조기억장치에서 데이터를 얼마나 자주 가져오지 않느냐가 컴퓨터의 속도를 결정합니다. 그래서 용량은 적고 속도는 빠른 기억장치들에 데이터를 Cache 해놓고 CPU가 보조기억장치에 최소한으로 접근하도록 하는것이 관건입니다. 제가 경험해본 바로는 중복된 빅데이터의 집계를 낼 때 Row-Oriente..
-
[MariaDB] ColumnStore Engine 회고인프라/Database 2022. 3. 13. 23:44
이력서 업데이트하는 과정에서 과거의 경험을 회고하고자 게시글을 쓴다. 2019년 첫 SI회사에서 KBS 시청률 통계 관리자 사이트를 개발할 당시, 기존 MariaDB 통계 테이블 InnoDB Engine에서 억단위의 데이터를 통계내다보니 속도가 너무 느려 ColumnStore Engine 으로 마이그레이션 했던 프로젝트가 있었다. 얼떨결에 신입으로 혼자 삽질을 해가며 서버구축(ColumnStore 설치도 포함)부터 프로젝트 마무리까지 했었는데, 그 당시에는 별 생각이 없었지만 지금 돌이켜보면 좋은 경험이었다. 결론부터 말하면 월 단위 통계쿼리가 16초 -> 0.1초로 개선되었다. 같은 날짜에 여러 플랫폼에서 들으어오는 시청률, 시청자 수 데이터를 집계하는 쿼리였었다. 예를들어 10월 1일에 시청률, 시청..
-
[Kubernetes] SVN Pod 생성인프라/Kubernetes 2020. 12. 7. 12:11
Docker Hub hub.docker.com garethflowers/svn-server의 Dockfile을 이용해서 svn을 띄우자 # vi Dockerfile FROM alpine:3.12.0 CMD ["/usr/bin/svnserve", "-d", "--foreground", "-r", "/var/opt/svn"] EXPOSE 3690 HEALTHCHECK CMD netstat -ln | grep 3690 || exit 1 VOLUME ["/var/opt/svn"] WORKDIR /var/opt/svn RUN apk add --no-cache \ subversion==1.13.0-r2 \ wget==1.20.3-r1 여기서 알아야할 점은 /usr/bin/svnserve서버를 --foreground..
-
[Kubernetes] Jenkins Pod 설치인프라/Kubernetes 2020. 12. 2. 16:01
jenkins - Docker Hub DEPRECATION NOTICE This image has been deprecated in favor of the jenkins/jenkins:lts image provided and maintained by Jenkins Community as part of project's release process. The images found here will receive no further updates after LTS 2.60.x. Please ad hub.docker.com # vi jenkins.yaml apiVersion: v1 kind: Pod metadata: name: jenkins namespace: infra labels: app: jenkins ..
-
[Kubernetes] private docker registry Pod 설치인프라/Kubernetes 2020. 12. 2. 10:32
Docker Registry Configuring a registry docs.docker.com # vi docker-registry.yaml apiVersion: v1 kind: Pod metadata: name: docker-registry namespace: infra labels: app: docker-registry #label spec: #nodeName: kube-node2 #node를 지정해도되고 안해도됨 #nodeSelector: // node labels를 지정해도 됨 #kubernetes.io/hostname: kube-node2 containers: - name: docker-registry image: registry:2.7.1 ports: - containerPort: 5000..
-
[Kubernetes] Visual하게 DashBoard를 설치, 접속해보자인프라/Kubernetes 2020. 11. 26. 16:37
kubernetes/dashboard General-purpose web UI for Kubernetes clusters. Contribute to kubernetes/dashboard development by creating an account on GitHub. github.com # kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/k..
-
[Kubernetes] 설치 명령어 모음인프라/Kubernetes 2020. 11. 26. 11:11
Docker 설치 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum update -y && sudo yum install -y \ containerd.io-1.2.13 \ docker-ce-19.03.11 \ docker-ce-cli-19.03.11 sudo mkdir /etc/docker cat
-
[Kubernetes] Horizontal Pod Autoscaler인프라/Kubernetes 2020. 11. 25. 15:56
Horizontal Pod Autoscaler 연습 Horizontal Pod Autoscaler는 CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭)을 관찰하여 레플리케이션 컨트롤러, 디플로이먼트, 레플리카셋(ReplicaSet) 또는 스테이트풀셋(StatefulSet)의 파드 kubernetes.io 이번시간은 AutoScaling 방법 중 하나인 HPA에 대해 알아볼 것이다. HPA는 CPU 사용량 (다른자원도 beta지원)을 기반으로 replication controller, deployemt, replica set or stateful set 등으로 Pod의 갯수를 auto scaling하는 기능이다. 시작하기전에 1.2v 이상의 쿠버네티스 클러스터, kubectl이 필요하고 자원을..