CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
Advertisements

데이터 베이스 (MYSQL) 장수용. MYSQL 이란 ? -MySQL 은 DBMS( 데이터베이스 관리 시스템 ) 이다. - MySQL 은 RDBMS( 관계형 데이터베이스 ) 이다. - MySQL 은 오픈소스이다. - MySQL 은 빠르고, 안정적이고.
© 2014 CUBRID Co., Ltd. All rights reserved. 0 / 20 Date: 공공/국방부문 클라우드 추진현황 및 오픈소스 DBMS 적용사례.
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQLite 소개 및 안드로이드에서의 사용법
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Database & Internet Computing Laboratory 한 양 대 학 교
C#에서 데이터베이스 연동 방법.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
JDBC 프로그래밍 이수지 이동주 1.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
Toad for Oracle 설치 방법.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
JDBC 소개 및 설치 슬라이드 노트에 모든 설명을 작성 Database Laboratory.
Chapter 01 데이터베이스 시스템.
DB2.
11장. 데이터베이스 서버 구축과 운영.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
오라클 데이터베이스 성능 튜닝.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
MySQL 기본 사용법.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
View(뷰) 1 가상 테이블(Virtual Relation)
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
학습목표 학습목표 본 장은 동시성 제어와 잠금(lock) 등 효과적인 트랜잭션 관리 기법 과 필요한 명령을 다룬다. 또한 데이터베이스의 장애에 대비하여 안전한 데이터의 관리를 위한 백업과 복원 기법, 서로 다른 DBMS 간이나 다른 서버 사이의 데이터 교환을 위한 데이터.
01. 데이터베이스와 SQL 개요.
ODBC &DAO 안명상.
06. SQL 명지대학교 ICT 융합대학 김정호.
제 8장 데이터베이스.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀

목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의

구조

일반적 특징 RDBMS 계승 – 성능과 안정성 – 보편성 및 확장성 –SQL-2 (ANSI SQL 92) –default, not null, unique, primary key 등 각종 constraint 지원 –view 지원 –trigger 지원

일반적 특징 ( 계속 ) 대용량 – 멀티볼륨 DB –DB 개수 / 크기, 테이블 개수 / 크기 무제한 – 컬럼개수 :6,400, 컬럼크기 :2G, 색인개수 :6,400 확장성 – 멀티볼륨 DB – 볼륨추가 – 멀티쓰레드서버 – 멀티 CPU 사용 최적화 – 복제 (replication) – 서버 추가 – 분할 (partition) – 데이터 확장 대처

일반적 특징 ( 계속 ) 고성능 서버 구조 – 멀티쓰레드, 멀티 서버 –cost based optimizer(CBO) – 질의 플랜 캐쉬 – 복제 (replication) – 질의 분산 – 분할 (partition) – 질의분할 최적화 고성능 클라이언트 구조 –broker 미들웨어 포함 쓰레드 풀 관리 자동 부하 최적화 기능 – 객체 메모리 캐쉬

일반적 특징 ( 계속 ) 트랜잭션 – 완벽한 트랜잭션 ACID 보장 commit, rollback, savepoint – 시스템 /DB 장애시 트랜잭션 일치성 보장 – 복제간 트랜잭션 일치성 보장 – 다중 단위 잠금 DB, 테이블, 객체 ( 레코드 ) – 교착상태 (deadlock) 자동 해결 – 분산 트랜잭션 지원 JAVA, C-API

일반적 특징 ( 계속 ) 백업 / 복구 – 트랜잭션 일치성 보장 –on-line/off-line 백업 지원 –3 단계 백업 레벨 지원 full, incremental-1, incremental-2 – 장애발생시점 또는 특정시점으로의 복구 지원 – 병렬 백업 / 복구 지원 – 실시간 압축 백업 지원 – 다양한 3rd-party 백업 시스템과의 연동 BackupXcelerator(Ncerti) Lagato NetWorket(EMC) Netvault(BakBone) 복제 – 트랜잭션 일치성 보장

일반적 특징 ( 계속 ) 보안 및 권한 관리 – 사용자 권한 관리 사용자, 그룹, 개체, 권한 풍부한 개발 환경 – 표준 API ODBC, JDBC, OLD DB, PHP, Ruby, Python, E-SQL –Native API CAS-CCI, C-API JAVA stored procedure

일반적 특징 ( 계속 ) 큐브리드 매니져 – 플랫폼과 무관하게 사용 (JAVA 로 개발됨 ) – 관리, 질의, 진단, 튜닝 통합도구

객체지향 특징 ORDBMS (Object-Relational DBMS) –RDBMS 계승 성능과 안정성 보편성 및 확장성 SQL-2 (ANSI SQL 92) –Object 확장 사용자 정의 데이터 타입 (User Defined Data Type) 집합형 데이터 타입 (Collection Data Type) 메소드 (Method) 상속 (Inheritance)

객체지향 특징 ( 계속 ) OID (Object IDentifier) –Database 내 class 또는 record 에 대한 IDentifier 물리적 위치 정보 (volumn ID, page ID, slot ID) – 검색을 하지 않으므로 데이터에 대한 빠른 접근 보장 재구성되지 않는한 변경되지 않음 사용자정의 데이터타입 사용시 해당 컬럼에 저장되어 지는 값

