RDB 4

MySQL vs MariaDB

MySQL MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 오라클이 관리 및 지원하고 있으며, 이중 라이선스가 적용됩니다. 하나는 GPL이 적용되는 무료 버전이고 다른 하나는 유료 상용 라이선스 버전입니다. 무료 버전과 유료 버전 모두 필요시 소스 코드를 고쳐 쓸 수 있지만, 무료 버전의 경우 소스 코드 수정 후 고객에게 "납품"을 하면 해당 수정된 MySQL 코드를 공개해야 합니다. "납품"하는 것이 아니고 "자체적으로 사용"하는 경우에는 소스 코드를 수정하더라도 소스 코드를 공개하지 않아도 됩니다. 이 부분이 약간 헷갈린 데 예시를 들면 아래와 같습니다. MySQL Community Server를 사용하여 웹사이트를 운영할 경우: GPL 라이선스..

RDB 2024.01.18

postgreSQL - 트랜잭션 격리 수준

공부 내용을 정리한 글입니다. 틀린 내용이 있을 수 있으니 아래 첨부한 공식 문서를 참조하세요. PostgreSQL의 트랜잭션 격리 수준 pg는 총 네 가지 격리 수준(Read uncommitted, Read committed, Repeatable read, Serializable)을 제공하지만, 내부적으로는 read committed, repeatable read, serializable 세 가지 격리 수준으로 동작합니다. 공식 문서에 따르면 표준 격리 수준을 PostgreSQL MVCC와 매핑하는 유일한 합리적인 방법이라서 그렇게 제공한다고 말하고 있습니다. pg는 트랜잭션의 격리 수준을 구현하기 위해 MVCC를 사용합니다. MVCC란 특정 시점을 기준으로 "커밋된" 데이터를 읽는 것입니다. 반면, ..

RDB 2023.12.05

이미지는 어디에 저장해야 할까

웹 서비스를 만들다 보면 이미지를 저장해야 할 때가 오는데 이미지는 어디에 저장해야 될까요? 얻어갈 지식 이미지 저장은 어디에? 이미지 저장 웹 서비스를 만들다 보면 이미지를 저장해야 될 순간이 옵니다. 이미지는 아래 그림 1)에 있는 3가지 장소에 각각 저장할 수 있습니다. 각각의 장단점을 알아봅시다. * Program은 서버, Storage는 파일 시스템, Database는 데이터 베이스라고 칭하겠습니다. 파일 시스템에 저장 이미지는 파일 시스템에 저장하고 데이터 베이스에는 해당 파일의 URL이나 파일 이름만 저장하는 방법입니다. 보통 파일 시스템은 데이터 베이스에 비해 값이 저렴하므로 같은 용량의 이미지를 저장할 때 데이터 베이스에 비해 경제적이며 데이터 베이스에 이미지를 저장하는 경우보다 작업을 ..

RDB 2022.06.22

mariaDB json value값만 가져오기

DB에 json 타입으로 값을 저장했을 때 원하는 key에 해당되는 value 값만 보고 싶으면 어떻게 해야 될까? 같이 알아보자. 얻어갈 지식 JSON 형식으로 저장된 값 value만 뽑아 보기 "키워드" mariaDB 사용 시 json의 key값을 보고 싶을 때는 json_value()를 사용하면 된다. 예를 들어, user 테이블의 mobile이란 컬럼에 아래와 같은 형식으로 값이 저장될 때 // Mobile { name: "남해성", head: "010", body1: "1234", body2: "5678" } name에 해당되는 "남해성"만 보고 싶다면 아래와 같이 하면 된다. SELECT json_value(mobile, '$.name') as name FROM user; 결과는 아래와 같다...

RDB 2021.07.21