CUBRID
Encyclopedia
CUBRID is a comprehensive open source
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 vendor
Independent 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 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....

 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 ACID
    ACID
    In 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 locking
    Multiple granularity locking
    In computer science, multiple granularity locking , sometimes called the John Rayner locking method, is a locking method used in database management systems and relational databases....

  • Partition
    Partition (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....

  • Replication
    Replication (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 Availability
    High availability
    High 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 Backup
    Backup
    In 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-SELECT
    Select (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 Queries
    Hierarchical query
    A 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
  • Trigger
    Database trigger
    A 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 procedure
    Stored procedure
    A 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 varchar
    Varchar
    A 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
  • Cursor
    Cursor (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 BLOB
    Binary large object
    A 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 CLOB
    Character large object
    A 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
  • HA
    High availability
    High 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



Other RDBMS:
  • Comparison of relational database management systems
    Comparison of relational database management systems
    The 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...

  • Drizzle
    Drizzle (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 ....

  • HSQLDB
    HSQLDB
    HSQLDB 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...

  • MySQL
    MySQL
    MySQL 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)
  • PostgreSQL
    PostgreSQL
    PostgreSQL, 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...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK