CUBRID
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
CUBRID는 오픈 소스 관계형 데이터베이스 관리 시스템으로, 아파치 라이선스 2.0을 따르는 서버 엔진과 BSD 라이선스를 적용하는 GUI 도구 및 응용 인터페이스를 사용한다. C, C++, 자바로 개발되었으며, 윈도우 및 리눅스 환경에서 JDBC, PHP, ODBC 등 다양한 인터페이스를 지원한다. SQL 92 표준을 지원하며 ACID, MVCC, 고가용성, 다양한 인덱싱, 백업, 쿼리 플랜 캐시 등의 기능을 제공한다. 3계층 아키텍처를 통해 고가용성을 지원하며, 2006년부터 개발되어 2008년 오픈 소스 프로젝트로 전환된 이후 지속적인 버전 업데이트를 통해 기능이 개선되었다.
더 읽어볼만한 페이지
- 네이버의 소프트웨어 - 밴드 (소프트웨어)
밴드는 스포츠 팀, 클럽, 직장, 가족 등 다양한 그룹 구성원들이 모바일 환경에서 소통, 계획 수립, 협업할 수 있도록 알림 관리, 게시물 확인, 라이브 방송, 투표 등의 기능을 제공하는 소프트웨어이다. - 네이버의 소프트웨어 - 원스토어
원스토어는 2015년 T 스토어, 올레 마켓, U+ 스토어의 통합으로 시작하여 2016년 네이버 앱스토어 사업 이전을 통해 완전히 통합된 대한민국의 앱 스토어이며, 2017년부터는 웹툰 및 온라인 소설 플랫폼인 원스토어 북스도 운영하고 있다. - 관계형 데이터베이스 관리 시스템 - IBM 시스템 R
- 관계형 데이터베이스 관리 시스템 - 마이크로소프트 액세스
마이크로소프트 액세스는 1992년 출시된 데이터베이스 관리 시스템으로, 테이블, 쿼리, 폼 등을 생성하고 VBA를 통해 솔루션을 개발하며, 윈도우에서 사용 가능하고 다양한 데이터 형식과 통합된다. - 자유 데이터베이스 관리 시스템 - PostgreSQL
PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다. - 자유 데이터베이스 관리 시스템 - SQLite
SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
CUBRID - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
개발사 | 큐브리드 주식회사 |
출시일 | 2008년 11월 20일 |
최신 릴리스 버전 | 11.3 |
최신 릴리스 날짜 | 2023년 9월 |
리포지토리 | CUBRID GitHub 저장소 |
프로그래밍 언어 | C C++ Java |
운영 체제 | Linux Windows |
언어 | 영어 한국어 |
종류 | RDBMS |
라이선스 | 아파치 라이선스 (서버 엔진), BSD 라이선스 (API 및 GUI 도구) |
웹사이트 | CUBRID 공식 웹사이트 |
발음 |
2. 제품 라이선스 정보
CUBRID는 오픈 소스 라이선스를 채택하며, 서버 엔진에는 아파치 라이선스 2.0을, GUI 기반 도구 및 응용 인터페이스에는 버클리 소프트웨어 배포판 라이선스를 각각 적용한다. 아파치 라이선스와 BSD 라이선스를 채택하여 소프트웨어 벤더가 CUBRID 기반의 응용 프로그램을 자유롭게 개발 또는 배포할 수 있도록 하였다.[37]
CUBRID 서버 및 공식 라이브러리는 C/C++(C++)로 구현되어 있으며, GUI 도구인 CUBRID Manager는 자바로 구현되어 있다.[38] CUBRID는 리눅스 및 윈도우를 지원하며, 32비트 및 64비트 아키텍처에서 모두 사용할 수 있다.
CUBRID API 및 GUI 도구는 BSD(Berkeley Software Distribution) 라이선스를 가지며, 파생 작품을 공개할 의무가 없다. 이처럼 두 가지 라이선스 시스템을 채택한 이유는 ISV(독립 소프트웨어 공급업체)가 CUBRID 기반 응용 프로그램을 개발하고 배포하는데 완전한 자유를 제공하기 위함이다.[2]
3. 개발 언어 및 지원 플랫폼
응용 프로그램 개발을 위해 JDBC, PHP, ODBC, OLEDB, ADO.NET, 파이썬, 루비, node.js, GO 등 다양한 응용 프로그래밍 인터페이스(API)를 제공한다.[38] 또한, SQL 실행을 위한 커맨드 라인 도구인 CSQL과 GUI 기반 통합 운영 도구인 CUBRID Manager, 데이터베이스 마이그레이션 도구인 CUBRID Migration Toolkit을 지원한다.[38]
4. 제품 주요 기능
5. 확장성 및 유지 관리
CUBRID의 고가용성은 공유하지 않는 클러스터링, 자동 장애 조치 및 수동 장애 복구 메커니즘을 통해 부하 분산, 내결함성 및 지속적인 서비스 가용성을 제공한다.
CUBRID의 3계층 아키텍처는 브로커 장애 조치 및 서버 장애 조치의 두 단계 자동 장애 조치를 통해 고가용성을 기본적으로 지원한다.[3]
CUBRID는 온라인, 오프라인 및 증분 백업을 지원한다.
6. SQL 지원
CUBRID는 SQL 92 표준을 지원하며, 확장된 SQL 구문을 제공한다. 트랜잭션의 ACID 속성을 보장하며, 다중 버전 동시성 제어(MVCC)를 지원한다. 비용 기반 옵티마이저(CBO)를 통해 효율적인 쿼리 실행 계획을 수립하고, 고가용성(HA) 및 복제 환경에서도 트랜잭션 일관성을 유지한다.[39]
인덱스는 Multi-Range, Covered, Reverse, Skip-Scan, Function based, Filtered Index 등 다양한 유형을 지원한다. 온라인/오프라인, 증분, 압축, 병렬 백업 기능을 제공하여 데이터 안정성을 높인다.[39]
계층형 쿼리(Hierarchical Query)를 지원하여 트리 구조 데이터를 쉽게 처리할 수 있으며, 쿼리 플랜 캐시를 통해 반복적인 쿼리 실행 속도를 향상시킨다. View와 Trigger를 지원하여 데이터베이스 관리 효율성을 높인다. 또한, Java Stored Procedure를 지원하여 복잡한 비즈니스 로직을 데이터베이스 내에서 처리할 수 있다.[39]
CUBRID는 SQL:1999 표준의 상당 부분을 구현했으며, 이후 SQL 표준 및 사용자 정의 기능도 추가되었다. SQL:2003 표준에 정의된 윈도우 함수를 지원하며, `ROW_NUMBER`, `COUNT`, `MIN`, `MAX`, `SUM`, `AVG`, `STDDEV_POP`, `STDDEV_SAMP`, `VAR_POP`, `VAR_SAMP`, `RANK`, `DENSE_RANK`, `LEAD`, `LAG`, `NTILE` 등 다양한 함수를 제공한다.
Oracle 구문인 `START WITH ... CONNECT BY`를 사용한 계층적 쿼리를 지원하며, 쿼리 실행 제어를 위한 특수 의사 열과 연산자를 제공한다.
웹 애플리케이션에서 특정 이벤트 발생 시 데이터베이스 필드를 증가시키는 일반적인 시나리오를 최적화하여, SELECT 문 실행 내에서 필드를 증가시켜 UPDATE 문과 관련된 오버헤드를 줄일 수 있다.[5]
CUBRID에서 지원하는 유일한 저장 프로시저 언어는 자바이며, 시스템에 자바 가상 머신이 설치되어 있어야 한다.[6] 저장 프로시저 코드는 JDBC 드라이버를 사용하여 부모 트랜잭션을 사용하거나 새로운 트랜잭션을 발행할 수 있다.
LIKE 연산자 외에 정규 표현식 패턴 매칭을 위한 `REGEXP` 연산자를 제공하며, 기본적으로 대소문자를 구분하지 않는 매칭을 수행하지만, `BINARY` 수식어를 사용하여 대소문자를 구분하는 매칭도 가능하다. `REGEXP`의 선택적 별칭은 `RLIKE`이다.[7]
CUBRID 11 이전 버전에서는 유니코드 문자열에 대한 `REGEXP`를 지원하지 않았지만, CUBRID 11부터는 `REGEXP_COUNT`, `REGEXP_INSTR`, `REGEXP_LIKE`, `REGEXP_REPLACE`, `REGEXP_SUBSTR` 등 정규 표현식 함수를 추가하고 유니코드 문자열을 지원한다.[8]
7. 자료형
CUBRID는 다양한 자료형을 지원한다.[39]
- 숫자 값:
- 정수 숫자: SMALLINT영어 (16비트), INTEGER영어 (32비트), BIGINT영어 (64비트)
- 부동 소수점 숫자: FLOAT영어 (32비트), DOUBLE영어 (64비트)
- 임의 정밀도 숫자: NUMERIC영어
- 통화 값: MONETARY영어 (배정밀도 부동 소수점)
- 문자열 값:
- 고정 길이 문자열 및 비트 문자열: CHAR영어, BIT영어
- 가변 길이 문자열 및 비트 문자열: CHAR VARYING영어, BIT VARYING영어
- 날짜 및 시간 값:
- 날짜 값: DATE영어
- 시간 값: TIME영어
- 날짜 및 시간 값: DATETIME영어, TIMESTAMP영어 (내부적으로 유닉스 시간으로 저장)
- 컬렉션: SET영어, MULTISET영어, LIST영어
- 사용자 정의 열거형: ENUM영어
- 대용량 객체: BLOB영어, CLOB영어
- JavaScript Object Notation: JSON영어
8. 아키텍처
CUBRID 데이터베이스는 데이터베이스 서버, 연결 브로커, 애플리케이션 계층으로 구성된 3계층 클라이언트-서버 아키텍처를 사용한다. CUBRID 서버 및 공식 라이브러리는 C/C++(C++)로 구현되어 있으며, GUI 도구인 CUBRID Manager는 Java로 구현되어 있다.
CUBRID는 리눅스 계열, 윈도우 계열 운영 체제를 지원하며, 응용 프로그래밍 인터페이스로 JDBC, PHP, ODBC, C-API, Ruby, Python을 제공한다. SQL 실행을 위한 명령줄 도구인 CSQL과 GUI 도구인 CUBRID Manager를 제공한다.
CUBRID는 다음과 같은 기능을 제공한다.
- SQL 92 표준
- 트랜잭션 ACID 지원
- 크로스 플랫폼 지원
- 세분화 잠금
- 파티션
- 복제
- 고가용성 지원 (shared-nothing 클러스터링, 자동 장애 조치 및 장애 복구)
- 핫 백업
- 서브-SELECTs (중첩된 SELECT)
- 계층형 쿼리
- 쿼리 계획 캐싱
- 데이터베이스 트리거
- 클릭 카운터
- 업데이트 가능 뷰
- 자바 저장 프로시저
- 진정한 varchar 지원
- 커서
8. 1. 연결 브로커
CUBRID 연결 브로커는 다음과 같은 주요 역할을 수행한다.- 클라이언트 애플리케이션 연결 관리
- 정보 캐싱 및 중계 (예: 쿼리 결과)
- 쿼리 구문 분석, 최적화 및 실행 계획 생성
또한, 로컬 객체 풀을 통해 튜플 삽입 및 삭제, DDL 문과 같은 일부 실행 부분을 데이터베이스 서버에서 연기할 수 있어 데이터베이스 서버의 부하를 줄일 수 있다.
CUBRID는 연결 브로커가 데이터베이스 서버와 동일한 시스템에 바인딩되지 않으므로, 단일 데이터베이스에서 쿼리를 처리하는 동안 여러 시스템의 하드웨어 리소스를 활용할 수 있다.
9. 인터페이스
CUBRID 서버 및 공식 라이브러리는 C 또는 C++(C++)로 구현되어 있으며, GUI 도구인 CUBRID Manager는 자바로 구현되어 있다. CUBRID는 리눅스 및 윈도우를 지원하며, 응용 프로그램을 위한 인터페이스로 JDBC, PHP, ODBC, OLEDB, ADO.NET, 파이썬, 루비, node.js, GO 등을 제공한다.[38]
9. 1. 커맨드 라인
CUBRID는 CUBRID 서버에서 SQL 문을 실행하는 데 사용할 수 있는 ''csql''이라는 내장 명령줄 인터페이스를 제공한다.[9] SQL 실행을 위하여 커맨드 라인 도구인 CSQL를 지원한다. 이 도구는 다음 두 가지 모드 중 하나로 사용할 수 있다.- CS (''클라이언트/서버'') 모드: 로컬 또는 원격 CUBRID 서버에 연결할 수 있다.
- SA (''독립형'') 모드: 주로 관리 목적으로 사용되며, 서버 인스턴스를 에뮬레이션하여 로컬 데이터베이스를 마운트한다.
CUBRID의 ''csql''은 또한 스키마 정보, 실행 계획 생성, 디버깅, 트랜잭션 제어, 쿼리 시간 측정 등과 관련된 일부 내부 명령을 구현한다.
9. 2. 프로그래밍
CUBRID 서버 및 공식 라이브러리는 C 또는 C++(C++)로 구현되어 있으며, GUI 도구인 CUBRID Manager는 자바로 구현되어 있다. CUBRID가 지원하는 운영체제(OS)는 리눅스 및 윈도우이며, 응용 프로그램을 위한 인터페이스로 JDBC, PHP, ODBC, OLEDB, ADO.NET, 파이썬, 루비, node.js, GO 등을 제공한다.[38]CUBRID는 C 드라이버(CCI, CUBRID 네이티브 드라이버라고도 함), JDBC, PHP/PDO 드라이버, ODBC, OLEDB, ADO.NET, 루비 드라이버, 파이썬 드라이버, Node.js 드라이버 및 Perl 드라이버 등 여러 언어별 응용 프로그래밍 인터페이스를 제공한다.[10]
SQL 실행을 위하여 커맨드 라인 도구인 CSQL을 지원한다.
9. 3. 그래픽
CUBRID를 위해 여러 개의 그래픽 사용자 인터페이스(GUI) 도구가 개발되었다.- CUBRID 매니저[11]는 macOS 및 리눅스에서 BSD 라이선스로 배포되는 쿼리 브라우저이자 데이터베이스 관리 도구이다.
- CUBRID 관리자는 윈도우에서 BSD 라이선스로 배포되는 관리 도구이다.
- SQLGate는 CHEQUER에서 윈도우용으로 개발한 쿼리 브라우저 도구이다.
- CUBRID 마이그레이션 툴킷[12]은 Oracle, MS-SQL, MySQL 및 이전 버전의 CUBRID 데이터베이스에서 최신 CUBRID 데이터베이스 서버로 데이터를 마이그레이션할 수 있는 도구이다.
- GUI 기반 통합 운영 도구(CUBRID Manager), DB 마이그레이션 도구(CUBRID Migration Toolkit)를 지원한다.[38]
10. 제품 출시 정보
11. 개발 이력
CUBRID의 개발 이력은 다음과 같다.
- 2006년 - CUBRID DBMS 개발 시작.
- 2008년 10월 - 최초 내부 릴리스에 이어 CUBRID 2008 R1.0 정식 릴리스.
- 2008년 11월 - CUBRID, 오픈 소스 프로젝트가 됨. CUBRID 2008 R1.1 정식 릴리스.
- 2009년 1월 - CUBRID 2008 R1.2 정식 릴리스.
- 2009년 2월 - CUBRID 2008 R1.3 정식 릴리스.
- 2009년 3월 - CUBRID 2008 R1.4 정식 릴리스.
- 2009년 8월 - CUBRID 2008 R2.0 정식 릴리스.
- 2009년 9월 - CUBRID Cluster 프로젝트 시작.
- 2009년 10월 - [http://sourceforge.net/projects/cubrid CUBRID 프로젝트] 웹 사이트가 Sourceforge.net에 개설됨. 공식 오픈 소스 커뮤니티 웹 사이트 [http://www.cubrid.org www.cubrid.org] 개설.
- 2009년 12월 - CUBRID 2008 R2.1 정식 릴리스.
- 2010년 2월 - CUBRID Cluster ''알파 버전'' 릴리스.
- 2010년 5월 - CUBRID 2008 R2.2 정식 릴리스[35].
- 2010년 7월 20일 - CUBRID 2008 R3.0 베타 릴리스[36]
12. 응용 프로그램
- jOOQ[24]
- SOFA Statistics[25]
- SIDU[26]
- ART[27]
- Scriptella
- JWhoisServer[28]
- Yii2 PHP 프레임워크[29]
- RedBeanPHP[30]
- DBeaver[31]
참조
[1]
웹사이트
CUBRID Release
https://github.com/C[...]
2023-09-27
[2]
웹사이트
CUBRID License
https://www.cubrid.o[...]
[3]
웹사이트
CUBRIDHA
https://www.cubrid.o[...]
2020-05-22
[4]
웹사이트
Shared Query Plan Caching in CUBRID
http://www.cubrid.or[...]
2013-02-09
[5]
웹사이트
CUBRID Manual - CUBRID Click Counter
http://www.cubrid.or[...]
2013-02-11
[6]
웹사이트
CUBRID Java Stored Procedures
http://www.cubrid.or[...]
2013-02-11
[7]
웹사이트
CUBRID Manual - REGEXP/RLIKE Conditional Expressions
http://www.cubrid.or[...]
2013-02-11
[8]
웹사이트
CUBRID 11 Manual - Regular Expressions Functions and Operators
https://www.cubrid.o[...]
[9]
웹사이트
How to use CSQL utilities
http://www.cubrid.or[...]
2013-02-08
[10]
웹사이트
CUBRID APIs Wiki
http://www.cubrid.or[...]
2013-02-08
[11]
웹사이트
CUBRID Manager
http://www.cubrid.or[...]
2013-02-08
[12]
웹사이트
CUBRID Migration Toolkit
http://www.cubrid.or[...]
2013-02-08
[13]
웹사이트
CUBRID 11.3 has been released
https://www.cubrid.o[...]
2023-09-27
[14]
웹사이트
CUBRID 11.2 has been released
https://www.cubrid.o[...]
2022-05-23
[15]
웹사이트
CUBRID 11.0 has been released
https://www.cubrid.o[...]
2021-01-27
[16]
웹사이트
CUBRID 10.2 has been released
https://www.cubrid.o[...]
2020-03-20
[17]
웹사이트
CUBRID 10.1 is released
https://www.cubrid.o[...]
2020-03-20
[18]
웹사이트
CUBRID 8.4.0 has arrived w/ x2 faster database engine!
http://blog.cubrid.o[...]
2011-05-17
[19]
웹사이트
CUBRID 8.4.0 GA is now available for download
http://blog.cubrid.o[...]
2011-07-14
[20]
웹사이트
CUBRID 3.1 Stable is now available!
http://blog.cubrid.o[...]
2011-01-03
[21]
웹사이트
CUBRID 3.0 Stable has arrived!
http://blog.cubrid.o[...]
2010-10-05
[22]
웹사이트
New CUBRID 2008 R3.0 Beta has been released
http://blog.cubrid.o[...]
2010-07-21
[23]
웹사이트
New Version Release - CUBRID 2008 R2.2
http://blog.cubrid.o[...]
2010-05-07
[24]
웹사이트
How to simulate MySQL INSERT statement extensions
http://blog.jooq.org[...]
Lukas Eder
2012-05-15
[25]
웹사이트
SOFA Statistics
http://www.sofastati[...]
sofastatistics.com
2012-11-20
[26]
웹사이트
SIDU Incredibly Simple Intuitive Web Based SQL Client
http://sidu.sourcefo[...]
SIDU
2012-05-25
[27]
웹사이트
ART Simple Yet Effective Open Source Reporting Tool
http://art.sourcefor[...]
art.sourceforge.net
2012-06-10
[28]
웹사이트
Run Your Own Whois Server With JWhoisServer
http://jwhoisserver.[...]
Klaus Zerwes
2012-07-06
[29]
웹사이트
Cubrid Query Builder
http://www.yiiframew[...]
yii.com
2015-03-20
[30]
웹사이트
RedBeanPHP Super Easy to Use PHP ORM
http://redbeanphp.co[...]
2013-02-04
[31]
웹사이트
DBeaver 4.2.5
https://dbeaver.io/2[...]
2020-05-27
[32]
웹사이트
CUBRID OSS 라이선스 가이드
http://www.cubrid.co[...]
CUBRID Co., Ltd.
2008-11-21
[33]
웹사이트
CUBRID 라이선스 FAQ
http://cubrid.com/zb[...]
CUBRID Co., Ltd.
2008-11-21
[34]
웹사이트
CUBRID Introduction
http://cubrid.org/ab[...]
CUBRID Co., Ltd.
2009-12-29
[35]
웹사이트
New Version Release - CUBRID 2008 R2.2
http://blog.cubrid.o[...]
CUBRID Co., Ltd.
2010-05-07
[36]
웹사이트
New CUBRID 2008 R3.0 Beta has been released
http://blog.cubrid.o[...]
CUBRID Co., Ltd.
2010-07-20
[37]
웹인용
CUBRID 라이선스
https://www.cubrid.c[...]
2020-07-07
[38]
웹인용
CUBRID Tools
https://www.cubrid.c[...]
2020-07-07
[39]
웹인용
CUBRID 주요 기능
https://www.cubrid.c[...]
2020-07-07
[40]
웹인용
CUBRID 릴리스
https://www.cubrid.c[...]
2020-07-07
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com