db
3 posts
Unknown system variable 'transaction_isolation'

에러 상황 Mac OS 환경에서 Mariadb 를 homebrew로 설치했습니다. 이후 spring 에서 작업 시 MySQL 커넥터를 사용해서 DB를 연동했습니다. 잘 사용하다가 파이썬을 설치한 이후로 해당 에러가 발생하고 JDBC DB 연동이 안됐습니다. 에러 원인 transaction_isolation 트랜잭션의 격리수준을 설정하는 변수입니다. 격리수준에 따라 다음처럼 나뉩니다. InnoDB의 기본 격리수준은 REPEATABLE READ 입니다. READ UNCOMMITTED READ COMMITTED REPEATEABLE READ SERIALIZABLE To determine the global and session transaction isolation levels at runtime, check the value of the tx_isolation system variable (note that the variable has been renamed transaction_i…

B-Tree 인덱스

B-Tree 자식 2개 만을 갖는 이진 트리를 확장하여 N개의 자식을 가질 수 있도록 고안된 것입니다. 좌우 자식 간의 균형이 맞지 않을 경우에는 매우 비효율적이라, 항상 균형을 맞춘다는 의미에서 Balanced Tree 라고 불립니다. 최상위에 단 하나의 노드 만이 존재하는데, 이를 루트 노트라고 합니다. 중간 노드를 브랜치 노드, 최하위 노드를 리프 노드라고 합니다. 각 노드가 키를 오름차순으로 포함하도록 데이터를 저장합니다. 이러한 각 키에는 다른 두 개의 하위 노드에 대한 두 개의 참조가 있습니다. 왼쪽 자식 노드 키는 현재 키보다 작고 오른쪽 자식 노드 키는 현재 키보다 큽니다. 페이지 디스크와 메모리에 데이터를 읽고 쓰는 최소 작업 단위입니다. 일반적으로 인덱스를 포함해 PK와 테이블 등은 모두 페이지 단위로 관리됩니다. 만약 쿼리를 통해 1개의 레코드를 읽고 싶더라도 하나의 블록을 읽어야 하는 것입니다. B-Tree 인덱스 가장 일반적인 인덱스로 B-Tree 구조를 …

NoSQL

NoSQL 이란 비관계형 데이터베이스 유형을 가리킵니다. NoSQL 데이터베이스는 언어마다 관습화된 API, 선언적 구조와 쿼리 언어, 쿼리별 언어를 사용하여 질의할 수 있습니다. 이러한 이유로 not only SQL 데이터베이스라고 불립니다. NoSQL의 등장배경 스토리지 비용 감소 2000년대 말에 스토리지 비용이 크게 하락하면서 등장했습니다. 단순히 데이터 중복 감소를 목적으로 복잡하고 관리하기 어려운 데이터 모델을 생성해야 하던 트렌드가 바뀐 것입니다. 비정형 데이터 인터넷이 활성화되고, SNS 등이 등장하면서 저장해야 하는 데이터의 양이 증가했습니다. 이러한 데이터는 정형, 반정형 등 모양과 크기가 모두 다르기 때문에 미리 스키마를 정의하는 것이 거의 불가능해졌습니다. 개발자가 엄청난 양의 비정형 데이터를 저장할 수 있도록 지원하기 위해 등장했습니다. 유연한 개발 방식 애자일 방법론의 인기가 높아지면서 소프트웨어 개발자들은 소프트웨어 개발 방식을 재고하기 시작했습니다. …