profile
움직이는 만큼 행복해진다

MariaDB

서론 회사 SQL문을 공부하고 있다 InnoDB에 대해 공부하고 있는데 MySQL엔진이라고 한다 그런데 회사 도커 이미지는 mariadb를 사용하고 있었다 그래서 mariadb에 대해 알아보려한다 역사 마리아라는 이름은 핵심 개발자의 둘째딸의 이름을 딴 것이다 오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반발하여 만들어졌다 maridadb 5.5까진 mysql5.5의 번호를 따랐지만 5.5 이후 10.x로 번호를 올려서 노선을 달리했다 특징 마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다. 근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다. 성능 및 기능 멀티 소스 리플리케이션 - 10.3 이상 버전 MySQL에 이모지를 지원하려면 버전이 최소 5.5는 되어야 한다 엔진 Aria : MyISAM 파생 엔진 대체용

2022년 4월 23일
·
0개의 댓글
·

데이터베이스 엔진

데이터베이스 엔진 데이터베이스 관리 시스템(DBMS)이 데이터베이스에 CRUD를 하는데 사용하는 기본 소프트웨어 컴포넌트 DBMS 고유의 사용자 인터페이스를 이용하는 방법과 포트번호를 통해하는 방법이 있음 현대의 많은 DBMS가 동일한 DB내 다중 저장엔진을 지원한다 MySQL은 MyISAM 뿐만 아니라 InnoDB도 지원 트랜잭션(Transaction)이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 SELECT INSERT DELETE UPDATE MySQL의 엔진 MyISAM 트랜잭션은 미지원 테이블 락 잦은 변경 및 삭제에 안좋음 주로 SELECT 작업이 많은 경우에 사용됨 InnoDB ACID 트랜잭션을 지원 MyISAM 보다 데이터 로드속도가 느림 Row 레벨의 락 INSERT, UPDATE, DELETE에 대한 속도가 빠름 참고 https

2022년 4월 22일
·
0개의 댓글
·

Redis

Redis(REmote Dictionary Server) 메모리 기반의 '키-값' 구조 데이터 관리 시스템 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 NoSQL 사용 예 Sprout(구 인프런클론) 백엔드에 세션 클러스터링을 위한 외부 서버로 사용 중 https://github.com/TEAM-ARK/sprout-backend/wiki/Redis%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-Session-Clustering 참고 레디스(Redis)란 무언인가

2021년 11월 22일
·
0개의 댓글
·

정규화(Normalization)

오늘 회사에서 내가 예상하는 DB 테이블을 표로 그려서 이런식으로 저장되지 않냐고 물었더니 이미 다 정규화가 되어있다고 하셨다. 그 당시 테이블을 잘개 쪼개 놓은 듯한 느낌이었는데 책과 검색을 통해 이번에 얕게 정리해보려한다. 정규화 데이터 중복성을 최소화 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정 정규화 수준이 높을 수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아진다 반면 정규화가 높을 수록 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하된다. 목적 자료 검색과 추출의 효율성을 추구 효과적인 검색 알고리즘을 생성할 수 있다. (DB의 행(Row) == 튜플(Tuple) == 레코드(Record)) 정규화 원칙 정보 무손실 표현 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안 된다. 분리의 원칙 하나의 독립된

2021년 8월 18일
·
0개의 댓글
·