MySQL 스토리지 엔진 종류MySQL은 다양한 스토리지 엔진을 제공하여 다른 요구 사항과 환경에 맞게 데이터 저장 방식을 선택할 수 있게 함.이러한 스토리지 엔진 각각은 특정 성능, 기능 및 사용 사례에 최적화되어 있음. 1. InnoDBInnoDB는 MySQL의 기본 스토리지 엔진으로, 트랜잭션을 지원하며 롤백과 복구 기능을 제공하여 신뢰성을 보장함.ACID(원자성, 일관성, 격리성, 지속성)을 완벽히 지원하며, 행 수준의 잠금과 외래 키 제약 조건을 지원함.대부분의 OLTP(온라인 트랜잭션 처리) 시스템에 적합한 엔진임. 2. MyISAM이전의 기본 스토리지 엔진이었던 MyISAM은 빠른 읽기 작업과 전체 테이블 잠금을 특징으로 함.MyISAM은 트랜잭션이나 외래 키를 지원하지 않으며, 주로 읽기가..
MySQL LockMySQL에서의 잠금(Lock)은 데이터베이스에서 동시성을 관리하고 데이터 무결성을 모장하기 위해 사용되는 매커니즘임.잠금은 여러 사용자가 동시에 같은 데이터에 액세스할 때 발생할 수 있는 충돌을 방지하고, 데이터를 안정적으로 읽고 쓸 수 있도록 도와줌.MySQL에서는 주로 두 가지 유형의 잠금이 사용됨.테이블 잠금과 행 잠금임. 1. 테이블 잠금 : Table Locks테이블 잠금은 데이터베이스 테이블 전체에 걸쳐 잠금을 적용함.이 잠금 방식은 간단하고 오버헤드가 적지만, 동시성 수준이 낮다는 단점이 있음.MySQL의 MyISAM 스토리지 엔진에서 주로 사용됨. 1.1 읽기 잠금다른 사용자들이 데이터를 읽는 것은 허용하지만, 쓰기는 차단함.1.2 쓰기 잠금다른 사용자들이 해당 테이블을..
라이브러리 설치시 다음 에러가 뜸pip install pysparkERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them. pyspark from https://files.pythonhosted.org/packages/73/e5/c9eb78cc982dafb7b5834bc5c368fe596216c8b9f7c4b4ffa104c4d2ab8f/pyspark-..
MySQL 데이터 타입MySQL 데이터베이스에서 사용할 수 있는 다양한 데이터 타입은 데이터의 특성과 필요에 따라 선택될 수 있음. 1. 숫자형 타입1.1 TINYINT매우 작은 정수를 저장함.-128에서 127까지, 또는 부호 없는 상태에서 0에서 255까지의 값을 저장할 수 있음.1.2 SMALLINT작은 정수를 저장함.-32768에서 32767까지, 또는 부호 없는 상태에서 0부터 65535까지의 값을 저장할 수 있음.1.3 MEDIUMINT중간 크기의 정수를 저장함.-8388608에서 8388607까지, 또는 부호 없는 상태에서 0에서 16777215까지의 값을 저장할 수 있음.1.4 INT or INTEGER표준 정수형임.-2147483648에서 2147483647까지, 또는 부호 없는 상태에서..
OLTPOLTP (Online Transaction Processing) 는 데이터베이스 관리 시스템에서 실시간 트랜잭션 처리를 지원하는 기술임.이 시스템은 특히 금융, 리테일, 기업 자원 관리와 같은 분야에서 필수적으로 사용되며, 사용자의 요청을 즉시 처리하여 신속한 피드백을 제공하는 것이 핵심임. OLTP 특징1. 효율적인 트랜잭션 처리OLTP 시스템은 작은 크기의 트랜잭션을 매우 빠르고 효율적으로 처리함.각 트랜잭션은 일반적으로 몇 초 이내에 완료됨. 2. 고도의 병렬성과 동시성OLTP 시스템은 동시에 많은 사용자가 접속하고 작업을 수행할 수 있도록 설계됨.이를 위해 고급 동시성 제어 메커니즘과 락 기술을 사용함. 3. 데이터 무결성 유지OLTP 시스템은 데이터의 정확성과 일관성을 유지하는 데 중점..
행 기반 데이터베이스행 기반 데이터베이스 (Row-based Database) 는 데이터를 테이블 형태로 저장함.각 행은 여러 개의 컬럼으로 구성된 데이터 레코드를 나타냄.이 방식은 전통적인 관계형 데이터베이스 관리 시스템(RDBMS)에서 주로 사용됨.행 기반 데이터베이스는 SQL을 사용하여 데이터를 조작하고 관리하는 것이 일반적임. 행 기반 데이터베이스 특징1. 데이터 저장 방식데이터는 행 단위로 저장됨.각 행은 고유한 키에 의해 식별되며, 한 행 내에는 여러 컬럼이 있어 다양한 속성의 데이터를 저장할 수 있음. 2. 인덱싱행 기반 데이터베이스는 효율적인 조회를 위해 인덱스를 사용함.인덱스는 특정 컬럼에 대한 포인터를 제공하여 검색 속도를 빠르게함. 3. 트랜잭션ACID(원자성, 일관성, 격리성, 지속..
MySQL 대용량 이진 객체MySQL에서 대용량 이진 객체 (LOB, Large Binary Object)는 큰 데이터 파일을 저장하는 데 사용되는 데이터 타입임.MySQL에서 LOB 타입에는 BLOB, TEXT, MEDIUMBLOB, LONGBLOB, LONGTEXT 등이 있음.이러한 타입들은 각각 다른 크기의 데이터를 처리할 수 있도록 설계됨.예를 들어, LONGBLOB 은 최대 4GB의 이진 데이터를 저장할 수 있음.LOB 타입은 비디오, 이미지, 대형 문서 파일과 같은 멀티미디어 콘텐츠를 데이터베이스에 저장하기 위해 사용됨.데이터베이스 내에서 이런 타입의 데이터를 관리함으로써 높은 수준의 데이터 무결성과 보안을 유지할 수 있음. 대용량 이진 객체 장단점1. 장점1.1 데이터 통합LOBs 를 사용하..
AWS DMSAWS Data Migration Service는 클라우드에서 데이터를 쉽고 효율적으로 마이그레이션할 수 있도록 설계된 서비스임.다양한 데이터베이스, 데이터 웨어하우스, 애플리케이션 및 스토리지 시스템 간의 데이터 이동을 지원함.AWS DMS는 특히 호환성이 높고 확장성이 우수함.복잡한 데이터 마이그레이션 시나리오에서도 높은 안정성을 제공함. AWS DMS 주요 기능1. 다양한 소스와 타깃 지원AWS DMS는 관계형 데이터베이스, 비관계형 데이터베이스, 데이터 웨어하우스 등 다양한 데이터 저장 시스템을 지원함.예를 들어, MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, Amazon Aurora, Redshift 등이 있음.데이터 마이그레이션을 위해 이들 ..
Prometheus의 ExporterPrometheus는 오픈 소스 모니터링 시스템임.다양한 소스에서 메트릭스를 수집하는 데 사용됨.메트릭스 수집을 위해 Prometheus는 Exporter 라는 특수 도구를 사용함.이는 다양한 서비스, 시스템, 프로토콜에서 메트릭스를 추출하여 Prometheus가 이해할 수 있는 형식으로 변환함. Exporter의 종류1. Node ExporterNode Exporter는 하드웨어와 운영 체제 지표를 수집하는 데 사용됨.CPU 사용률, 메모리 사용, 디스크 사용, 네트워크 통계 등의 시스템 정보를 수집함.Linux, Windows 및 기타 Unix-like 시스템에서 사용될 수 있음. 2. cAdvisor컨테이너 자원 사용 및 성능 특성을 모니터링하는 데 특화된 Goo..