AI와 UUID 그리고 MySQL The Problem with Using a UUID Primary Key in MySQL — PlanetScaleUnderstand the different versions of UUIDs and why using them as a primary key in MySQL can hurt database performance.planetscale.com 서론프로젝트를 진행하다가 UUID 기본키(PK)에 대한 내용이 나오게 되었습니다. UUID · Issue #69 · rimo030/nestjs-e-commerce-frame우리는 PK로 int 타입을 지정하고 있습니다. 하지만 제 개인적인 선호는 UUID 쪽이긴 합니다. UUID는 뭘까요? 그리고 int로 지정하는 것..
아래글에 이어 작성되었습니다. [DB] 락(Lock)과 트랜잭션 아래 글에 이어 작성되었습니다. [DB] 트랜잭션(Transaction)과 트랜잭션 격리 수준(Isolation Level) 트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 munak.tistory.com MySQL의 락에 대하여 MySQL의 락 MySQL은 내부적으로 다양한 컴포넌트와 엔진들의 조합으로 구성됩니다. 엔진은 크게 쿼리 처리 및 데이터베이스 관리를 위한 코어 엔진과, 데이터를 실제로 저장하고 관리하는 스토리지 엔진이 있습니다. 때문에 락도 MySQL 엔진 락과 MySQL 스토리지 엔진 락으로 나뉩니다. 이들은 서로 다른 레벨에서 동작하며 데이터베이스의 전반적인 동작 및 각 스토리지 ..
트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위. 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 Commit 되거나 Rollback 되어야 합니다. 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위해서죠. 트랜잭션 특성 (ACID) 트랜잭션은 아래 4가지 특성을 가집니다. Atomicity(원자성) 트랜잭션의 연산은 DB에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 합니다. Consistency(일관성) 트랜잭션 실행을 성공적으로 ..
식품의약품안전처에서 제공하는 식품 영양성분 DB의 데이터를 사용합니다. PHP로 OPEN-API를 XML형식으로 호출하고 MySQL를 통해 저장합니다. 식품 영양성분 DB 식품의약품안전처에서 제공하는 공공데이터로 약 90,000여개의 식품들의 영양성분을 조회할 수 있습니다. 식품안전나라 사이트 내에서 API 키를 발급받아 등록 후 사용할 수 있습니다. 데이터활용서비스 분류별 전체 기준규격정보 코드정보 식품영양정보 수질환경정보 검사기관정보 식품위해관리 식품안전관리 이력추적관리 어린이식품안전관리 HACCP지정현황 업체인허가현황 위생용품 축산물 www.foodsafetykorea.go.kr 제공되는 영양성분은 1회 제공량당 탄수화물, 단백질, 지방, 당류, 나트륨, 콜레스테롤, 포화지방산, 트랜스지방입니다. ..
Node.js v16.13.1 MySQL v8.0.28 버추얼 박스 우분투 가상 머신에서 진행합니다. Node.js와 MySQL을 연동하고 RowDataPacket에서 값을 뽑아내는 방법을 다룹니다. 모듈과 코드를 저장할 적절한 폴더를 하나 생성해 줍니다. 저는 Node_MySQL로 이름을 정했습니다. ㅎㅎ 그리고 해당 디렉토리에서 터미널을 열어줍니다. 이제 모듈을 설치하겠습니다. 아래 명령어를 실행합니다. $ npm install express mysql 그리고 js파일을 하나 만들어 해당 폴더에 저장합니다. 저는 gedit를 사용하겠습니다. 그리고 MySQL 모듈을 탑재하고 접속할 계정과 사용할 데이터베이스의 정보를 입력해 줍니다. host : 호스트 user : 계정 password : 비밀번호 d..
우분투를 이용한 리눅스 환경에서 MySQL을 설치하는 방법을 다룹니다. 버추얼 박스 우분투 가상 머신에서 진행합니다. MySQL을 설치하기 위해 패키지 관리자가 최신이어야 합니다. 아래 명령어를 입력합니다. $ sudo apt update 업데이트가 완료되었다면 이제 MySQL을 설치해줍니다. $ sudo apt install mysql-server 명령어를 입력하면 설치할 패키지 목록과 디스크 용량을 보여주며 설치를 계속할지 묻습니다. 엔터를 눌러 진행합니다. 이어서 보안설정을 합니다. 불분명한 외부 접속을 막기 위해서 설정해주는 것이 좋습니다. $ sudo mysql_secure_installation 먼저 비밀번호 플러그인을 설치할지 묻습니다. 이 플러그인은 모든 비밀번호가 특정 규칙을 준수하도록 ..