CUBRID
CUBRID este un sistem de management de baze de date relaționale (RDBMS) cu cod sursă public (engleză open source software) bazat pe SQL, puternic optimizat pentru aplicații web, în special pentru scenariile în care este nevoie de prelucrări de date de volum mare care generează multe accesări simultane.
Dezvoltator | NHN Search Solutions |
---|---|
Release initial | 20 noiembrie 2008 |
Release stabil | CUBRID 8.4.3 [1] |
Versiune preview | CUBRID 9.0 beta [2] |
Scris in | C, C++ |
Sistem de Operare | Platforma mixta (Windows, Linux) |
Limba disponibila | Engleza, Coreana, Japoneza, Chineza |
Tip | Sisteme de management de baze de date relaționale |
Licenta | GNU (General Public Licence) pentru modulul de server, și Licența BDS (Berkeley Software Distribution) pentru API și instrumentele CUBRID Manager |
Site web | www.cubrid.org |
Introducere CUBRID
modificareGratuit și cu cod sursă public
modificareCUBRID poate fi utilizat gratuit. Este un sistem de administrare de baze de date distribuit sub termenii licenței General Public License (GNU).[3]
Arhitectură puternică ce oferă funcționalitate amplă
modificareCUBRID este mai rapid decât alte alternative populare din domeniu, deoarece este proiectat și optimizat pentru website-uri cu trafic foarte intens. Folosind CUBRID, nu mai există problema creșterii rapide a dimensiunii datelor și a scalabilității. Arhitectura sa multi-proces și implementarea cu fire multiple de execuție permite CUBRID să scaleze bine cu creșterea volumului de date și a numărului de utilizatori. Nu mai există limite pentru numărul de baze de date, de tabele sau de tupluri.[4]
Oferă funcții unice pentru scalabilitate și fiabilitate
modificareCUBRID oferă funcționalități de nivel bussiness ca High-Availability (HA), Database Sharding, Hot/Online Backup, Offline Backup și Incremental Backup. Fiecare dintre acestea pot fi programate și personalizate conform nevoii utilizatorului. Acesta are la dispoziție o soluție de baze de date care suportă tranzacții distribuite, diferite metode de replicare online, sincrone-asincrone, cu sens unic, la nivel de tranzacție, independente de arhitectură, înlănțuite sau grupate. High Availability (HA) asigură funcționarea neîntreruptă a serverului de baze de date. În plus, Database Sharding permite distribuirea facilă a datelor pe mai multe servere. Toate acestea pot fi realizate cu o singură baza de date CUBRID.
Cu fiecare nouă versiune, dezvoltatorii cresc performanțele CUBRID pentru a satisface nevoile oricărui utilizator. Următoarea listă prezintă cele mai importate funcționalități pe care le oferă CUBRID:
- Optimizat pentru aplicații Web - CUBRID este un sistem de administrare de baze de date relațional puternic optimizat pentru aplicații web deoarece arhitectura sa cu trei nivele garantează flexibilitate și performață ridicată de procesare a volumelor mari de date sau a numeroaselor cereri concurente.
- Ușurința în dezvoltarea aplicațiilor - CUBRID suportă standardul de sintaxă SQL extins. În plus, dispune de multe unelte cu interfață grafică și drivere pentru dezvoltarea de aplicații în aproape orice limbaj de programare (JDBC, PHP, Python, Node.js, ODBC, OLEDB, ADO.NET, Perl, Ruby).
- Tranzacții și caracteristici majore RDBMS - La fel ca și alte RDMBS precum MySQL, PostgreSQL, și Oracle, CUBRID suportă tranzacții atomice, diferite tipuri de obiecte și toată sintaxa SQL.
- High Availability cu CUBRID HA - CUBRID HA este unul dintre principalele motive pentru care furnizorii Enterprise aleg CUBRID și nu alte RDBMS open-source. Funcția auto-failover permite aplicației web să funcționeze online non stop cu operabilitate facilă.
- Scalabilitate folosind CUBRID Shard și Partiționare - CUBRID suportă tehnologia DB Sharding pentru scalabilitate pe direcție orizontală și partiționarea de tabele pentru scalabilitate pe verticală. CUBRID Shard permite sistemelor foarte mari să distribuie datele pe mai multe instanțe de bază de date menținând eficiența.
Originea numelui CUBRID
modificareNumele "CUBRID" provine din combinația a două cuvinte - "Cube" ("Cub") și "Bridge" ("Pod"/"Legătura"/"Conexiune"). În cazul CUBRID, "Bridge" înseamnă "data bridge" ("legătura/conexiune de date"), iar "Cube" se referă la o "cutie închisă/ermetică" care protejează conținutul său. Astfel, "CUBRID" înseamnă un software sigur din punct de vedere al securității, care poate stoca informații confidențiale în deplină siguranță.[5]
Arhitectura
modificareCUBRID este un sistem de management de baze de date obiect-relațional. Din punct de vedere arhitectural este structurat în trei nivele: Serverul bazei de date, Brokerul, și CUBRID Manager.
Serverul bazei de date
modificareEste componenta nucleu a sistemului DBMS CUBRID, care salvează și administrează date după modelul client-server cu fire multiple de execuție. Serverul procesează interogările utilizatorilor și administrează obiectele în baza de date. Serverul CUBRID suportă tranzacții atomice folosind metode de blocare și jurnalizare chiar și atunci când mai mulți utilizatori accesează baza de date în același timp. De asemenea, pot fi utilizate mecanismele de backup și restaurare.
Brokerul
modificareEste un software intermediar specific CUBRID care interfațează comunicarea între server și aplicațiile externe. Furnizează funcționalități utile ca monitorizarea, connection pooling, jurnalizarea și analiza de performață.
CUBRID Manager
modificareEste o unealtă ce are o interfață cu utilizatorul interactivă și care permite utilizatorului să administreze și să controleze atât baza de date cât și brokerul. De asemenea, el pune la dispoziția utilizatorului Query Editor, o unealta care permite utilizatorilor să execute interogări SQL pe server.
Platforme și interfețe
modificareServerul CUBRID și librăriile oficiale sunt dezvoltate în C și C++, în timp ce CUBRID Manager este implementat în Java.
CUBRID rulează pe Linux și Microsoft Windows și oferă interfețe API pentru diverse limbaje de programare, incluzând JDBC, PHP, ADO.NET, ODBC, OLEDB, Ruby, Python și C-API.
În plus CUBRID oferă o unealta command-line - numita CSQL[6], precum și o unealta de administrare bazată pe web, numită CUBRID WebQuery[7].
În afara de acestea, mai există unelte de administrare (de exemplu CUBRID Manager client), unelte de interogare a datelor (de exemplu CUBRID Query Browser), unelte de migrare a bazelor de date (de exemplu CUBRID Migration Toolkit) s.a.
Interfețe grafice
modificareCUBRID este înzestrat cu mai multe unelte care ajuta utilizatorul sa administreze baza de date:
- CUBRID Manager (CM) este cea mai puternică unealtă de administrare de baze de date dezvoltată special pentru administratori. Dispune de o interfață grafică (GUI) ergonomică și intuitivă din care utilizatorul are acces la unelte pentru a manageria baze de date, brokeri, a executa interogări și a vedea rezultatele și multe altele. Pentru dezvoltatori, se recomandă CUBRID Query Browser, deoarece este mult mai util datorită simplicității.
- CUBRID Web Manager (CWM) este cea mai puternică aplicație web de administrare CUBRID dezvoltată pentru Administratorii CUBRID. Folosind CUBRID Query Browser, utilizatorul are acces la multiple instrumente pentru a controla bazele de date, brokeri, executa interogări, monitoriza performața și multe altele.
- CUBRID Query Browser (CQB) este o versiune mai simplă a instrumentului CUBRID Manager. Este implementat pentru a servi dezvoltatorilor de aplicații la execuția de interogări, standard și precompilate, și a controla tabelele în mod convenabil.
- CUBRID Migration Toolkit (CMT) este un software open-source care permite migrarea facilă a datelor din MySQL sau CUBRID (versiuni anterioare) pe ultima versiune a severului CUBRID.
Aplicații
modificareMai multe aplicații și website-uri au adăugat deja suportul pentru CUBRID. Iată o listă cu unele dintre aceste aplicații:
Capabilități
modificareUltima versiune de CUBRID, din noiembrie 2012, este CUBRID 8.4.3, care include numeroase funcționalități, ca de exemplu[14]:
- Suport pentru SQL 92 Standard
- Suport pentru Transaction ACID
- Suport pentru multiple sisteme de operare
- Database Sharding
- Echilibrarea traficului la nivel de aplicație
- Multiple granularity locking
- Partitioning
- Replication
- Suport Disponibilitate înaltă (High Availability: shared-nothing clustering, fail-over și fall-back automat) și instrumente de monitorizare
- Hot Backup
- Sub-Selects (cunoscut și ca "Nested SELECTs")
- Hierarchical Queries
- Query plan caching
- Triggers
- Click Counter
- Vederi actualizabile
- Proceduri stocate Java
- Suport complet pentru tipul de date varchar
- Cursoare
- Mărime nelimitată pentru tipurile de date Binary large object (BLOB) și Character large object (CLOB) 1
- Disponibilitate înaltă – High Availability Monitoring Tool
- Covering Index
- Expresie regulată
Istoria dezvoltării produsului
modificare- noiembrie 20, 2012 - a fost lansat CUBRID 8.4.3 Stable release[15]
- octombrie 2012 - A fost lansat CUBRID 9.0.0 Beta release [16]
- februarie 24, 2012 - A fost lansat CUBRID 2008 8.4.1 Stable release[17]
- februarie 1, 2012 - A fost lansat CUBRID 2008 8.4.1 Beta release
- Julie 1, 2011 - A fost lansat CUBRID 2008 8.4.0 Stable release[18]
- Mai 12, 2011 - A fost lansat CUBRID 2008 8.4.0 Beta release[19]
- decembrie 31, 2010 - A fost lansat CUBRID 2008 R3.1[20]
- noiembrie 12, 2010 - A fost lansat CUBRID 2008 R3.1 Beta release[21]
- octombrie 4, 2010 - A fost lansat CUBRID 2008 R3.0 Stable release[22]
- iulie 20, 2010 - A fost lansat CUBRID 2008 R3.0 Beta release[23]
- Mai, 2010 - A fost lansat CUBRID 2008 R2.2[24].
- februarie, 2010 - A fost lansat CUBRID Cluster alpha version.
- decembrie, 2009 - A fost lansat CUBRID 2008 R2.1.
- octombrie, 2009 - A fost lansat site-ul CUBRID Project la Sourceforge.net. A fost lansata comunitatea Open Source Cubrid la www.cubrid.org.
- septembrie, 2009 - A început proiectul CUBRID Cluster.
- august, 2009 - A fost lansat CUBRID 2008 R2.0.
- martie, 2009 - A fost lansat CUBRID 2008 R1.4.
- februarie, 2009 - A fost lansat CUBRID 2008 R1.3.
- ianuarie, 2009 - A fost lansat CUBRID 2008 R1.2.
- noiembrie, 2008 - CUBRID a devenit proiect open source. A fost lansat CUBRID 2008 R1.1.
- octombrie, 2008 - Urmând o prima lansare interna, a fost lansat CUBRID 2008 R1.0.
- 2006 - A început dezvoltarea sistemului de gestiune a bazelor de date CUBRID.
Politica de licențiere
modificareCUBRID are licențe diferite pentru motorul serverului și interfețe. Motorul serverului adoptă o licență GPL v2.0 sau mai nouă. Interfețele API sunt distribuite sub licență Berkeley Software Distribution în care nu există nici o obligație de publicare a lucrărilor derivate. Motivul adoptării a doua sisteme de licențe diferite este acela de a nu exista limitări ale vânzătorilor de software independenți (ISV) în dezvoltarea și distribuirea diferitelor aplicații bazate pe CUBRID. Politica de licențiere cubrid CUBRID license policy Arhivat în , la Wayback Machine. este diferită de cea a altor dezvoltatori. Pentru a distribui sau vinde aplicații MySQL, este necesar ca acestea să fie open-source sau ca să se cumpere o licență comercială. Totuși, CUBRID are două politici de licențiere diferite pentru interfețe și server în scopul dea a elimina limitările DBMS-urilor open-source tradiționale și a permite companiilor să economisească foarte mult.[25]
Vezi și
modificare- Comparația sistemelor de gestionare a bazelor de date relaționale
- Comparația sistemelor de obiect-relaționale de gestiune a bazelor de date
- Lista sistemelor de gestionare a bazelor de date relaționale
Alte sisteme de management de baze de date relaționale :
Referințe
modificare- ^ „CUBRID 8.4.3 with Database Sharding”. CUBRID 8.4.3. . Arhivat din original la . Accesat în .
- ^ „CUBRID 9.0 Faster and More Performant”. CUBRID 9.0 Blog. . Arhivat din original la . Accesat în .
- ^ „Why Use CUBRID”. CUBRID.org. Arhivat din original la . Accesat în .
- ^ „CUBRID Performance Test Results”. CUBRID.org. Arhivat din original la . Accesat în .
- ^ „CUBRID Meaning”. CUBRID.org. . Arhivat din original la . Accesat în .
- ^ „CSQL - Command Line SQL Interpreter”. CUBRID.org. . Arhivat din original la . Accesat în .
- ^ „CUBRID WebQuery”. CUBRID.org. Arhivat din original la . Accesat în .
- ^ „How to simulate MySQL INSERT statement extensions”. Lukas Eder. . Accesat în .
- ^ „SOFA Statistics”. sofastatistics.com. . Accesat în .
- ^ „SIDU Incredibly Simple Intuitive Web Based SQL Client”. http://sidu.sourceforge.net. . Arhivat din original la . Accesat în . Legătură externa în
|publisher=
(ajutor) - ^ „ART Simple Yet Effective Open Source Reporting Tool”. art.sourceforge.net. . Accesat în .
- ^ „Run Your Own Whois Server With JWhoisServer”. Klaus Zerwes. . Arhivat din original la . Accesat în .
- ^ „RedBeanPHP Super Easy to Use PHP ORM”. redbeanphp.com. . Arhivat din original la . Accesat în .
- ^ „CUBRID Key Features”. CUBRID.org. Arhivat din original la . Accesat în .
- ^ „CUBRID 8.4.3 with DB Sharding and API level Load Balancing is here”. CUBRID Official Blog. . Arhivat din original la . Accesat în .
- ^ „New CUBRID 9.0.0”. CUBRID Official Blog. . Arhivat din original la . Accesat în .
- ^ „New CUBRID 8.4.1 is 70% faster”. CUBRID Official Blog. . Arhivat din original la . Accesat în .
- ^ „CUBRID 8.4.0 GA is now available for download”. CUBRID Official Blog. . Accesat în .
- ^ „CUBRID 8.4.0 has arrived w/ x2 faster database engine!”. CUBRID Official Blog. . Arhivat din original la . Accesat în .
- ^ „CUBRID 3.1 Downnloads”. CUBRID Web site. . Accesat în .
- ^ „CUBRID 3.1 Beta: New Data Types. New Functions”. CUBRID Official Blog. . Arhivat din original la . Accesat în .
- ^ „New CUBRID 2008 R3.0 Stable has been released”. CUBRID Co., Ltd. . Arhivat din original la . Accesat în .
- ^ „New CUBRID 2008 R3.0 Beta has been released”. CUBRID Co., Ltd. . Arhivat din original la . Accesat în .
- ^ „New Version Release - CUBRID 2008 R2.2”. CUBRID Co., Ltd. Arhivat din original la . Accesat în .
- ^ „Meet CUBRID: One of Korea's Top Open Source Projects”. Open Source Buzz. . Accesat în .