스키마 정보 게임 캐릭터 정보에 대하여 간단한 구조로 설계 – 고려사항 사용자 정보 : 1 개의 캐릭터를 가짐. 캐릭터 정보 : 여러 개의 아이템을 가짐. 아이템 정보 : 아이템 이름만 가짐 사용자정보 이름 char(10) 캐릭터 캐릭터정보 캐릭터정보 이름 char(10) 아이템 multiset( 아이템정보 ) 아이템정보 이름 char(10)

스키마 정보 ( 계속 ) 스키마 생성 구문 create class 아이템정보 ( 이름char(10) ) create class 캐릭터정보 ( 이름char(10), 아이템multiset(아이템정보) ) create class 사용자정보 ( 이름char(7), 캐릭터캐릭터정보 ) create class 아이템정보 ( 이름char(10) ) create class 캐릭터정보 ( 이름char(10), 아이템multiset(아이템정보) ) create class 사용자정보 ( 이름char(7), 캐릭터캐릭터정보 )

질의 입력 – 동시 입력 캐릭터정보의 아이템은 한 개만 가진 것으로 간주 insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 1', (insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 1', {(insert into 아이템정보 ( 이름 ) values(' 아이템 1'))} ) ) insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 1', (insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 1', {(insert into 아이템정보 ( 이름 ) values(' 아이템 1'))} ) )

질의 ( 계속 ) 입력 – 입력후 OID 를 얻어 입력 캐릭터정보의 아이템은 두개를 가진 것으로 간주 insert into 아이템정보 ( 이름 ) values(' 아이템 1') to :item1; insert into 아이템정보 ( 이름 ) values(' 아이템 2') to :item2; insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 1', {:item1,:item2}) to :char1; insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 1', :char1) insert into 아이템정보 ( 이름 ) values(' 아이템 1') to :item1; insert into 아이템정보 ( 이름 ) values(' 아이템 2') to :item2; insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 1', {:item1,:item2}) to :char1; insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 1', :char1)

질의 ( 계속 ) 입력 – 검색을 통하여 OID 를 얻어 입력 캐릭터정보의 아이템은 두개를 가진 것으로 간주 insert into 아이템정보 ( 이름 ) values(' 아이템 3'); insert into 아이템정보 ( 이름 ) values(' 아이템 4'); select 아이템정보 into :item1 from 아이템정보 where 이름 = ' 아이템 3'; select 아이템정보 into :item2 from 아이템정보 where 이름 = ' 아이템 4'; insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 2', {:item1,:item2}) to :char1; insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 2', :char1) insert into 아이템정보 ( 이름 ) values(' 아이템 3'); insert into 아이템정보 ( 이름 ) values(' 아이템 4'); select 아이템정보 into :item1 from 아이템정보 where 이름 = ' 아이템 3'; select 아이템정보 into :item2 from 아이템정보 where 이름 = ' 아이템 4'; insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 2', {:item1,:item2}) to :char1; insert into 사용자정보 ( 이름, 캐릭터 ) values(' 사용자 2', :char1)

질의 ( 계속 ) 검색 – 기본적인 검색 select * from 사용자정보 ; select * from 캐릭터정보 ; select * from 아이템정보 select * from 사용자정보 ; select * from 캐릭터정보 ; select * from 아이템정보

질의 ( 계속 ) 검색 –OID 를 이용하여 해당 레코드의 필드값 보기 – 큐브리드 매니져의 OID 탐색기 ( 도구메뉴 ) 사용

질의 ( 계속 ) 검색 –path expression 을 이용한 검색 select 이름, 캐릭터. 이름 from 사용자정보 ;

질의 ( 계속 ) 검색 –set derived table 을 이용한 검색 select 이름,item. 이름 from 캐릭터정보, table( 아이템 ) as t(item)

질의 ( 계속 ) 수정 – 사용자의 캐릭터 정보를 새로운 캐릭터 ( 가진 아이템은 없음 ) 를 만들고 그 캐릭터로 변경 insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 10', {}) to :char10; update 사용자정보 set 캐릭터 = :char10 where 이름 = ' 사용자 1‘ insert into 캐릭터정보 ( 이름, 아이템 ) values(' 캐릭터 10', {}) to :char10; update 사용자정보 set 캐릭터 = :char10 where 이름 = ' 사용자 1‘

질의 ( 계속 ) 수정 – 캐릭터의 아이템을 하나 제거 select 아이템정보 into :item1 from 아이템정보 where 이름 = ' 아이템 3'; update 캐릭터정보 set 아이템 = 아이템 - {:item1} where 이름 = ' 캐릭터 2' select 아이템정보 into :item1 from 아이템정보 where 이름 = ' 아이템 3'; update 캐릭터정보 set 아이템 = 아이템 - {:item1} where 이름 = ' 캐릭터 2'

질의 ( 계속 ) 수정 – 캐릭터의 아이템을 하나 추가 insert into 아이템정보 ( 이름 ) values(' 아이템 5') to :item5; update 캐릭터정보 set 아이템 = 아이템 + {:item5} where 이름 = ' 캐릭터 2' insert into 아이템정보 ( 이름 ) values(' 아이템 5') to :item5; update 캐릭터정보 set 아이템 = 아이템 + {:item5} where 이름 = ' 캐릭터 2'

Beyond Software!