CUBRID
Encyclopedia
CUBRID is a comprehensive open source
relational database management system
(RDBMS) highly optimized for Web applications, especially when complex business services process large amount of data and generate huge concurrent requests. By providing unique optimized features, CUBRID enables to process much more parallel requests at much less response time.
In CUBRID users can create unlimited number of databases, tables, and rows. There can be 6400 columns in each row, and the length of a column name is limited to 254 characters. Users can also insert unlimited size BLOB / CLOB data into a CUBRID table.
s (ISV) for developing and distributing various CUBRID based applications.
The CUBRID license policy is different from that of other vendors. To distribute or sell MySQL applications, it is required to open the source code of applications or to purchase commercial license. However, CUBRID has two different license policies for interface and server to address the limitations of the traditional open source DBMS and provide excellent cost savings to companies.
and C++
, while CUBRID Manager, the CUBRID database administration tool, is implemented in Java
. All CUBRID Tools are developed at [Sourceforge.net http://sourceforge.net/projects/cubridtools/].
CUBRID runs on Linux
and Microsoft Windows
platforms and provides language-specific API
s, including JDBC, PHP
, ODBC, Ruby
, Python
and C
-API. All CUBRID Interfaces are developed at [Sourceforge.net http://sourceforge.net/projects/cubridinterface/].
In addition, CUBRID provides command-line interface called CSQL. There is also a web-based database administration tool CUBRID WebQuery.
Note (1): Only CUBRID and Oracle provide unlimited size BLOB/CLOB feature.
Other RDBMS:
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
relational database management system
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
(RDBMS) highly optimized for Web applications, especially when complex business services process large amount of data and generate huge concurrent requests. By providing unique optimized features, CUBRID enables to process much more parallel requests at much less response time.
In CUBRID users can create unlimited number of databases, tables, and rows. There can be 6400 columns in each row, and the length of a column name is limited to 254 characters. Users can also insert unlimited size BLOB / CLOB data into a CUBRID table.
License Policy
CUBRID has a separate license for its server engine and its interfaces. The server engine adopts the GPL v2.0 or later license, which allows distribution, modification, and acquisition of the source code. The API interfaces have the Berkeley Software Distribution license in which there is no obligation of opening derivative works. The reason of adopting two separate license systems is that CUBRID does not want to create any limitations to Independent software vendorIndependent software vendor
Independent software vendor is a business term for companies specializing in making or selling software, designed for mass marketing or for niche markets...
s (ISV) for developing and distributing various CUBRID based applications.
The CUBRID license policy is different from that of other vendors. To distribute or sell MySQL applications, it is required to open the source code of applications or to purchase commercial license. However, CUBRID has two different license policies for interface and server to address the limitations of the traditional open source DBMS and provide excellent cost savings to companies.
Product Name Origin
The name "CUBRID" is a combination of two words "Cube" and "Bridge". In case of CUBRID, "Bridge" stands of the "data bridge", while "Cube" is a sealed box which provides security for its contents. Thus, CUBRID means a secure software which holds sensitive information.Platforms and Interfaces
The CUBRID server and official libraries are implemented in CC (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, while CUBRID Manager, the CUBRID database administration tool, is implemented in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. All CUBRID Tools are developed at [Sourceforge.net http://sourceforge.net/projects/cubridtools/].
CUBRID runs on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
platforms and provides language-specific API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s, including JDBC, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
, ODBC, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
and C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
-API. All CUBRID Interfaces are developed at [Sourceforge.net http://sourceforge.net/projects/cubridinterface/].
In addition, CUBRID provides command-line interface called CSQL. There is also a web-based database administration tool CUBRID WebQuery.
Supported Features
The latest version as of November 2010 is CUBRID 2008 R3.1 Beta, which supports the following features:- SQL 92 Standard
- Transaction ACIDACIDIn computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
support - Cross-platform support
- Multiple granularity lockingMultiple granularity lockingIn computer science, multiple granularity locking , sometimes called the John Rayner locking method, is a locking method used in database management systems and relational databases....
- PartitionPartition (database)A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons....
- ReplicationReplication (computer science)Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. It could be data replication if the same data is stored on multiple storage devices, or...
- High AvailabilityHigh availabilityHigh availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
support (shared-nothing clustering, fail-over and fail-back automatically) and monitoring tools - Hot BackupBackupIn information technology, a backup or the process of backing up is making copies of data which may be used to restore the original after a data loss event. The verb form is back up in two words, whereas the noun is backup....
- Sub-SELECTSelect (SQL)The SQL SELECT statement returns a result set of records from one or more tables.A SELECT statement retrieves zero or more rows from one or more database tables or database views. In most applications, SELECT is the most commonly used Data Manipulation Language command...
s (i.e. nested SELECTs) - Hierarchical QueriesHierarchical queryA hierarchical query is a type of SQL query that handles hierarchical model data.Standard SQL specifies hierarchical queries by way of recursive common table expressions...
- Query plan caching
- TriggerDatabase triggerA database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for keeping the integrity of the information on the database...
s - Counter
- Updatable Views
- Java Stored procedureStored procedureA stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...
s - True varcharVarcharA varchar or Variable Character Field is a set of character data of indeterminate length. The term varchar refers to a data type of a field in a database management system...
support - CursorCursor (databases)In computer science and technology, a database cursor is a control structure that enables traversal over the records in a database. Cursors facilitate subsequent processing in conjunction with the traversal, such as retrieval, addition and removal of database records...
s - Unlimited size BLOBBinary large objectA blob is a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob...
and CLOBCharacter large objectA Character Large Object is a collection of character data in a database management system, usually stored in a separate location that is referenced in the table itself...
data types1 - HAHigh availabilityHigh availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
Monitoring Tool - Covering Index
Note (1): Only CUBRID and Oracle provide unlimited size BLOB/CLOB feature.
Product Development History
- July 1, 2011 - CUBRID 8.4.0 Stable release
- May 12, 2011 - CUBRID 8.4.0 Beta release
- December 31, 2010 - CUBRID 3.1 Stable release
- November 12, 2010 - CUBRID 3.1 Beta release
- October 4, 2010 - CUBRID 3.0 Stable release
- July 19, 2010 - CUBRID 2008 R3.0 Beta release
- April 30, 2010 - CUBRID 2008 R2.2 stable release.
- February, 2010 - CUBRID Cluster alpha version was released.
- December, 2009 - CUBRID 2008 R2.1 stable release.
- October, 2009 - CUBRID Project web site lunched at Sourceforge.net. Opened Official Open Source Community web site at www.cubrid.org.
- September, 2009 - CUBRID Cluster Project has been started.
- August, 2009 - CUBRID 2008 R2.0 stable release.
- March, 2009 - CUBRID 2008 R1.4 stable release.
- February, 2009 - CUBRID 2008 R1.3 stable release.
- January, 2009 - CUBRID 2008 R1.2 stable release.
- November, 2008 - CUBRID became an open source project. CUBRID 2008 R1.1 stable was released.
- October, 2008 - First internal release followed by CUBRID 2008 R1.0 stable release.
- 2006 - The development of CUBRID DBMS started.
See also
- Comparison of relational database management systemsComparison of relational database management systemsThe following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...
- Comparison of object-relational database management systemsComparison of object-relational database management systemsThe following Database Management Systems have at least some object-relational features. They vary widely in their completeness and the approaches taken....
- List of relational database management systems
Other RDBMS:
- Comparison of relational database management systemsComparison of relational database management systemsThe following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...
- DrizzleDrizzle (database server)Drizzle is a free software/open source relational database management system that was forked from version 6.0 of the MySQL DBMS.Like MySQL, Drizzle has a client/server architecture and uses SQL as its primary command language...
- Firebird (database server)Firebird (database server)Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....
- HSQLDBHSQLDBHSQLDB is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92 and SQL:2008 standards. It offers a fast, small database engine which offers both in-memory and disk-based tables...
- MySQLMySQLMySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
- Ingres (database)
- PostgreSQLPostgreSQLPostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...