반응형
1.메타데이터
- 통상적으로는 데이터를 위한 데이터를 말하며 RDBMS에서는 데이터를 관리하기위한 데이터를 말한다.
- DB, 테이블의 스키마에 대한 정보를 저장하는 테이블
- DB 명 테이블명 ,컬럼명 ,사용자명 , SHOW 명령어 결과 값 등이 있다.
- 크게 데이터 사전 , 데이터디렉토리로 나뉜다
데이터 사전 (Data dictionary) : Information_schema
- 데이터베이스의 정보들을 저장한다.
- 시스템 카탈로그라고도 한다.
- 대부분 읽기전용(Read-only)정보들이다.
- mysql 에선 use Information_schema로 확인할 수 있다.
Information_schema에 있는 테이블들
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| ADMINISTRABLE_ROLE_AUTHORIZATIONS |
| APPLICABLE_ROLES |
| CHARACTER_SETS |
| CHECK_CONSTRAINTS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLLATIONS |
| COLUMN_PRIVILEGES |
| COLUMN_STATISTICS |
| COLUMNS |
| COLUMNS_EXTENSIONS |
| ENABLED_ROLES |
| ENGINES |
| EVENTS |
| FILES |
| INNODB_BUFFER_PAGE |
| INNODB_BUFFER_PAGE_LRU |
| INNODB_BUFFER_POOL_STATS |
| INNODB_CACHED_INDEXES |
| INNODB_CMP |
| INNODB_CMP_PER_INDEX |
| INNODB_CMP_PER_INDEX_RESET |
| INNODB_CMP_RESET |
| INNODB_CMPMEM |
| INNODB_CMPMEM_RESET |
| INNODB_COLUMNS |
| INNODB_DATAFILES |
| INNODB_FIELDS |
| INNODB_FOREIGN |
| INNODB_FOREIGN_COLS |
| INNODB_FT_BEING_DELETED |
| INNODB_FT_CONFIG |
| INNODB_FT_DEFAULT_STOPWORD |
| INNODB_FT_DELETED |
| INNODB_FT_INDEX_CACHE |
| INNODB_FT_INDEX_TABLE |
| INNODB_INDEXES |
| INNODB_METRICS |
| INNODB_SESSION_TEMP_TABLESPACES |
| INNODB_TABLES |
| INNODB_TABLESPACES |
| INNODB_TABLESPACES_BRIEF |
| INNODB_TABLESTATS |
| INNODB_TEMP_TABLE_INFO |
| INNODB_TRX |
| INNODB_VIRTUAL |
| KEY_COLUMN_USAGE |
| KEYWORDS |
| OPTIMIZER_TRACE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| RESOURCE_GROUPS |
| ROLE_COLUMN_GRANTS |
| ROLE_ROUTINE_GRANTS |
| ROLE_TABLE_GRANTS |
| ROUTINES |
| SCHEMA_PRIVILEGES |
| SCHEMATA |
| SCHEMATA_EXTENSIONS |
| ST_GEOMETRY_COLUMNS |
| ST_SPATIAL_REFERENCE_SYSTEMS |
| ST_UNITS_OF_MEASURE |
| STATISTICS |
| TABLE_CONSTRAINTS |
| TABLE_CONSTRAINTS_EXTENSIONS |
| TABLE_PRIVILEGES |
| TABLES |
| TABLES_EXTENSIONS |
| TABLESPACES |
| TABLESPACES_EXTENSIONS |
| TRIGGERS |
| USER_ATTRIBUTES |
| USER_PRIVILEGES |
| VIEW_ROUTINE_USAGE |
| VIEW_TABLE_USAGE |
| VIEWS |
+---------------------------------------+
데이터디렉토리(Data Directory)
- DBMS의 모든 데이터가 저장되는 디렉토리
- DB저장 , 상태 및 로그저장
2. 캐릭터셋 / 콜레이션
-캐릭터셋
- 문자인코딩 정보 / 메타데이터의 일종
- 문자열(varchar, char) 의 값을 저장할 때 사용되는 기본정보
- DB/테이블별로 별도 설정 가능하다.
- mysql 에선 default 로 utf-8이 지정된다.
- 콜레이션
- 데이터를 정렬 (문자간의 비교) 할 때 사용하는 정보
- 정렬 시에 대소문자를 구분/ 비구분 여부를설정한다(case sensitive / insensitive);
- 한글데이터에서는 무의미 하다.
- utf8-general-ci이 기본값이며 ci는 (character insensitive를 의미한다.)
mysql 기본 캐릭터셋을 확인하라
world DB/city table 캐릭터셋 /콜레이션을 각각 utf8/ utf8_general_ci로 설정하라
sampleTestDB를 utf8/utf8_general_ci로 지정하고 생성하라
status ; //mysql 기본 상태를 확인하는 명령어
alter database world character set utf8 collate utf8_general_ci;
alter table city character set utf8 collate utf8_general_ci;
create databse sampleTestDB default character set utf8 collate utf8_general_ci;
3. 스토리지 엔진
- 데이터베이스엔진이라고도 불린다.
- DBMS가 데이터를 CRUD 할 때 사용하는 기본 컴포넌트이다 .
- 대표적으로 MyISAM과 InnoD등이 있다 .
- 데이터 접근 속도 / 안정성/ 트랜젝션의 지원 여부등의 차이가 있다 .
- 기본값은 InnoDB이다(Mysql 5.7 이상)
InnoDB - 트랜잭션 지원 / 업데이트 위주 / 줄단위 락/ 복구용이 /동시처리성능 높음
MyISAM - 상대적으로 성능은 높다 / 읽기 위주 / 테이블단위 락
Mysq 기본 스토리지 엔진을 확인하라.
기본 스토리지엔진을 변경하라.
기본 스토리지 엔진 변경은 위의 방식말고도 my.cnf에서 default-storge-engine 옵션을 추가하여 변경할 수 있으며 mysql 서버
재부팅이 필요하다. 요즘엔 innoDB를 주로 사용하니 이런것이 있다 알아두기만 해도 좋을것 같다.
반응형
'RDBMS' 카테고리의 다른 글
DBMS 공부 7 - 데이터베이스 파티셔닝 , 샤딩 ,리플리케이션 (0) | 2022.03.16 |
---|---|
DBMS 공부 6 - 데이터베이스 백업과 복원 , 데이터베이스 로그 (0) | 2022.03.15 |
DBMS 공부 4 - SQL의 이해와 종류 (DCL , INDEX) (0) | 2022.03.12 |
DBMS 공부 3 - SQL의 이해와 종류 (DDL) (0) | 2022.03.08 |
DBMS 공부 2 - SQL의 이해와 종류 (DML) (0) | 2022.03.01 |