Category: Database

RDBMS: Oracle, MySQL, PostgreSQL

NoSQL: MongoDB, Redis, ElasticSearch



Redis 요약 정리

    레디스에 대해서는 오랜만에 글을 정리하는 것 같네요. 최근 레디스에 대해 정리하면서 간단하게 요약 했던 내용들입니다. 아마 다른 분들이 우아한 레디스를 보고 정리한 내용들하고 큰 차이가 없는 정도이고, 그냥 아는 선에서 정리한 내용입니다.  ...

MySQL 8.0.1 utf8mb4_0900_ai_ci의 한글 사용에 대한 문제점

  MySQL 8.0.1 버전부터 기본값으로 채택된 utf8mb4_0900_ai_ci의 한글 사용에 대한 문제점 MySQL 8.0.1 버전부터 utf8mb4_0900_ai_ci를 기본값으로 적용했습니다. 기존의 5.x버전대의 MySQL을 사용해 오던 유저분들이라면 한글을 사용해야 하는 환경에서 대부분 utf8mb4_general_ci를 사용해왔을 겁니다. 0900_ai_ci로 기본 값이 변경되면서...

Galera cluster for MySQL 8 – #.3 동기화 성능

  Galera cluster for MySQL 8 동기화 성능 Galera 매니저를 테스트 해보려고 했는데, 온프렘에서는 잘 안되더군요. 기존의 클러스터가 추가가 안되서 설치만하고 등록이 잘 안됐습니다. AWS에서는 Galera 매니저를 맨처음에 설치하고 매니저에서 Galera + wrsep MySQL8 버전을...

Galera cluster for MySQL 8 – #.2 installation

Galera Cluster & MySQL 8 설치 설치환경 CPU: 2 core RAM: 4GB OS: CentOS 7 yum을 이용해 패키지 설치를 진행합니다. CentOS 7버전이 아직까지는 가장 안정적인 버전으로 많이 사용하기 때문에 7로 진행했습니다. 필수 패키지 설치 yum...

Galera cluster for MySQL 8 – #.1 Architecture

Galera cluster Galera cluster는 코더십이 만든 동기식 멀티 마스터 복제 기법입니다. 인증 기반 복제(Certification-Based Replication) 방식을 사용하며, 데이터의 완전성을 자동으로 관리해줍니다. 그리고 현재 Galera cluster는 MySQL, MariaDB 그리고 Percona XtraDB 까지도 클러스터를 구성할 수 있습니다....

데이터베이스 이론 – 모델링 #.2

개체-관계(E-R, Entity-Relationship) 모델이란? 데이터 모델은 데이터베이스 설계에 대한 계획 또는 청사진입니다. 건축에 비유해보면 시공을 하기전에 설계를 하는 것인데, 시공이 어느정도 된 시점에서 변경사항을 반영하는 것은 비용도 많이 들고, 시간적인 손해도 많이 발생합니다. 데이터베이스도 마찬가지로 구축이...

시놀로지 NAS와 Docker를 이용한 간단한 MySQL 8 테스트 환경 구축

  시놀로지 NAS와 Docker를 이용한 간단한 MySQL 8 테스트 환경 구축 다른건 아니고 NAS의 남는 자원으로 MySQL 공부할 겸 테스트 환경을 만들었습니다. docker를 이용해서 8.0.4 구성을 했네요. docker run –name mysql8 –volume /volume1/docker/mysql8/mysql:/var/lib/mysql –volume /volume1/docker/mysql8/etc:/etc/mysql...

데이터베이스 이론 – 모델링 #.1

  데이터베이스란? 그동안 각 DB가 가지는 기술적인 부분들에 집중하느라 기초적인 부분들을 많이 잊고 지냈습니다. 처음으로 돌아가는 마음으로 데이터베이스에 대한 기초적인 내용들을 정리 해보려 합니다. RDBMS에 대한 이론에 대해서 말이죠. 데이터베이스의 목적은 사람들이 필요로 하는 어떤것들을...

MongoDB Index #.7 Geospatial Index

이전 포스트   공간 검색 인덱스 (Geospatial Index) MongoDB의 공간 검색 인덱스는 2d와 2dsphere 두 가지 타입의 공간 검색 인덱스를 지원합니다. 2d 인덱스는 2.2버전에 도입되었으나 현재는 거의 사용되지 않고 있습니다. 2d 인덱스의 경우 geohash 알고리즘에...

[번역] MongoDB 5.0 New Features

  MongoDB 5.0 New Features 최근에 종료된 MongoDB.live 이벤트에서 최고의 범용 데이터베이스 플랫폼인 MongoDB가 버전 5.0을 출시했습니다. MongoDB의 새 플랫폼에는 기본적인 시계열(native time series) 지원, MongoDB Atlas의 Serverless 데이터베이스, Atlas Search, Atlas Data Lake 및...

WiredTiger의 Hazard Pointer

  WiredTiger의 Hazard Pointer WiredTiger에서 Hazard Pointer는 메모리 페이지가 퇴거 될 수 있는지 여부를 관리하는 데 사용됩니다. 이 포스팅에서는 Hazard Pointer의 구현 프로세스를 분석합니다. Hazard Pointer Hazard Pointer는 다중 스레드 환경에서 리소스에 대한 잠금없이 액세스...

Graph DB? 그래프 데이터베이스

Graph DB? 오랜만에 글을 쓰는거 같네요. 현재 이런저런 일도 많이 있고 방송대 전공 과목의 과제와 기말시험을 대비한 공부를 하느라 포스팅이 소홀했습니다. 기말 공부를 하던중에 머리도 식힐 겸 Graph DB를 조금 알아보았습니다. NoSQL를 많이 사용하고, 많은...

MongoDB Index #.6 TTL Index

이전 포스트   TTL(Time To Live) Index TTL 인덱스는 도큐먼트가 가진 Date 타입의 필드값을 보고 설정된 TTL Monitor 쓰레드의 삭제 주기에 따라 도큐먼트의 유효기간을 체크하여, 더 이상 유효하지 않은 도큐먼트를 자동으로 삭제하는 기능의 인덱스입니다. TTL...

MongoDB Index #.5 Full Text Search Index

이전 포스트   Full Text Search Index (전문 검색 인덱스) DBMS에서 일반적으로 전문 검색 엔진을 구축할 때 사용하는 알고리즘은 크게 두가지로 나눌수 있습니다. 하나는 형태소 분석(어근 분석, stemming)과 N-Gram 2가지로 나뉘어집니다. 명사와 조사 사이를 띄어쓰기를...